From 2e75000f404ec7810fac03420b2e2cf215baa69d Mon Sep 17 00:00:00 2001 From: Stephanie Ding Date: Wed, 11 Sep 2019 08:05:27 -0700 Subject: [PATCH] Removed done(), added some comments explaining the change --- .../react-devtools-extensions/src/injectGlobalHook.js | 6 +++++- packages/react-devtools-extensions/src/main.js | 10 +++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/react-devtools-extensions/src/injectGlobalHook.js b/packages/react-devtools-extensions/src/injectGlobalHook.js index 550e2f38512a..390084ead20d 100644 --- a/packages/react-devtools-extensions/src/injectGlobalHook.js +++ b/packages/react-devtools-extensions/src/injectGlobalHook.js @@ -31,8 +31,12 @@ window.addEventListener('message', function(evt) { reactBuildType: evt.data.reactBuildType, }; chrome.runtime.sendMessage(lastDetectionResult); + + // Inject the backend. This is done in the content script to avoid CSP + // and Trusted Types violations, since content scripts can modify the DOM + // and are not subject to the page's policies } else if (evt.data.source === 'react-devtools-inject-backend') { - //Inject the specified script + // the prototype stuff is in case document.createElement has been modified var script = document.constructor.prototype.createElement.call(document, 'script'); script.src = chrome.runtime.getURL('build/backend.js'); script.charset = "utf-8"; diff --git a/packages/react-devtools-extensions/src/main.js b/packages/react-devtools-extensions/src/main.js index d5ff4a40c268..7649d099f73c 100644 --- a/packages/react-devtools-extensions/src/main.js +++ b/packages/react-devtools-extensions/src/main.js @@ -138,14 +138,10 @@ function createPanelIfReactLoaded() { chrome.devtools.inspectedWindow.eval( `window.postMessage({ source: 'react-devtools-inject-backend' });`, function(response, error) { - if (error) { - console.log(error); - } - - if (typeof done === 'function') { - done(); + if (error) { + console.log(error); + } } - } ); const viewElementSourceFunction = createViewElementSource(