()
| 48 | const hookNamesModuleLoaderFunction = () => resolvedParseHookNames; |
| 49 | |
| 50 | function createBridge() { |
| 51 | bridge = new Bridge({ |
| 52 | listen(fn) { |
| 53 | const bridgeListener = message => fn(message); |
| 54 | // Store the reference so that we unsubscribe from the same object. |
| 55 | const portOnMessage = port.onMessage; |
| 56 | portOnMessage.addListener(bridgeListener); |
| 57 | |
| 58 | lastSubscribedBridgeListener = bridgeListener; |
| 59 | |
| 60 | return () => { |
| 61 | port?.onMessage.removeListener(bridgeListener); |
| 62 | lastSubscribedBridgeListener = null; |
| 63 | }; |
| 64 | }, |
| 65 | |
| 66 | send(event: string, payload: any, transferable?: Array<any>) { |
| 67 | port?.postMessage({event, payload}, transferable); |
| 68 | }, |
| 69 | }); |
| 70 | |
| 71 | bridge.addListener('reloadAppForProfiling', () => { |
| 72 | localStorageSetItem(LOCAL_STORAGE_SUPPORTS_PROFILING_KEY, 'true'); |
| 73 | chrome.devtools.inspectedWindow.eval('window.location.reload();'); |
| 74 | }); |
| 75 | |
| 76 | bridge.addListener( |
| 77 | 'syncSelectionToBuiltinElementsPanel', |
| 78 | setBrowserSelectionFromReact, |
| 79 | ); |
| 80 | |
| 81 | bridge.addListener('extensionBackendInitialized', () => { |
| 82 | // Initialize the renderer's trace-updates setting. |
| 83 | // This handles the case of navigating to a new page after the DevTools have already been shown. |
| 84 | bridge.send( |
| 85 | 'setTraceUpdatesEnabled', |
| 86 | localStorageGetItem(LOCAL_STORAGE_TRACE_UPDATES_ENABLED_KEY) === 'true', |
| 87 | ); |
| 88 | }); |
| 89 | |
| 90 | const sourcesPanel = chrome.devtools.panels.sources; |
| 91 | |
| 92 | const onBrowserElementSelectionChanged = () => |
| 93 | setReactSelectionFromBrowser(bridge); |
| 94 | const onBrowserSourceSelectionChanged = (location: { |
| 95 | url: string, |
| 96 | startLine: number, |
| 97 | startColumn: number, |
| 98 | endLine: number, |
| 99 | endColumn: number, |
| 100 | }) => { |
| 101 | if ( |
| 102 | currentSelectedSource === null || |
| 103 | currentSelectedSource.url !== location.url |
| 104 | ) { |
| 105 | currentSelectedSource = { |
| 106 | url: location.url, |
| 107 | selectionRef: { |
no test coverage detected