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 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 content::BrowserThread::IO, | 116 content::BrowserThread::IO, |
117 FROM_HERE, | 117 FROM_HERE, |
118 base::Bind( | 118 base::Bind( |
119 &RemoveWebViewEventListenersOnIOThread, | 119 &RemoveWebViewEventListenersOnIOThread, |
120 web_view_guest()->browser_context(), | 120 web_view_guest()->browser_context(), |
121 web_view_guest()->embedder_extension_id(), | 121 web_view_guest()->embedder_extension_id(), |
122 web_view_guest()->embedder_render_process_id(), | 122 web_view_guest()->embedder_render_process_id(), |
123 web_view_guest()->view_instance_id())); | 123 web_view_guest()->view_instance_id())); |
124 } | 124 } |
125 | 125 |
| 126 void ChromeWebViewGuestDelegate::OnDidAttachToEmbedder() { |
| 127 // TODO(fsamuel): This code should be implemented in GuestViewBase once the |
| 128 // ZoomController moves to the extensions module. |
| 129 ZoomController* zoom_controller = ZoomController::FromWebContents( |
| 130 web_view_guest()->embedder_web_contents()); |
| 131 if (!zoom_controller) |
| 132 return; |
| 133 // Listen to the embedder's zoom changes. |
| 134 zoom_controller->AddObserver(this); |
| 135 // Set the guest's initial zoom level to be equal to the embedder's. |
| 136 ZoomController::FromWebContents(guest_web_contents())-> |
| 137 SetZoomLevel(zoom_controller->GetZoomLevel()); |
| 138 } |
| 139 |
126 void ChromeWebViewGuestDelegate::OnDidCommitProvisionalLoadForFrame( | 140 void ChromeWebViewGuestDelegate::OnDidCommitProvisionalLoadForFrame( |
127 bool is_main_frame) { | 141 bool is_main_frame) { |
128 // Update the current zoom factor for the new page. | 142 // Update the current zoom factor for the new page. |
129 ZoomController* zoom_controller = | 143 ZoomController* zoom_controller = |
130 ZoomController::FromWebContents(guest_web_contents()); | 144 ZoomController::FromWebContents(guest_web_contents()); |
131 DCHECK(zoom_controller); | 145 DCHECK(zoom_controller); |
132 current_zoom_factor_ = zoom_controller->GetZoomLevel(); | 146 current_zoom_factor_ = zoom_controller->GetZoomLevel(); |
133 if (is_main_frame) | 147 if (is_main_frame) |
134 chromevox_injected_ = false; | 148 chromevox_injected_ = false; |
135 } | 149 } |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 accessibility_subscription_.reset(); | 245 accessibility_subscription_.reset(); |
232 } else if (details.notification_type == | 246 } else if (details.notification_type == |
233 chromeos::ACCESSIBILITY_TOGGLE_SPOKEN_FEEDBACK) { | 247 chromeos::ACCESSIBILITY_TOGGLE_SPOKEN_FEEDBACK) { |
234 if (details.enabled) | 248 if (details.enabled) |
235 InjectChromeVoxIfNeeded(guest_web_contents()->GetRenderViewHost()); | 249 InjectChromeVoxIfNeeded(guest_web_contents()->GetRenderViewHost()); |
236 else | 250 else |
237 chromevox_injected_ = false; | 251 chromevox_injected_ = false; |
238 } | 252 } |
239 } | 253 } |
240 #endif | 254 #endif |
| 255 |
| 256 void ChromeWebViewGuestDelegate::OnZoomChanged( |
| 257 const ZoomController::ZoomChangedEventData& data) { |
| 258 ZoomController::FromWebContents(guest_web_contents())-> |
| 259 SetZoomLevel(data.new_zoom_level); |
| 260 } |
OLD | NEW |