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 | 5 |
6 #include "chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h" | 6 #include "chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h" |
7 | 7 |
8 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" | 8 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" |
9 #include "chrome/browser/favicon/favicon_tab_helper.h" | 9 #include "chrome/browser/favicon/favicon_tab_helper.h" |
10 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" | 10 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 InjectChromeVoxIfNeeded(render_frame_host->GetRenderViewHost()); | 135 InjectChromeVoxIfNeeded(render_frame_host->GetRenderViewHost()); |
136 } | 136 } |
137 | 137 |
138 void ChromeWebViewGuestDelegate::OnGuestReady() { | 138 void ChromeWebViewGuestDelegate::OnGuestReady() { |
139 ZoomController* zoom_controller = | 139 ZoomController* zoom_controller = |
140 ZoomController::FromWebContents(guest_web_contents()); | 140 ZoomController::FromWebContents(guest_web_contents()); |
141 DCHECK(zoom_controller); | 141 DCHECK(zoom_controller); |
142 zoom_controller->SetZoomMode(ZoomController::ZOOM_MODE_ISOLATED); | 142 zoom_controller->SetZoomMode(ZoomController::ZOOM_MODE_ISOLATED); |
143 } | 143 } |
144 | 144 |
| 145 void ChromeWebViewGuestDelegate::OnEmbedderWillBeDestroyed() { |
| 146 content::WebContents* embedder_web_contents = |
| 147 web_view_guest()->embedder_web_contents(); |
| 148 if (!embedder_web_contents) |
| 149 return; |
| 150 |
| 151 ZoomController* zoom_controller = |
| 152 ZoomController::FromWebContents(embedder_web_contents); |
| 153 if (zoom_controller) |
| 154 zoom_controller->RemoveObserver(this); |
| 155 } |
| 156 |
145 void ChromeWebViewGuestDelegate::OnGuestDestroyed() { | 157 void ChromeWebViewGuestDelegate::OnGuestDestroyed() { |
146 // Clean up custom context menu items for this guest. | 158 // Clean up custom context menu items for this guest. |
147 extensions::MenuManager* menu_manager = extensions::MenuManager::Get( | 159 extensions::MenuManager* menu_manager = extensions::MenuManager::Get( |
148 Profile::FromBrowserContext(web_view_guest()->browser_context())); | 160 Profile::FromBrowserContext(web_view_guest()->browser_context())); |
149 menu_manager->RemoveAllContextItems(extensions::MenuItem::ExtensionKey( | 161 menu_manager->RemoveAllContextItems(extensions::MenuItem::ExtensionKey( |
150 web_view_guest()->embedder_extension_id(), | 162 web_view_guest()->embedder_extension_id(), |
151 web_view_guest()->view_instance_id())); | 163 web_view_guest()->view_instance_id())); |
152 } | 164 } |
153 | 165 |
154 // static | 166 // static |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 chromevox_injected_ = false; | 240 chromevox_injected_ = false; |
229 } | 241 } |
230 } | 242 } |
231 #endif | 243 #endif |
232 | 244 |
233 void ChromeWebViewGuestDelegate::OnZoomChanged( | 245 void ChromeWebViewGuestDelegate::OnZoomChanged( |
234 const ZoomController::ZoomChangedEventData& data) { | 246 const ZoomController::ZoomChangedEventData& data) { |
235 ZoomController::FromWebContents(guest_web_contents())-> | 247 ZoomController::FromWebContents(guest_web_contents())-> |
236 SetZoomLevel(data.new_zoom_level); | 248 SetZoomLevel(data.new_zoom_level); |
237 } | 249 } |
OLD | NEW |