| OLD | NEW |
| 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 Loading... |
| 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 |
| OLD | NEW |