title: Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url "data:text/html,chromewebdata"
body: <p>I'm getting this error:</p>
  
  <pre><code>extensions::lastError:133 Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url "data:text/html,chromewebdata". Extension manifest must request permission to access this host.
  </code></pre>
  
  <p>I'm getting this error after disabling internet so that I can take action when the page load fails(due to heavy load) or internet down.</p>
  
  <p>I've checked all similar questions and <a href="https://stackoverflow.com/questions/36762389/chrome-extension-injecting-script-get-error">this almost similar</a> but still unable to make it work.  <a href="https://stackoverflow.com/questions/32761782/can-a-chrome-extension-run-code-on-a-chrome-error-page-i-e-err-internet-disco">Another very similar one</a> with comment that Chrome does not allow hijack of internal pages</p>
  
  <p>My permissions looks like:</p>
  
  <pre><code>"permissions": [
          "tabs","unlimitedStorage", "notifications", "history", "activeTab", "storage", "webRequest", "webRequestBlocking", "*://*/*", "http://*/*", "https://*/*"
      ],
  </code></pre>
  
  <p>I get the error when I run this code:</p>
  
  <pre><code>chrome.tabs.executeScript(null, {file: "showbacklink.js"});
  </code></pre>
  
  <p>or </p>
  
  <pre><code>  chrome.tabs.executeScript(details.tabId, {file: "showbacklink.js"});
  </code></pre>
  
  <p>where details.tabId is the active tab.</p>
  
  <p><strong>What am I missing?</strong></p>
  
  <p><strong>Edited manifest.json</strong></p>
  
  <pre><code>{
      "name": "",
      "options_page": "options.html",
      "description": "",
      "version": "1.0",
      "icons": {
          "16": "icons/logo16.png",
          "48": "icons/logo48.png",
          "128": "icons/logo128.png"
      },
      "permissions": [
          "tabs","unlimitedStorage", "notifications", "history", "activeTab", "storage", "webRequest", "webRequestBlocking",  "http://*/*", "https://*/*"
      ],
      "background": {
          "scripts": [
          "showbacklink.js",
              "client_server_common.js",
              "common.js",
              "background.js"
  
          ],
          "persistent": true
      },
  
      "content_security_policy": "script-src 'self'; object-src 'self'",
      "manifest_version": 2,
      "content_scripts": [
          {
              "run_at": "document_end",
              "all_frames": true,
              "matches": ["https://*/*"],
              "css": [//REMOVED],
              "js": [   //other files REMOVED
                  "myscript.js",
  
              ]
          },
  
  
      ],
      "web_accessible_resources": [  //REMOVED
      ]
  
  
  }
  </code></pre>