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 #ifndef CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_CHROME_WEB_VIEW_GUEST_DELEGATE_H_ | 5 #ifndef CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_CHROME_WEB_VIEW_GUEST_DELEGATE_H_ |
6 #define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_CHROME_WEB_VIEW_GUEST_DELEGATE_H_ | 6 #define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_CHROME_WEB_VIEW_GUEST_DELEGATE_H_ |
7 | 7 |
8 #include "chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.h" | 8 #include "chrome/browser/extensions/api/web_view/chrome_web_view_internal_api.h" |
| 9 #include "chrome/browser/ui/zoom/zoom_observer.h" |
9 #include "extensions/browser/guest_view/web_view/web_view_guest.h" | 10 #include "extensions/browser/guest_view/web_view/web_view_guest.h" |
10 #include "extensions/browser/guest_view/web_view/web_view_guest_delegate.h" | 11 #include "extensions/browser/guest_view/web_view/web_view_guest_delegate.h" |
11 | 12 |
12 #if defined(OS_CHROMEOS) | 13 #if defined(OS_CHROMEOS) |
13 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" | 14 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
14 #endif | 15 #endif |
15 | 16 |
16 class RenderViewContextMenu; | 17 class RenderViewContextMenu; |
17 | 18 |
18 namespace ui { | 19 namespace ui { |
19 class SimpleMenuModel; | 20 class SimpleMenuModel; |
20 } // namespace ui | 21 } // namespace ui |
21 | 22 |
22 class ChromeWebViewGuestDelegate : public extensions::WebViewGuestDelegate { | 23 class ChromeWebViewGuestDelegate : public extensions::WebViewGuestDelegate, |
| 24 public ZoomObserver { |
23 public : | 25 public : |
24 explicit ChromeWebViewGuestDelegate( | 26 explicit ChromeWebViewGuestDelegate( |
25 extensions::WebViewGuest* web_view_guest); | 27 extensions::WebViewGuest* web_view_guest); |
26 virtual ~ChromeWebViewGuestDelegate(); | 28 virtual ~ChromeWebViewGuestDelegate(); |
27 | 29 |
28 // WebViewGuestDelegate implementation. | 30 // WebViewGuestDelegate implementation. |
29 virtual double GetZoom() OVERRIDE; | 31 virtual double GetZoom() OVERRIDE; |
30 virtual bool HandleContextMenu( | 32 virtual bool HandleContextMenu( |
31 const content::ContextMenuParams& params) OVERRIDE; | 33 const content::ContextMenuParams& params) OVERRIDE; |
32 virtual void OnAttachWebViewHelpers(content::WebContents* contents) OVERRIDE; | 34 virtual void OnAttachWebViewHelpers(content::WebContents* contents) OVERRIDE; |
33 virtual void OnEmbedderDestroyed() OVERRIDE; | 35 virtual void OnEmbedderDestroyed() OVERRIDE; |
| 36 virtual void OnDidAttachToEmbedder() OVERRIDE; |
34 virtual void OnDidCommitProvisionalLoadForFrame(bool is_main_frame) OVERRIDE; | 37 virtual void OnDidCommitProvisionalLoadForFrame(bool is_main_frame) OVERRIDE; |
35 virtual void OnDidInitialize() OVERRIDE; | 38 virtual void OnDidInitialize() OVERRIDE; |
36 virtual void OnDocumentLoadedInFrame( | 39 virtual void OnDocumentLoadedInFrame( |
37 content::RenderFrameHost* render_frame_host) OVERRIDE; | 40 content::RenderFrameHost* render_frame_host) OVERRIDE; |
38 virtual void OnGuestDestroyed() OVERRIDE; | 41 virtual void OnGuestDestroyed() OVERRIDE; |
39 virtual void OnSetZoom(double zoom_factor) OVERRIDE; | 42 virtual void OnSetZoom(double zoom_factor) OVERRIDE; |
40 virtual void OnShowContextMenu( | 43 virtual void OnShowContextMenu( |
41 int request_id, | 44 int request_id, |
42 const MenuItemVector* items) OVERRIDE; | 45 const MenuItemVector* items) OVERRIDE; |
43 | 46 |
| 47 // ZoomObserver implementation. |
| 48 virtual void OnZoomChanged( |
| 49 const ZoomController::ZoomChangedEventData& data) OVERRIDE; |
| 50 |
44 extensions::WebViewGuest* web_view_guest() const { return web_view_guest_; } | 51 extensions::WebViewGuest* web_view_guest() const { return web_view_guest_; } |
45 | 52 |
46 private: | 53 private: |
47 content::WebContents* guest_web_contents() const { | 54 content::WebContents* guest_web_contents() const { |
48 return web_view_guest()->web_contents(); | 55 return web_view_guest()->web_contents(); |
49 } | 56 } |
50 | 57 |
51 // Returns the top level items (ignoring submenus) as Value. | 58 // Returns the top level items (ignoring submenus) as Value. |
52 static scoped_ptr<base::ListValue> MenuModelToValue( | 59 static scoped_ptr<base::ListValue> MenuModelToValue( |
53 const ui::SimpleMenuModel& menu_model); | 60 const ui::SimpleMenuModel& menu_model); |
(...skipping 26 matching lines...) Expand all Loading... |
80 accessibility_subscription_; | 87 accessibility_subscription_; |
81 #endif | 88 #endif |
82 | 89 |
83 extensions::WebViewGuest* const web_view_guest_; | 90 extensions::WebViewGuest* const web_view_guest_; |
84 | 91 |
85 DISALLOW_COPY_AND_ASSIGN(ChromeWebViewGuestDelegate); | 92 DISALLOW_COPY_AND_ASSIGN(ChromeWebViewGuestDelegate); |
86 }; | 93 }; |
87 | 94 |
88 #endif // CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_CHROME_WEB_VIEW_GUEST_DELEGATE_H_ | 95 #endif // CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_CHROME_WEB_VIEW_GUEST_DELEGATE_H_ |
89 | 96 |
OLD | NEW |