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

Unified Diff: chrome/browser/guest_view/chrome_guest_view_manager_delegate.cc

Issue 1602663003: Framelet Prototype 2016 using Mojo IPC Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Disabled oilpan Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/guest_view/chrome_guest_view_manager_delegate.cc
diff --git a/chrome/browser/guest_view/chrome_guest_view_manager_delegate.cc b/chrome/browser/guest_view/chrome_guest_view_manager_delegate.cc
index e3cee470c763091df8f68d9ca31a91a862733a63..918aee34411a48ef02cc55e3cbea073430f8c130 100644
--- a/chrome/browser/guest_view/chrome_guest_view_manager_delegate.cc
+++ b/chrome/browser/guest_view/chrome_guest_view_manager_delegate.cc
@@ -4,38 +4,51 @@
#include "chrome/browser/guest_view/chrome_guest_view_manager_delegate.h"
-#include "build/build_config.h"
-#include "chrome/browser/task_management/web_contents_tags.h"
+#include "components/framelet/browser/framelet_guest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/app_mode/app_session.h"
-#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
-#endif
-
-namespace extensions {
+namespace chrome {
-ChromeGuestViewManagerDelegate::ChromeGuestViewManagerDelegate(
- content::BrowserContext* context)
- : ExtensionsGuestViewManagerDelegate(context) {
+// static
+guest_view::GuestViewManagerDelegate* ChromeGuestViewManagerDelegate::Create(
+ content::BrowserContext* browser_context) {
+ return new ChromeGuestViewManagerDelegate(browser_context);
}
ChromeGuestViewManagerDelegate::~ChromeGuestViewManagerDelegate() {
}
-void ChromeGuestViewManagerDelegate::OnGuestAdded(
- content::WebContents* guest_web_contents) const {
- // Attaches the task-manager-specific tag for the GuestViews to its
- // |guest_web_contents| so that their corresponding tasks show up in the task
- // manager.
- task_management::WebContentsTags::CreateForGuestContents(guest_web_contents);
-
-#if defined(OS_CHROMEOS)
- // Notifies kiosk session about the added guest.
- chromeos::AppSession* app_session =
- chromeos::KioskAppManager::Get()->app_session();
- if (app_session)
- app_session->OnGuestAdded(guest_web_contents);
+void ChromeGuestViewManagerDelegate::DispatchEvent(
+ const std::string& event_name,
+ scoped_ptr<base::DictionaryValue> args,
+ guest_view::GuestViewBase* guest,
+ int instance_id) {
+ // TODO(paulmeyer): Implement special case for framelet.
+ GuestViewManagerDelegateBase::DispatchEvent(event_name, std::move(args),
+ guest, instance_id);
+}
+
+bool ChromeGuestViewManagerDelegate::IsGuestAvailableToContext(
+ guest_view::GuestViewBase* guest) {
+ // Framelet is available in any context including the drive-by web.
+ if (guest->IsViewType(framelet::FrameletGuest::Type))
+ return true;
+ return GuestViewManagerDelegateBase::IsGuestAvailableToContext(guest);
+}
+
+void ChromeGuestViewManagerDelegate::RegisterAdditionalGuestViewTypes() {
+ guest_view::GuestViewManager* manager =
+ guest_view::GuestViewManager::FromBrowserContext(context_);
+ manager->RegisterGuestViewType<framelet::FrameletGuest>();
+ GuestViewManagerDelegateBase::RegisterAdditionalGuestViewTypes();
+}
+
+ChromeGuestViewManagerDelegate::ChromeGuestViewManagerDelegate(
+ content::BrowserContext* context)
+#if defined(ENABLE_EXTENSIONS)
+ : GuestViewManagerDelegateBase(context) {
+#else
+ : GuestViewManagerDelegateBase(), context_(context) {
#endif
}
-} // namespace extensions
+} // namespace chrome

Powered by Google App Engine
This is Rietveld 408576698