Skip to content

Commit 2b903da

Browse files
author
Brian Vaughn
authored
Make DevTools check document.contentType before injecting (#17739)
It should only inject the global hook into HTML documents. This will avoid breaking syntax highlighting for e.g. XML documents.
1 parent 0eac01a commit 2b903da

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

packages/react-devtools-extensions/src/injectGlobalHook.js

+11-5
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,14 @@ if (sessionStorageGetItem(SESSION_STORAGE_RELOAD_AND_PROFILE_KEY) === 'true') {
8686
injectCode(rendererCode);
8787
}
8888

89-
// Inject a `__REACT_DEVTOOLS_GLOBAL_HOOK__` global so that React can detect that the
90-
// devtools are installed (and skip its suggestion to install the devtools).
91-
injectCode(
92-
';(' + installHook.toString() + '(window))' + saveNativeValues + detectReact,
93-
);
89+
// Inject a __REACT_DEVTOOLS_GLOBAL_HOOK__ global for React to interact with.
90+
// Only do this for HTML documents though, to avoid e.g. breaking syntax highlighting for XML docs.
91+
if (document.contentType === 'text/html') {
92+
injectCode(
93+
';(' +
94+
installHook.toString() +
95+
'(window))' +
96+
saveNativeValues +
97+
detectReact,
98+
);
99+
}

0 commit comments

Comments
 (0)