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/timer/timer.h" | 10 #include "base/timer/timer.h" |
11 #include "content/public/renderer/render_view_observer.h" | 11 #include "content/public/renderer/render_view_observer.h" |
12 #include "third_party/WebKit/public/web/WebPermissionClient.h" | |
13 #include "third_party/skia/include/core/SkColor.h" | 12 #include "third_party/skia/include/core/SkColor.h" |
14 #include "ui/gfx/size.h" | 13 #include "ui/gfx/size.h" |
15 | 14 |
16 namespace blink { | 15 namespace blink { |
17 | 16 |
18 class WebNode; | 17 class WebNode; |
19 class WebURL; | 18 class WebURL; |
20 | 19 |
21 } // namespace blink | 20 } // namespace blink |
22 | 21 |
23 namespace android_webview { | 22 namespace android_webview { |
24 | 23 |
25 // Render process side of AwRenderViewHostExt, this provides cross-process | 24 // Render process side of AwRenderViewHostExt, this provides cross-process |
26 // implementation of miscellaneous WebView functions that we need to poke | 25 // implementation of miscellaneous WebView functions that we need to poke |
27 // WebKit directly to implement (and that aren't needed in the chrome app). | 26 // WebKit directly to implement (and that aren't needed in the chrome app). |
28 class AwRenderViewExt : public content::RenderViewObserver, | 27 class AwRenderViewExt : public content::RenderViewObserver { |
29 public blink::WebPermissionClient { | |
30 public: | 28 public: |
31 static void RenderViewCreated(content::RenderView* render_view); | 29 static void RenderViewCreated(content::RenderView* render_view); |
32 | 30 |
33 private: | 31 private: |
34 AwRenderViewExt(content::RenderView* render_view); | 32 AwRenderViewExt(content::RenderView* render_view); |
35 virtual ~AwRenderViewExt(); | 33 virtual ~AwRenderViewExt(); |
36 | 34 |
37 // RenderView::Observer: | 35 // RenderView::Observer: |
38 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; | 36 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
39 virtual void DidCommitProvisionalLoad(blink::WebFrame* frame, | 37 virtual void DidCommitProvisionalLoad(blink::WebFrame* frame, |
(...skipping 14 matching lines...) Expand all Loading... |
54 void OnSetInitialPageScale(double page_scale_factor); | 52 void OnSetInitialPageScale(double page_scale_factor); |
55 | 53 |
56 void OnSetFixedLayoutSize(const gfx::Size& size); | 54 void OnSetFixedLayoutSize(const gfx::Size& size); |
57 | 55 |
58 void OnSetBackgroundColor(SkColor c); | 56 void OnSetBackgroundColor(SkColor c); |
59 | 57 |
60 void UpdatePageScaleFactor(); | 58 void UpdatePageScaleFactor(); |
61 | 59 |
62 void CheckContentsSize(); | 60 void CheckContentsSize(); |
63 | 61 |
64 // blink::WebPermissionClient implementation. | |
65 virtual bool allowDisplayingInsecureContent( | |
66 blink::WebFrame* frame, | |
67 bool enabled_per_settings, | |
68 const blink::WebSecurityOrigin& origin, | |
69 const blink::WebURL& url) OVERRIDE; | |
70 virtual bool allowRunningInsecureContent( | |
71 blink::WebFrame* frame, | |
72 bool enabled_per_settings, | |
73 const blink::WebSecurityOrigin& origin, | |
74 const blink::WebURL& url) OVERRIDE; | |
75 | |
76 bool capture_picture_enabled_; | 62 bool capture_picture_enabled_; |
77 | 63 |
78 float page_scale_factor_; | 64 float page_scale_factor_; |
79 | 65 |
80 gfx::Size last_sent_contents_size_; | 66 gfx::Size last_sent_contents_size_; |
81 base::OneShotTimer<AwRenderViewExt> check_contents_size_timer_; | 67 base::OneShotTimer<AwRenderViewExt> check_contents_size_timer_; |
82 | 68 |
83 DISALLOW_COPY_AND_ASSIGN(AwRenderViewExt); | 69 DISALLOW_COPY_AND_ASSIGN(AwRenderViewExt); |
84 }; | 70 }; |
85 | 71 |
86 } // namespace android_webview | 72 } // namespace android_webview |
87 | 73 |
88 #endif // ANDROID_WEBVIEW_RENDERER_AW_RENDER_VIEW_EXT_H_ | 74 #endif // ANDROID_WEBVIEW_RENDERER_AW_RENDER_VIEW_EXT_H_ |
OLD | NEW |