OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 ANDROID_WEBVIEW_RENDERER_AW_RENDER_VIEW_EXT_H_ | 5 #ifndef ANDROID_WEBVIEW_RENDERER_AW_RENDER_VIEW_EXT_H_ |
6 #define ANDROID_WEBVIEW_RENDERER_AW_RENDER_VIEW_EXT_H_ | 6 #define ANDROID_WEBVIEW_RENDERER_AW_RENDER_VIEW_EXT_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/memory/weak_ptr.h" | |
11 #include "content/public/renderer/render_view_observer.h" | 10 #include "content/public/renderer/render_view_observer.h" |
12 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPermissionClient.h
" | 11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPermissionClient.h
" |
13 | 12 |
14 namespace WebKit { | 13 namespace WebKit { |
15 | 14 |
16 class WebNode; | 15 class WebNode; |
17 class WebURL; | 16 class WebURL; |
18 | 17 |
19 } // namespace WebKit | 18 } // namespace WebKit |
20 | 19 |
21 namespace android_webview { | 20 namespace android_webview { |
22 | 21 |
23 // Render process side of AwRenderViewHostExt, this provides cross-process | 22 // Render process side of AwRenderViewHostExt, this provides cross-process |
24 // implementation of miscellaneous WebView functions that we need to poke | 23 // implementation of miscellaneous WebView functions that we need to poke |
25 // WebKit directly to implement (and that aren't needed in the chrome app). | 24 // WebKit directly to implement (and that aren't needed in the chrome app). |
26 class AwRenderViewExt : public content::RenderViewObserver, | 25 class AwRenderViewExt : public content::RenderViewObserver, |
27 public WebKit::WebPermissionClient { | 26 public WebKit::WebPermissionClient { |
28 public: | 27 public: |
29 static void RenderViewCreated(content::RenderView* render_view); | 28 static void RenderViewCreated(content::RenderView* render_view); |
30 | 29 |
31 // Required to be public by IPC_MESSAGE_HANDLER for sync messages. | |
32 using content::RenderViewObserver::Send; | |
33 | |
34 private: | 30 private: |
35 AwRenderViewExt(content::RenderView* render_view); | 31 AwRenderViewExt(content::RenderView* render_view); |
36 virtual ~AwRenderViewExt(); | 32 virtual ~AwRenderViewExt(); |
37 | 33 |
38 // RenderView::Observer: | 34 // RenderView::Observer: |
39 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; | 35 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
40 virtual void DidCommitProvisionalLoad(WebKit::WebFrame* frame, | 36 virtual void DidCommitProvisionalLoad(WebKit::WebFrame* frame, |
41 bool is_new_navigation) OVERRIDE; | 37 bool is_new_navigation) OVERRIDE; |
42 virtual void FocusedNodeChanged(const WebKit::WebNode& node) OVERRIDE; | 38 virtual void FocusedNodeChanged(const WebKit::WebNode& node) OVERRIDE; |
43 virtual void DidCommitCompositorFrame() OVERRIDE; | |
44 | 39 |
45 void OnDocumentHasImagesRequest(int id); | 40 void OnDocumentHasImagesRequest(int id); |
46 | 41 |
47 void OnDoHitTest(int view_x, int view_y); | 42 void OnDoHitTest(int view_x, int view_y); |
48 | 43 |
49 void OnEnableCapturePictureCallback(bool enable); | |
50 | |
51 void OnCapturePictureSync(); | |
52 | |
53 void OnSetTextZoomLevel(double zoom_level); | 44 void OnSetTextZoomLevel(double zoom_level); |
54 | 45 |
55 // WebKit::WebPermissionClient implementation. | 46 // WebKit::WebPermissionClient implementation. |
56 virtual bool allowImage(WebKit::WebFrame* frame, | 47 virtual bool allowImage(WebKit::WebFrame* frame, |
57 bool enabledPerSettings, | 48 bool enabledPerSettings, |
58 const WebKit::WebURL& imageURL) OVERRIDE; | 49 const WebKit::WebURL& imageURL) OVERRIDE; |
59 | 50 |
60 bool capture_picture_enabled_; | 51 bool capture_picture_enabled_; |
61 | 52 |
62 DISALLOW_COPY_AND_ASSIGN(AwRenderViewExt); | 53 DISALLOW_COPY_AND_ASSIGN(AwRenderViewExt); |
63 }; | 54 }; |
64 | 55 |
65 } // namespace android_webview | 56 } // namespace android_webview |
66 | 57 |
67 #endif // ANDROID_WEBVIEW_RENDERER_AW_RENDER_VIEW_EXT_H_ | 58 #endif // ANDROID_WEBVIEW_RENDERER_AW_RENDER_VIEW_EXT_H_ |
OLD | NEW |