diff --git a/inject.js b/inject.js index 6d03232..a0b367d 100644 --- a/inject.js +++ b/inject.js @@ -1,20 +1,26 @@ -var html = document.getElementsByTagName('html')[0]; +if (document.cookie.indexOf('__ngDebug=true') != -1) { + bootstrapHint(); +} -var eventProxyElement = document.createElement('div'); -eventProxyElement.id = '__ngBatarangElement'; -eventProxyElement.style.display = 'none'; -html.appendChild(eventProxyElement); +function bootstrapHint () { + var html = document.getElementsByTagName('html')[0]; -// inject into the application context from the content script context + var eventProxyElement = document.createElement('div'); + eventProxyElement.id = '__ngBatarangElement'; + eventProxyElement.style.display = 'none'; + html.appendChild(eventProxyElement); -var script = window.document.createElement('script'); -script.src = chrome.extension.getURL('dist/hint.js'); + // inject into the application context from the content script context -eventProxyElement.addEventListener('batarangDataEvent', function () { - var eventData = eventProxyElement.innerText; - chrome.extension.sendMessage(eventData); -}); + var script = window.document.createElement('script'); + script.src = chrome.extension.getURL('dist/hint.js'); -html.setAttribute('ng-hint', ''); + eventProxyElement.addEventListener('batarangDataEvent', function () { + var eventData = eventProxyElement.innerText; + chrome.extension.sendMessage(eventData); + }); -html.appendChild(script); + html.setAttribute('ng-hint', ''); + + html.appendChild(script); +} diff --git a/panel/components/inspected-app/inspected-app.js b/panel/components/inspected-app/inspected-app.js index 087c920..0b49106 100644 --- a/panel/components/inspected-app/inspected-app.js +++ b/panel/components/inspected-app/inspected-app.js @@ -21,6 +21,14 @@ function inspectedAppService($rootScope) { return invokeAngularHintMethod('assign', scopeId, path, value); }; + this.enableInstrumentation = function (setting) { + setting = !!setting; + chrome.devtools.inspectedWindow.eval( + "window.document.cookie = '__ngDebug=" + setting + ";';" + + "window.document.location.reload();" + ); + }; + /* * sets window.$scope to the scope of the given id */ diff --git a/panel/components/tabs/tabs.html b/panel/components/tabs/tabs.html index 6913866..abddc76 100644 --- a/panel/components/tabs/tabs.html +++ b/panel/components/tabs/tabs.html @@ -8,6 +8,16 @@ sidebar" style="width: 200px;">