Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: extensions/renderer/dispatcher.cc

Issue 1983183003: Do not try to load "guestViewIframe" module when guest view internal isn't (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/renderer/dispatcher.h" 5 #include "extensions/renderer/dispatcher.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 1540 matching lines...) Expand 10 before | Expand all | Expand 10 after
1551 if (bind_name) 1551 if (bind_name)
1552 *bind_name = split.back(); 1552 *bind_name = split.back();
1553 1553
1554 return bind_object.IsEmpty() ? AsObjectOrEmpty(GetOrCreateChrome(context)) 1554 return bind_object.IsEmpty() ? AsObjectOrEmpty(GetOrCreateChrome(context))
1555 : bind_object; 1555 : bind_object;
1556 } 1556 }
1557 1557
1558 void Dispatcher::RequireGuestViewModules(ScriptContext* context) { 1558 void Dispatcher::RequireGuestViewModules(ScriptContext* context) {
1559 Feature::Context context_type = context->context_type(); 1559 Feature::Context context_type = context->context_type();
1560 ModuleSystem* module_system = context->module_system(); 1560 ModuleSystem* module_system = context->module_system();
1561 bool requires_guest_view_module = false;
1561 1562
1562 // Require AppView. 1563 // Require AppView.
1563 if (context->GetAvailability("appViewEmbedderInternal").is_available()) { 1564 if (context->GetAvailability("appViewEmbedderInternal").is_available()) {
1565 requires_guest_view_module = true;
1564 module_system->Require("appView"); 1566 module_system->Require("appView");
1565 } 1567 }
1566 1568
1567 // Require ExtensionOptions. 1569 // Require ExtensionOptions.
1568 if (context->GetAvailability("extensionOptionsInternal").is_available()) { 1570 if (context->GetAvailability("extensionOptionsInternal").is_available()) {
1571 requires_guest_view_module = true;
1569 module_system->Require("extensionOptions"); 1572 module_system->Require("extensionOptions");
1570 module_system->Require("extensionOptionsAttributes"); 1573 module_system->Require("extensionOptionsAttributes");
1571 } 1574 }
1572 1575
1573 // Require ExtensionView. 1576 // Require ExtensionView.
1574 if (context->GetAvailability("extensionViewInternal").is_available()) { 1577 if (context->GetAvailability("extensionViewInternal").is_available()) {
1578 requires_guest_view_module = true;
1575 module_system->Require("extensionView"); 1579 module_system->Require("extensionView");
1576 module_system->Require("extensionViewApiMethods"); 1580 module_system->Require("extensionViewApiMethods");
1577 module_system->Require("extensionViewAttributes"); 1581 module_system->Require("extensionViewAttributes");
1578 } 1582 }
1579 1583
1580 // Require WebView. 1584 // Require WebView.
1581 if (context->GetAvailability("webViewInternal").is_available()) { 1585 if (context->GetAvailability("webViewInternal").is_available()) {
1586 requires_guest_view_module = true;
1582 module_system->Require("webView"); 1587 module_system->Require("webView");
1583 module_system->Require("webViewApiMethods"); 1588 module_system->Require("webViewApiMethods");
1584 module_system->Require("webViewAttributes"); 1589 module_system->Require("webViewAttributes");
1585 if (context->GetAvailability("webViewExperimentalInternal") 1590 if (context->GetAvailability("webViewExperimentalInternal")
1586 .is_available()) { 1591 .is_available()) {
1587 module_system->Require("webViewExperimental"); 1592 module_system->Require("webViewExperimental");
1588 } 1593 }
1589 } 1594 }
1590 1595
1591 if (content::BrowserPluginGuestMode::UseCrossProcessFramesForGuests()) { 1596 if (requires_guest_view_module &&
1597 content::BrowserPluginGuestMode::UseCrossProcessFramesForGuests()) {
1592 module_system->Require("guestViewIframe"); 1598 module_system->Require("guestViewIframe");
1593 module_system->Require("guestViewIframeContainer"); 1599 module_system->Require("guestViewIframeContainer");
1594 } 1600 }
1595 1601
1596 // The "guestViewDeny" module must always be loaded last. It registers 1602 // The "guestViewDeny" module must always be loaded last. It registers
1597 // error-providing custom elements for the GuestView types that are not 1603 // error-providing custom elements for the GuestView types that are not
1598 // available, and thus all of those types must have been checked and loaded 1604 // available, and thus all of those types must have been checked and loaded
1599 // (or not loaded) beforehand. 1605 // (or not loaded) beforehand.
1600 if (context_type == Feature::BLESSED_EXTENSION_CONTEXT) { 1606 if (context_type == Feature::BLESSED_EXTENSION_CONTEXT) {
1601 module_system->Require("guestViewDeny"); 1607 module_system->Require("guestViewDeny");
1602 } 1608 }
1603 } 1609 }
1604 1610
1605 } // namespace extensions 1611 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698