 <p><a href="https://developer.chrome.com/extensions/content_scripts.html#execution-environment" rel="nofollow">Execution environment</a> of <a href="https://developer.chrome.com/extensions/content_scripts.html" rel="nofollow">Content Scripts</a> ensure content scripts can communicate among themselves</p> <p><strong>Ex:</strong></p> <pre><code>"content_scripts": [ { "matches": ["&lt;all_urls&gt;"], "js": ["myscript.js","myscript1.js"] } ] } </code></pre> <p>A <a href="https://developer.chrome.com/extensions/content_scripts.html#host-page-communication" rel="nofollow">Individual DOM Environment</a> where content scripts <code>["myscript.js","myscript1.js"]</code> injected ensures <code>myscript1.js</code> have access to all contents <em>(Functions,Variables)</em> of <code>myscript.js</code>, but this stops from two <a href="https://developer.chrome.com/extensions/content_scripts.html#host-page-communication" rel="nofollow">Individual DOM Environment</a>'s being communicating.</p> <p>Having said that, What Limitation\requirement you see in <a href="https://developer.chrome.com/extensions/content_scripts.html" rel="nofollow">Content Scripts</a> which calls for requirement where <strong><a href="https://developer.chrome.com/extensions/messaging.html" rel="nofollow">message passing</a></strong> needs <a href="https://developer.chrome.com/extensions/background_pages.html" rel="nofollow">background pages</a> to access <a href="https://developer.chrome.com/extensions/content_scripts.html#host-page-communication" rel="nofollow">DOM of injected pages</a>?</p> <p>Please Elaborate</p>