SYMBOL INDEX (507 symbols across 47 files) FILE: interfacer/cmd/browsh/main.go function main (line 5) | func main() { FILE: interfacer/src/browsh/browsh.go function setupLogging (line 47) | func setupLogging() { function Initialise (line 63) | func Initialise() { function Shutdown (line 72) | func Shutdown(err error) { function Log (line 90) | func Log(message string) { function saveScreenshot (line 93) | func saveScreenshot(base64String string) { function Shell (line 118) | func Shell(command string) string { function TTYStart (line 136) | func TTYStart(injectedScreen tcell.Screen) { function toInt (line 152) | func toInt(char string) int { function toInt32 (line 160) | func toInt32(char string) int32 { function ttyEntry (line 168) | func ttyEntry() { function MainEntry (line 185) | func MainEntry() { FILE: interfacer/src/browsh/cells.go type cell (line 12) | type cell struct type threadSafeCellsMap (line 20) | type threadSafeCellsMap struct method load (line 31) | func (m *threadSafeCellsMap) load(key int) (value cell, ok bool) { method store (line 38) | func (m *threadSafeCellsMap) store(key int, value cell) { function newCellsMap (line 25) | func newCellsMap() *threadSafeCellsMap { FILE: interfacer/src/browsh/comms.go type incomingRawText (line 25) | type incomingRawText struct function startWebSocketServer (line 30) | func startWebSocketServer() { function sendMessageToWebExtension (line 40) | func sendMessageToWebExtension(message string) { function webSocketReader (line 50) | func webSocketReader(ws *websocket.Conn) { function handleWebextensionCommand (line 71) | func handleWebextensionCommand(message []byte) { function handleRawFrameTextCommands (line 97) | func handleRawFrameTextCommands(parts []string) { function triggerSocketWriterClose (line 123) | func triggerSocketWriterClose() { function webSocketWriter (line 128) | func webSocketWriter(ws *websocket.Conn) { function webSocketServer (line 145) | func webSocketServer(w http.ResponseWriter, r *http.Request) { function sendConfigToWebExtension (line 173) | func sendConfigToWebExtension() { FILE: interfacer/src/browsh/config.go function getConfigNamespace (line 31) | func getConfigNamespace() string { function getConfigDir (line 39) | func getConfigDir() string { function ensureConfigFile (line 52) | func ensureConfigFile(path string) { function getFirefoxProfilePath (line 68) | func getFirefoxProfilePath() string { function setDefaults (line 75) | func setDefaults() { function loadConfig (line 80) | func loadConfig() { FILE: interfacer/src/browsh/firefox.go function startHeadlessFirefox (line 62) | func startHeadlessFirefox() { function checkIfFirefoxIsAlreadyRunning (line 95) | func checkIfFirefoxIsAlreadyRunning() { function ensureFirefoxBinary (line 106) | func ensureFirefoxBinary() string { function versionOrdinal (line 129) | func versionOrdinal(version string) string { function startWERFirefox (line 161) | func startWERFirefox() { function firefoxMarionette (line 207) | func firefoxMarionette() { function installWebextension (line 237) | func installWebextension() { function setFFPreference (line 252) | func setFFPreference(key string, value string) { function readMarionette (line 267) | func readMarionette() { function sendFirefoxCommand (line 277) | func sendFirefoxCommand(command string, args map[string]interface{}) { function setDefaultFirefoxPreferences (line 287) | func setDefaultFirefoxPreferences() { function beginTimeLimit (line 297) | func beginTimeLimit() { function setupFirefox (line 308) | func setupFirefox() { function StartFirefox (line 324) | func StartFirefox() { function quitFirefox (line 340) | func quitFirefox() { FILE: interfacer/src/browsh/firefox_unix.go function getFirefoxPath (line 11) | func getFirefoxPath() string { function ensureFirefoxVersion (line 15) | func ensureFirefoxVersion(path string) { FILE: interfacer/src/browsh/firefox_windows.go function getFirefoxPath (line 14) | func getFirefoxPath() string { function getWindowsFirefoxVersionString (line 35) | func getWindowsFirefoxVersionString() string { function getFirefoxFlavor (line 57) | func getFirefoxFlavor() string { function ensureFirefoxVersion (line 99) | func ensureFirefoxVersion(path string) { FILE: interfacer/src/browsh/frame_builder.go type frame (line 14) | type frame struct method domRowCount (line 67) | func (f *frame) domRowCount() int { method subRowCount (line 71) | func (f *frame) subRowCount() int { method buildFrameText (line 90) | func (f *frame) buildFrameText(incoming incomingFrameText) { method buildFramePixels (line 115) | func (f *frame) buildFramePixels(incoming incomingFramePixels) { method setup (line 123) | func (f *frame) setup(meta jsonFrameBase) { method resetCells (line 139) | func (f *frame) resetCells() { method isIncomingFrameTextValid (line 143) | func (f *frame) isIncomingFrameTextValid(incoming incomingFrameText) b... method updateInputBoxes (line 152) | func (f *frame) updateInputBoxes(incoming incomingFrameText) { method populateFrameText (line 175) | func (f *frame) populateFrameText(incoming incomingFrameText) { method populateFramePixels (line 197) | func (f *frame) populateFramePixels(incoming incomingFramePixels) { method isIncomingFramePixelsValid (line 228) | func (f *frame) isIncomingFramePixelsValid(incoming incomingFramePixel... method buildCell (line 241) | func (f *frame) buildCell(x int, y int) { method getCharacterAt (line 252) | func (f *frame) getCharacterAt(index int) ([]rune, tcell.Color) { method getPixelColoursAt (line 265) | func (f *frame) getPixelColoursAt(index int) (tcell.Color, tcell.Color) { method addCell (line 281) | func (f *frame) addCell(index int, fgColour, bgColour tcell.Color, cha... method getCellIndexFromSubCoords (line 294) | func (f *frame) getCellIndexFromSubCoords(x, y int) int { method limitScroll (line 299) | func (f *frame) limitScroll(height int) { method maybeFocusInputBox (line 309) | func (f *frame) maybeFocusInputBox(x, y int) { method overlayInputBoxContent (line 325) | func (f *frame) overlayInputBoxContent() { type jsonFrameBase (line 44) | type jsonFrameBase struct type incomingFrameText (line 54) | type incomingFrameText struct type incomingFramePixels (line 62) | type incomingFramePixels struct function parseJSONFrameText (line 75) | func parseJSONFrameText(jsonString string) { function parseJSONFramePixels (line 99) | func parseJSONFramePixels(jsonString string) { function isCharacterTransparent (line 277) | func isCharacterTransparent(character []rune) bool { FILE: interfacer/src/browsh/frame_builder_test.go function TestFrameBuilder (line 11) | func TestFrameBuilder(t *testing.T) { function testGetCell (line 17) | func testGetCell(index int) cell { function testGetCellChar (line 22) | func testGetCellChar(index int) string { function debugCells (line 27) | func debugCells() { FILE: interfacer/src/browsh/input_box.go type inputBox (line 20) | type inputBox struct method renderURLBox (line 52) | func (i *inputBox) renderURLBox() { method setCells (line 67) | func (i *inputBox) setCells() { method resetCells (line 99) | func (i *inputBox) resetCells() { method addCharacterToFrame (line 107) | func (i *inputBox) addCharacterToFrame(x int, y int, c rune) { method isMultiLine (line 131) | func (i *inputBox) isMultiLine() bool { method textToDisplay (line 138) | func (i *inputBox) textToDisplay() []rune { method textToDisplayForSingleLine (line 145) | func (i *inputBox) textToDisplayForSingleLine() []rune { method lineCount (line 160) | func (i *inputBox) lineCount() int { method sendInputBoxToBrowser (line 168) | func (i *inputBox) sendInputBoxToBrowser() { method handleEnterKey (line 177) | func (i *inputBox) handleEnterKey(modifier tcell.ModMask) { method selectionOff (line 198) | func (i *inputBox) selectionOff() { method selectAll (line 203) | func (i *inputBox) selectAll() { method removeSelectedText (line 208) | func (i *inputBox) removeSelectedText() { function newInputBox (line 42) | func newInputBox(id string) *inputBox { function isLineBreak (line 164) | func isLineBreak(character string) bool { function handleInputBoxInput (line 220) | func handleInputBoxInput(ev *tcell.EventKey) { FILE: interfacer/src/browsh/input_cursor.go method renderCursor (line 3) | func (i *inputBox) renderCursor() { method isSelection (line 14) | func (i *inputBox) isSelection() bool { method renderSingleCursor (line 18) | func (i *inputBox) renderSingleCursor() { method renderSelectionCursor (line 23) | func (i *inputBox) renderSelectionCursor() { method getCoordsOfCursor (line 34) | func (i *inputBox) getCoordsOfCursor() (int, int) { method getCoordsOfIndex (line 44) | func (i *inputBox) getCoordsOfIndex(index int) (int, int) { method cursorLeft (line 56) | func (i *inputBox) cursorLeft() { method cursorRight (line 62) | func (i *inputBox) cursorRight() { method cursorUp (line 68) | func (i *inputBox) cursorUp() { method cursorDown (line 73) | func (i *inputBox) cursorDown() { method cursorBackspace (line 78) | func (i *inputBox) cursorBackspace() { method cursorInsertRune (line 92) | func (i *inputBox) cursorInsertRune(theRune rune) { method isCursorOverRightEdge (line 101) | func (i *inputBox) isCursorOverRightEdge() bool { method isCursorOverLeftEdge (line 105) | func (i *inputBox) isCursorOverLeftEdge() bool { method isCursorOverTopEdge (line 109) | func (i *inputBox) isCursorOverTopEdge() bool { method isCursorOverBottomEdge (line 113) | func (i *inputBox) isCursorOverBottomEdge() bool { method putCursorAtEnd (line 117) | func (i *inputBox) putCursorAtEnd() { method updateAllCursors (line 122) | func (i *inputBox) updateAllCursors() { method limitTextCursor (line 140) | func (i *inputBox) limitTextCursor() { method updateXYCursors (line 149) | func (i *inputBox) updateXYCursors() { FILE: interfacer/src/browsh/input_multiline.go type multiLine (line 9) | type multiLine struct method convert (line 20) | func (m *multiLine) convert() []rune { method reset (line 43) | func (m *multiLine) reset() { method isInsideWord (line 52) | func (m *multiLine) isInsideWord() bool { method isPreviousCharacterWhitespace (line 56) | func (m *multiLine) isPreviousCharacterWhitespace() bool { method isCurrentCharacterWhitespace (line 68) | func (m *multiLine) isCurrentCharacterWhitespace() bool { method isWordishReady (line 75) | func (m *multiLine) isWordishReady() bool { method isNaturalWordEnding (line 79) | func (m *multiLine) isNaturalWordEnding() bool { method isForcedWordEnding (line 83) | func (m *multiLine) isForcedWordEnding() bool { method isCurrentWordishFillingLine (line 87) | func (m *multiLine) isCurrentWordishFillingLine() bool { method currentWordishLength (line 91) | func (m *multiLine) currentWordishLength() int { method currentLineLength (line 95) | func (m *multiLine) currentLineLength() int { method isProjectedLineFull (line 99) | func (m *multiLine) isProjectedLineFull() bool { method addWordish (line 103) | func (m *multiLine) addWordish() { method addLineWithTruncatedWordish (line 115) | func (m *multiLine) addLineWithTruncatedWordish() { method addLineButWrapWord (line 121) | func (m *multiLine) addLineButWrapWord() { method noteUserAddedLineIndex (line 128) | func (m *multiLine) noteUserAddedLineIndex() { method appendWordToLine (line 132) | func (m *multiLine) appendWordToLine() { method addLine (line 137) | func (m *multiLine) addLine() { method addWhitespace (line 142) | func (m *multiLine) addWhitespace() { method isNaturalLineBreak (line 151) | func (m *multiLine) isNaturalLineBreak() bool { method isFinalCharacter (line 155) | func (m *multiLine) isFinalCharacter() bool { method lineCount (line 159) | func (m *multiLine) lineCount() int { method finish (line 163) | func (m *multiLine) finish() { method updateCursor (line 167) | func (m *multiLine) updateCursor() { method moveYCursorBy (line 189) | func (m *multiLine) moveYCursorBy(magnitude int) { method convertXYCursorToTextCursor (line 216) | func (m *multiLine) convertXYCursorToTextCursor() { method isUserAddedLine (line 229) | func (m *multiLine) isUserAddedLine(index int) bool { FILE: interfacer/src/browsh/input_multiline_test.go function TestMultiLineTextBuilder (line 11) | func TestMultiLineTextBuilder(t *testing.T) { function toMulti (line 17) | func toMulti(text string, width int) string { function visualiseWhitespace (line 28) | func visualiseWhitespace(text string) string { function showWhitespace (line 34) | func showWhitespace(textArray []string) string { FILE: interfacer/src/browsh/input_scroll.go method xScrollBy (line 3) | func (i *inputBox) xScrollBy(magnitude int) { method yScrollBy (line 10) | func (i *inputBox) yScrollBy(magnitude int) { method handleSingleLineScroll (line 17) | func (i *inputBox) handleSingleLineScroll(magnitude int) { method isCursorAtEdgeOfBox (line 32) | func (i *inputBox) isCursorAtEdgeOfBox(detectionBoxWidth int) bool { method isBestFit (line 38) | func (i *inputBox) isBestFit() bool { method limitScroll (line 45) | func (i *inputBox) limitScroll() { FILE: interfacer/src/browsh/raw_text_server.go type threadSafeRequestsMap (line 27) | type threadSafeRequestsMap struct method load (line 38) | func (m *threadSafeRequestsMap) load(key string) (value string, ok boo... method store (line 45) | func (m *threadSafeRequestsMap) store(key string, value string) { method remove (line 51) | func (m *threadSafeRequestsMap) remove(key string) { function newRequestsMap (line 32) | func newRequestsMap() *threadSafeRequestsMap { type rawTextResponse (line 57) | type rawTextResponse struct function HTTPServerStart (line 69) | func HTTPServerStart() { function setupRateLimiter (line 85) | func setupRateLimiter() *stdlib.Middleware { function pseudoUUID (line 96) | func pseudoUUID() (uuid string) { type slashFix (line 107) | type slashFix struct method ServeHTTP (line 116) | func (h *slashFix) ServeHTTP(w http.ResponseWriter, r *http.Request) { function handleHTTPServerRequest (line 121) | func handleHTTPServerRequest(w http.ResponseWriter, r *http.Request) { function deRecurseURL (line 182) | func deRecurseURL(urlForBrowsh string) (string, bool) { function isDisallowedDomain (line 193) | func isDisallowedDomain(urlForBrowsh string) bool { function isDisallowedUserAgent (line 203) | func isDisallowedUserAgent(userAgent string) bool { function isKubeReadinessProbe (line 213) | func isKubeReadinessProbe(userAgent string) bool { function isProductionHTTP (line 221) | func isProductionHTTP(r *http.Request) bool { function getRawTextMode (line 231) | func getRawTextMode(r *http.Request) string { function waitForResponse (line 245) | func waitForResponse(rawTextRequestID string, w http.ResponseWriter) { function sendResponse (line 267) | func sendResponse(response, rawTextRequestID string, w http.ResponseWrit... function unpackResponse (line 279) | func unpackResponse(jsonString string) rawTextResponse { function getTotalTiming (line 287) | func getTotalTiming(startString string) string { FILE: interfacer/src/browsh/raw_text_server_test.go function TestRawTextServer (line 10) | func TestRawTextServer(t *testing.T) { FILE: interfacer/src/browsh/tab.go type tab (line 22) | type tab struct method handleStateChange (line 153) | func (t *tab) handleStateChange(incoming *tab) { function ResetTabs (line 32) | func ResetTabs() { function ensureTabExists (line 39) | func ensureTabExists(id int) { function isTabPresent (line 48) | func isTabPresent(id int) bool { function newTab (line 53) | func newTab(id int) { function removeTab (line 64) | func removeTab(id int) { function removeTabIDfromTabsOrder (line 79) | func removeTabIDfromTabsOrder(id int) { function createNewEmptyTab (line 91) | func createNewEmptyTab() { function isNewEmptyTabActive (line 107) | func isNewEmptyTabActive() bool { function nextTab (line 111) | func nextTab() { function isTabPreviouslyDeleted (line 128) | func isTabPreviouslyDeleted(id int) bool { function parseJSONTabState (line 137) | func parseJSONTabState(jsonString string) { FILE: interfacer/src/browsh/tty.go function setupTcell (line 23) | func setupTcell() { function sendTtySize (line 34) | func sendTtySize() { function readStdin (line 42) | func readStdin() { function handleUserKeyPress (line 56) | func handleUserKeyPress(ev *tcell.EventKey) { function isKey (line 101) | func isKey(userKey string, ev *tcell.EventKey) bool { function quitBrowsh (line 111) | func quitBrowsh() { function toggleMonochromeMode (line 118) | func toggleMonochromeMode() { function openHelpTab (line 122) | func openHelpTab() { function forwardKeyPress (line 126) | func forwardKeyPress(ev *tcell.EventKey) { function isMultiLineEnter (line 141) | func isMultiLineEnter(ev *tcell.EventKey) bool { function handleScrolling (line 148) | func handleScrolling(ev *tcell.EventKey) { function handleMouseEvent (line 175) | func handleMouseEvent(ev *tcell.EventMouse) { function handleMouseScroll (line 199) | func handleMouseScroll(scrollType tcell.ButtonMask) { function handleTTYResize (line 219) | func handleTTYResize() { function renderCurrentTabWindow (line 230) | func renderCurrentTabWindow() { function getCell (line 268) | func getCell(x, y int) cell { function getHatchedCellColours (line 284) | func getHatchedCellColours(x int) (tcell.Color, tcell.Color) { FILE: interfacer/src/browsh/ui.go function renderUI (line 20) | func renderUI() { function writeString (line 28) | func writeString(x, y int, str string, style tcell.Style) { function fillLineToEnd (line 45) | func fillLineToEnd(x, y int) { function renderTabs (line 52) | func renderTabs() { function renderURLBar (line 75) | func renderURLBar() { function urlBarFocusToggle (line 88) | func urlBarFocusToggle() { function urlBarFocus (line 96) | func urlBarFocus(on bool) { function overlayPageStatusMessage (line 111) | func overlayPageStatusMessage() { function overlayCallToSupport (line 116) | func overlayCallToSupport() { function reverseCellColour (line 131) | func reverseCellColour(x, y int) { FILE: interfacer/src/browsh/unit_test.go function TestBrowshUnits (line 10) | func TestBrowshUnits(t *testing.T) { FILE: interfacer/test/http-server/server_test.go function TestHTTPServer (line 13) | func TestHTTPServer(t *testing.T) { FILE: interfacer/test/http-server/setup.go function startStaticFileServer (line 20) | func startStaticFileServer() { function initBrowsh (line 26) | func initBrowsh() { function waitUntilConnectedToWebExtension (line 32) | func waitUntilConnectedToWebExtension(maxTime time.Duration) { function getBrowshServiceBase (line 43) | func getBrowshServiceBase() string { function getPath (line 47) | func getPath(path string, mode string) string { function stopFirefox (line 73) | func stopFirefox() { FILE: interfacer/test/tty/matchers.go function BeInFrameAt (line 12) | func BeInFrameAt(x, y int) gomegaTypes.GomegaMatcher { type textInFrameMatcher (line 20) | type textInFrameMatcher struct method Match (line 26) | func (matcher *textInFrameMatcher) Match(actual interface{}) (success ... method FailureMessage (line 39) | func (matcher *textInFrameMatcher) FailureMessage(text interface{}) (m... method NegatedFailureMessage (line 43) | func (matcher *textInFrameMatcher) NegatedFailureMessage(text interfac... FILE: interfacer/test/tty/setup.go function init (line 33) | func init() { function initTerm (line 49) | func initTerm() { function GetFrame (line 58) | func GetFrame() string { function triggerUserKeyFor (line 81) | func triggerUserKeyFor(name string) { function SpecialKey (line 90) | func SpecialKey(key tcell.Key) { function Keyboard (line 96) | func Keyboard(keys string) { function SpecialMouse (line 105) | func SpecialMouse(mouse tcell.ButtonMask) { function waitForNextFrame (line 110) | func waitForNextFrame() { function WaitForText (line 117) | func WaitForText(text string, x, y int) { function WaitForPageLoad (line 131) | func WaitForPageLoad() { function sleepUntilPageLoad (line 135) | func sleepUntilPageLoad(maxTime time.Duration) { function GotoURL (line 151) | func GotoURL(url string) { function mouseClick (line 167) | func mouseClick(x, y int) { function elementColourForTTY (line 172) | func elementColourForTTY(element tcell.SimCell) string { function GetText (line 183) | func GetText(x, y, length int) string { function GetFgColour (line 199) | func GetFgColour(x, y int) [3]int32 { function GetBgColour (line 210) | func GetBgColour(x, y int) [3]int32 { function ensureOnlyOneTab (line 220) | func ensureOnlyOneTab() { function startStaticFileServer (line 226) | func startStaticFileServer() { function initBrowsh (line 232) | func initBrowsh() { function stopFirefox (line 238) | func stopFirefox() { function runeCount (line 245) | func runeCount(text string) int { FILE: interfacer/test/tty/tty_test.go function TestIntegration (line 11) | func TestIntegration(t *testing.T) { FILE: webext/contrib/font_maker.py function generate (line 7) | def generate(name, block): FILE: webext/src/background/common_mixin.js method sendToCurrentTab (line 7) | sendToCurrentTab(message) { method sendToTerminal (line 15) | sendToTerminal(message) { method log (line 24) | log(...messages) { method currentTab (line 36) | currentTab() { FILE: webext/src/background/dimensions.js method constructor (line 7) | constructor() { method postConfigSetup (line 21) | postConfigSetup(config) { method setCharValues (line 26) | setCharValues(incoming) { method _setRawTextTTYSize (line 46) | _setRawTextTTYSize() { method resizeBrowserWindow (line 53) | resizeBrowserWindow() { method _sendWindowResizeRequest (line 89) | _sendWindowResizeRequest(active_window, width, height) { FILE: webext/src/background/manager.js method constructor (line 12) | constructor() { method _connectToTerminal (line 39) | _connectToTerminal() { method _reconnectToTerminal (line 55) | _reconnectToTerminal() { method _listenForTerminalMessages (line 66) | _listenForTerminalMessages() { method _connectToBrowserDOM (line 74) | _connectToBrowserDOM() { method _initialDOMConnection (line 82) | _initialDOMConnection() { method _reconnectToDOM (line 89) | _reconnectToDOM() { method _listenForNewTab (line 104) | _listenForNewTab() { method _listenForTabUpdates (line 112) | _listenForTabUpdates() { method _maybeNewTab (line 121) | _maybeNewTab(tabish_object) { method _handleTabUpdate (line 130) | _handleTabUpdate(_tab_id, changes, native_tab_object) { method _newTabHandler (line 143) | _newTabHandler(_request, sender, sendResponse) { method _acknowledgeNewTab (line 152) | _acknowledgeNewTab(native_tab_object) { method _applyUpdates (line 158) | _applyUpdates(tabish_object) { method _listenForTabChannelOpen (line 182) | _listenForTabChannelOpen() { method _tabChannelOpenHandler (line 188) | _tabChannelOpenHandler(channel) { method _listenForFocussedTab (line 200) | _listenForFocussedTab() { method _focussedTabHandler (line 204) | _focussedTabHandler(tab) { method _getTabsOnSuccess (line 209) | _getTabsOnSuccess(windowInfoArray, callback) { method _getTabsOnError (line 217) | _getTabsOnError(error) { method _pollAllTabs (line 221) | _pollAllTabs(callback) { method _initialWindowResize (line 236) | _initialWindowResize() { method _startFrameRequestLoop (line 249) | _startFrameRequestLoop() { method _isAbleToRequestFrame (line 263) | _isAbleToRequestFrame() { method _addWebRequestListener (line 285) | _addWebRequestListener() { FILE: webext/src/background/tab.js method constructor (line 7) | constructor() { method postDOMLoadInit (line 17) | postDOMLoadInit(terminal, dimensions) { method postConnectionInit (line 23) | postConnectionInit(channel, config) { method _calculateMode (line 30) | _calculateMode() { method isConnected (line 36) | isConnected() { method reload (line 40) | reload() { method remove (line 48) | remove() { method updateStatus (line 56) | updateStatus(status, message = "") { method getStateObject (line 76) | getStateObject() { method sendStateToTerminal (line 88) | sendStateToTerminal() { method ensureConnectionToBackground (line 98) | ensureConnectionToBackground() { method sendGlobalConfig (line 116) | sendGlobalConfig(config) { method _listenForMessages (line 128) | _listenForMessages() { method _sendTTYDimensions (line 132) | _sendTTYDimensions() { method _isItOKToRetryReload (line 138) | _isItOKToRetryReload() { method _closeUnwantedStartupTabs (line 147) | _closeUnwantedStartupTabs() { FILE: webext/src/background/tab_commands_mixin.js method handleTabMessage (line 9) | handleTabMessage(message) { method _updateTabInfo (line 43) | _updateTabInfo(incoming) { method _rawTextRequest (line 49) | _rawTextRequest(incoming) { method _tabCount (line 67) | _tabCount(callback) { method _getAllTabs (line 73) | _getAllTabs(callback) { FILE: webext/src/background/tty_commands_mixin.js method handleTerminalMessage (line 6) | handleTerminalMessage(message) { method _loadConfig (line 41) | _loadConfig(json_string) { method _setupRawTextMode (line 52) | _setupRawTextMode() { method _updateTTYSize (line 63) | _updateTTYSize(width, height) { method _handleUICommand (line 78) | _handleUICommand(parts) { method _handleURLBarInput (line 102) | _handleURLBarInput(input) { method _getURLfromUserInput (line 108) | _getURLfromUserInput(input) { method createNewTab (line 127) | createNewTab(url, callback) { method gotoURL (line 145) | gotoURL(url) { method switchToTab (line 159) | switchToTab(id) { method removeTab (line 173) | removeTab(id) { method screenshotActiveTab (line 180) | screenshotActiveTab() { method _saveScreenshot (line 189) | _saveScreenshot(imageUri) { method _rawTextRequest (line 194) | _rawTextRequest(request_id, mode, url) { method toggleUserAgent (line 212) | toggleUserAgent() { method _addUserAgentListener (line 221) | _addUserAgentListener() { FILE: webext/src/dom/commands_mixin.js method _handleBackgroundMessage (line 5) | _handleBackgroundMessage(message) { method _launch (line 51) | _launch() { method _loadConfig (line 66) | _loadConfig(config) { method _handleUserInput (line 72) | _handleUserInput(input) { method _handleSpecialKeys (line 78) | _handleSpecialKeys(input) { method _handleCharBasedKeys (line 97) | _handleCharBasedKeys(input) { method _handleInputBoxContent (line 104) | _handleInputBoxContent(input) { method _handleMouse (line 119) | _handleMouse(input) { method _handleTTYSize (line 142) | _handleTTYSize(x, y) { method _handleScroll (line 151) | _handleScroll(x, y) { method _triggerKeyPress (line 162) | _triggerKeyPress(key) { method _mouseAction (line 189) | _mouseAction(type, x, y) { method _getDOMCoordsFromMouseCoords (line 224) | _getDOMCoordsFromMouseCoords(x, y) { method _sendTabInfo (line 248) | _sendTabInfo() { method _mightSendBigFrames (line 257) | _mightSendBigFrames() { FILE: webext/src/dom/common_mixin.js method constructor (line 3) | constructor() { method sendMessage (line 8) | sendMessage(message) { method log (line 15) | log(...messages) { method logPerformance (line 23) | logPerformance(work, reference) { method logError (line 33) | logError(error) { method firstFrameLog (line 41) | firstFrameLog(...logs) { FILE: webext/src/dom/dimensions.js method constructor (line 7) | constructor() { method update (line 49) | update() { method setSubFrameDimensions (line 57) | setSubFrameDimensions(size) { method getFrameMeta (line 71) | getFrameMeta() { method _calculateSmallSubFrame (line 84) | _calculateSmallSubFrame() { method _calculateBigSubFrame (line 97) | _calculateBigSubFrame() { method _calculateEntireDOMFrames (line 112) | _calculateEntireDOMFrames() { method _limitSubFrameDimensions (line 135) | _limitSubFrameDimensions() { method _scaleSubFrameToSubDOM (line 150) | _scaleSubFrameToSubDOM() { method _calculateCharacterDimensions (line 169) | _calculateCharacterDimensions() { method _getOrCreateMeasuringBox (line 192) | _getOrCreateMeasuringBox() { method findMeasuringBox (line 204) | findMeasuringBox() { method _updateDOMDimensions (line 208) | _updateDOMDimensions() { method _calculateDOMDimensions (line 221) | _calculateDOMDimensions() { method _updateFrameDimensions (line 234) | _updateFrameDimensions() { method _calculateScaleFactor (line 255) | _calculateScaleFactor() { method _notifyBackground (line 263) | _notifyBackground() { FILE: webext/src/dom/graphics_builder.js method constructor (line 10) | constructor(channel, dimensions, config) { method sendFrame (line 22) | sendFrame() { method getUnscaledFGPixelAt (line 28) | getUnscaledFGPixelAt(x, y) { method getUnscaledBGPixelAt (line 43) | getUnscaledBGPixelAt(x, y) { method getScreenshotWithText (line 57) | getScreenshotWithText(callback) { method getScreenshotWithoutText (line 63) | getScreenshotWithoutText() { method getOnOffScreenshots (line 69) | getOnOffScreenshots(callback) { method _getScreenshotWithoutText (line 74) | _getScreenshotWithoutText() { method _getScreenshotWithText (line 79) | _getScreenshotWithText(callback) { method _getScreenshotWithTextDelayable (line 101) | _getScreenshotWithTextDelayable(callback) { method _getScaledScreenshot (line 107) | _getScaledScreenshot() { method _convertDOMCoordsToRelative (line 118) | _convertDOMCoordsToRelative(x, y) { method _getScaledPixelAt (line 137) | _getScaledPixelAt(x, y) { method __getScaledScreenshot (line 147) | __getScaledScreenshot() { method hideText (line 153) | hideText() { method showText (line 158) | showText() { method _getScreenshot (line 163) | _getScreenshot() { method _scaleCanvas (line 168) | _scaleCanvas() { method _unScaleCanvas (line 177) | _unScaleCanvas() { method _updateCanvasSize (line 182) | _updateCanvasSize() { method _getPixelData (line 190) | _getPixelData() { method _getScaledDataURI (line 216) | _getScaledDataURI() { method _sendFrame (line 227) | _sendFrame() { method _serialiseFrame (line 236) | _serialiseFrame() { method _setupFrameMeta (line 248) | _setupFrameMeta() { FILE: webext/src/dom/manager.js method constructor (line 13) | constructor() { method _postSetupConstructor (line 27) | _postSetupConstructor() { method _willHideText (line 43) | _willHideText() { method sendFrame (line 51) | sendFrame() { method sendAllBigFrames (line 64) | sendAllBigFrames() { method sendRawText (line 82) | sendRawText() { method sendSmallPixelFrame (line 92) | sendSmallPixelFrame() { method sendSmallTextFrame (line 105) | sendSmallTextFrame() { method _postCommsInit (line 118) | _postCommsInit() { method _setupInteractiveMode (line 129) | _setupInteractiveMode() { method _setupDebouncedFunctions (line 142) | _setupDebouncedFunctions() { method _setupInit (line 148) | _setupInit() { method _isWindowAlreadyLoaded (line 156) | _isWindowAlreadyLoaded() { method _init (line 163) | _init(delay = 0) { method _registerWithBackground (line 169) | _registerWithBackground() { method _registrationSuccess (line 177) | _registrationSuccess(registered) { method _registrationError (line 186) | _registrationError(error) { method _startWindowEventListeners (line 190) | _startWindowEventListeners() { method _startMutationObserver (line 210) | _startMutationObserver() { method _listenForBackgroundMessages (line 225) | _listenForBackgroundMessages() { method _fixStickyElements (line 244) | _fixStickyElements() { method _injectCustomCSS (line 256) | _injectCustomCSS() { FILE: webext/src/dom/serialise_mixin.js method __serialiseFrame (line 5) | __serialiseFrame() { method _serialiseRawText (line 30) | _serialiseRawText() { method _wrap (line 47) | _wrap(raw_text) { method userHasShownSupport (line 58) | userHasShownSupport() { method _byBrowsh (line 64) | _byBrowsh() { method _getUserFooter (line 76) | _getUserFooter() { method _getUserHeader (line 80) | _getUserHeader() { method _getMetaData (line 84) | _getMetaData() { method _getDonateCall (line 98) | _getDonateCall() { method _getFooter (line 114) | _getFooter() { method _getHTMLHead (line 132) | _getHTMLHead() { method _getFavicon (line 176) | _getFavicon() { method _markParsingDuration (line 185) | _markParsingDuration() { method _getCurrentDataTime (line 189) | _getCurrentDataTime() { method _getAllInputBoxes (line 221) | _getAllInputBoxes() { method _ensureBrowshID (line 274) | _ensureBrowshID(element) { method _isUnwantedInboxBox (line 280) | _isUnwantedInboxBox(input_box, styles) { method _sendRawText (line 288) | _sendRawText() { method _sendFrame (line 306) | _sendFrame() { method _addCell (line 315) | _addCell(x, y, right) { method _addCellAsHTML (line 328) | _addCellAsHTML() { method _addHTMLForNonExistentCell (line 347) | _addHTMLForNonExistentCell() { method _handleCellOutsideAnchor (line 355) | _handleCellOutsideAnchor() { method _handleCellInsideAnchor (line 364) | _handleCellInsideAnchor() { method _openAnchorTag (line 380) | _openAnchorTag() { method _closeAnchorTag (line 385) | _closeAnchorTag() { method _addCellAsPlainText (line 390) | _addCellAsPlainText() { method _setupFrameMeta (line 397) | _setupFrameMeta() { method _serialiseInputBoxes (line 406) | _serialiseInputBoxes() { FILE: webext/src/dom/text_builder.js method constructor (line 12) | constructor(channel, dimensions, graphics_builder, config) { method sendFrame (line 26) | sendFrame() { method sendRawText (line 30) | sendRawText(type) { method buildFormattedText (line 42) | buildFormattedText(callback) { method _updateState (line 52) | _updateState() { method _getTextNodes (line 60) | _getTextNodes() { method _positionTextNodes (line 67) | _positionTextNodes() { method _serialiseFrame (line 73) | _serialiseFrame() { method __getTextNodes (line 80) | __getTextNodes() { method _isRelevantTextNode (line 96) | _isRelevantTextNode(node) { method _convertSubFrameToViewportCoords (line 112) | _convertSubFrameToViewportCoords() { method _isDOMRectInSubFrame (line 127) | _isDOMRectInSubFrame(dom_rect) { method __positionTextNodes (line 143) | __positionTextNodes() { method _formatText (line 153) | _formatText() { method _fixJustifiedText (line 171) | _fixJustifiedText() { method _normaliseWhitespace (line 188) | _normaliseWhitespace() { method _isFirstParseInElement (line 216) | _isFirstParseInElement() { method _positionSingleTextNode (line 236) | _positionSingleTextNode() { method _getNodeDOMBoxes (line 257) | _getNodeDOMBoxes() { method _handleSingleDOMBox (line 274) | _handleSingleDOMBox() { method _prepareToParseDOMBox (line 282) | _prepareToParseDOMBox() { method _setCurrentCharacter (line 291) | _setCurrentCharacter() { method _createTrackers (line 299) | _createTrackers() { method _handleSingleCharacter (line 310) | _handleSingleCharacter() { method _stepToNextCharacter (line 319) | _stepToNextCharacter(tracked = true) { method _ignoreUnrenderedWhitespace (line 334) | _ignoreUnrenderedWhitespace() { method _isNewLine (line 341) | _isNewLine() { method _convertDOMRectToAbsoluteCoords (line 349) | _convertDOMRectToAbsoluteCoords(dom_rect) { method _createSyncedTTYBox (line 361) | _createSyncedTTYBox() { method _addClientRectsOverlay (line 379) | _addClientRectsOverlay(dom_rects, normalised_text) { FILE: webext/src/dom/tty_cell.js method isHighestLayer (line 8) | isHighestLayer() { FILE: webext/src/dom/tty_grid.js method constructor (line 5) | constructor(dimensions, graphics_builder, config) { method getCell (line 12) | getCell(index) { method getCellAt (line 16) | getCellAt(x, y) { method addCell (line 20) | addCell(new_cell) { method _isNewCellAtHighestLayer (line 29) | _isNewCellAtHighestLayer(new_cell) { method _handleCellVisibility (line 37) | _handleCellVisibility(new_cell) { method _calculateIndex (line 46) | _calculateIndex(cell) { method _getColours (line 52) | _getColours(cell) { method _setMiddleOfEm (line 78) | _setMiddleOfEm() { method _isCharObscured (line 101) | _isCharObscured(colours) { FILE: webext/test/fixtures/canvas_pixels.js class CanvasPixels (line 14) | class CanvasPixels { method constructor (line 15) | constructor(dimensions) { method with_text (line 24) | with_text() { method _getIndexValue (line 44) | _getIndexValue(i) { method _checkForCharacter (line 50) | _checkForCharacter(x, y) { method _isNullOrWhiteSpace (line 58) | _isNullOrWhiteSpace(str) { method without_text (line 64) | without_text() { method scaled (line 75) | scaled() { FILE: webext/test/fixtures/text_nodes.js class TextNodes (line 2) | class TextNodes { method constructor (line 3) | constructor() { method build (line 12) | build() { method boundingBox (line 28) | boundingBox() { method addDomRect (line 39) | addDomRect(line) { FILE: webext/test/helper.js function _setupMockDOMSize (line 95) | function _setupMockDOMSize() { function _setupDimensions (line 104) | function _setupDimensions() { function _setupGraphicsBuilder (line 116) | function _setupGraphicsBuilder(type) { FILE: webext/test/mocks/range.js class MockRange (line 1) | class MockRange { method selectNode (line 2) | selectNode(node) { method getBoundingClientRect (line 5) | getBoundingClientRect() { method getClientRects (line 8) | getClientRects() { FILE: webext/webpack.config.js method transform (line 50) | transform(manifest, _) {