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 CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ |
6 #define CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ | 6 #define CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 class FaviconHelper; | 132 class FaviconHelper; |
133 class HistoryController; | 133 class HistoryController; |
134 class HistoryEntry; | 134 class HistoryEntry; |
135 class ImageResourceFetcher; | 135 class ImageResourceFetcher; |
136 class MouseLockDispatcher; | 136 class MouseLockDispatcher; |
137 class NavigationState; | 137 class NavigationState; |
138 class PepperPluginInstanceImpl; | 138 class PepperPluginInstanceImpl; |
139 class RenderViewImplTest; | 139 class RenderViewImplTest; |
140 class RenderViewObserver; | 140 class RenderViewObserver; |
141 class RenderViewTest; | 141 class RenderViewTest; |
142 class RendererAccessibility; | |
143 class RendererDateTimePicker; | 142 class RendererDateTimePicker; |
144 class RendererWebColorChooserImpl; | 143 class RendererWebColorChooserImpl; |
145 class SpeechRecognitionDispatcher; | 144 class SpeechRecognitionDispatcher; |
146 class WebPluginDelegateProxy; | 145 class WebPluginDelegateProxy; |
147 struct DropData; | 146 struct DropData; |
148 struct FaviconURL; | 147 struct FaviconURL; |
149 struct FileChooserParams; | 148 struct FileChooserParams; |
150 struct RenderViewImplParams; | 149 struct RenderViewImplParams; |
151 | 150 |
152 #if defined(OS_ANDROID) | 151 #if defined(OS_ANDROID) |
(...skipping 25 matching lines...) Expand all Loading... |
178 int32 main_frame_routing_id, | 177 int32 main_frame_routing_id, |
179 int32 surface_id, | 178 int32 surface_id, |
180 int64 session_storage_namespace_id, | 179 int64 session_storage_namespace_id, |
181 const base::string16& frame_name, | 180 const base::string16& frame_name, |
182 bool is_renderer_created, | 181 bool is_renderer_created, |
183 bool swapped_out, | 182 bool swapped_out, |
184 int32 proxy_routing_id, | 183 int32 proxy_routing_id, |
185 bool hidden, | 184 bool hidden, |
186 bool never_visible, | 185 bool never_visible, |
187 int32 next_page_id, | 186 int32 next_page_id, |
188 const blink::WebScreenInfo& screen_info, | 187 const blink::WebScreenInfo& screen_info); |
189 AccessibilityMode accessibility_mode); | |
190 | 188 |
191 // Used by content_layouttest_support to hook into the creation of | 189 // Used by content_layouttest_support to hook into the creation of |
192 // RenderViewImpls. | 190 // RenderViewImpls. |
193 static void InstallCreateHook( | 191 static void InstallCreateHook( |
194 RenderViewImpl* (*create_render_view_impl)(RenderViewImplParams*)); | 192 RenderViewImpl* (*create_render_view_impl)(RenderViewImplParams*)); |
195 | 193 |
196 // Returns the RenderViewImpl containing the given WebView. | 194 // Returns the RenderViewImpl containing the given WebView. |
197 static RenderViewImpl* FromWebView(blink::WebView* webview); | 195 static RenderViewImpl* FromWebView(blink::WebView* webview); |
198 | 196 |
199 // Returns the RenderViewImpl for the given routing ID. | 197 // Returns the RenderViewImpl for the given routing ID. |
(...skipping 13 matching lines...) Expand all Loading... |
213 const RendererPreferences& renderer_preferences() const { | 211 const RendererPreferences& renderer_preferences() const { |
214 return renderer_preferences_; | 212 return renderer_preferences_; |
215 } | 213 } |
216 | 214 |
217 void set_send_content_state_immediately(bool value) { | 215 void set_send_content_state_immediately(bool value) { |
218 send_content_state_immediately_ = value; | 216 send_content_state_immediately_ = value; |
219 } | 217 } |
220 | 218 |
221 RenderFrameImpl* main_render_frame() { return main_render_frame_.get(); } | 219 RenderFrameImpl* main_render_frame() { return main_render_frame_.get(); } |
222 | 220 |
223 AccessibilityMode accessibility_mode() { | |
224 return accessibility_mode_; | |
225 } | |
226 | |
227 RendererAccessibility* renderer_accessibility() { | |
228 return renderer_accessibility_; | |
229 } | |
230 | |
231 MouseLockDispatcher* mouse_lock_dispatcher() { | 221 MouseLockDispatcher* mouse_lock_dispatcher() { |
232 return mouse_lock_dispatcher_; | 222 return mouse_lock_dispatcher_; |
233 } | 223 } |
234 | 224 |
235 HistoryController* history_controller() { | 225 HistoryController* history_controller() { |
236 return history_controller_.get(); | 226 return history_controller_.get(); |
237 } | 227 } |
238 | 228 |
239 // Lazily initialize this view's BrowserPluginManager and return it. | 229 // Lazily initialize this view's BrowserPluginManager and return it. |
240 BrowserPluginManager* GetBrowserPluginManager(); | 230 BrowserPluginManager* GetBrowserPluginManager(); |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
566 const gfx::Point& root_layer_offset, | 556 const gfx::Point& root_layer_offset, |
567 float root_layer_scale) OVERRIDE; | 557 float root_layer_scale) OVERRIDE; |
568 | 558 |
569 // Do not delete directly. This class is reference counted. | 559 // Do not delete directly. This class is reference counted. |
570 virtual ~RenderViewImpl(); | 560 virtual ~RenderViewImpl(); |
571 | 561 |
572 private: | 562 private: |
573 // For unit tests. | 563 // For unit tests. |
574 friend class ExternalPopupMenuTest; | 564 friend class ExternalPopupMenuTest; |
575 friend class PepperDeviceTest; | 565 friend class PepperDeviceTest; |
576 friend class RendererAccessibilityTest; | |
577 friend class RenderViewImplTest; | 566 friend class RenderViewImplTest; |
578 friend class RenderViewTest; | 567 friend class RenderViewTest; |
| 568 friend class RendererAccessibilityTest; |
579 | 569 |
580 // TODO(nasko): Temporarily friend RenderFrameImpl, so we don't duplicate | 570 // TODO(nasko): Temporarily friend RenderFrameImpl, so we don't duplicate |
581 // utility functions needed in both classes, while we move frame specific | 571 // utility functions needed in both classes, while we move frame specific |
582 // code away from this class. | 572 // code away from this class. |
583 friend class RenderFrameImpl; | 573 friend class RenderFrameImpl; |
584 | 574 |
585 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuRemoveTest, RemoveOnChange); | 575 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuRemoveTest, RemoveOnChange); |
586 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, NormalCase); | 576 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, NormalCase); |
587 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, ShowPopupThenNavigate); | 577 FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, ShowPopupThenNavigate); |
588 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, DecideNavigationPolicyForWebUI); | 578 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, DecideNavigationPolicyForWebUI); |
589 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, | 579 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, |
590 DidFailProvisionalLoadWithErrorForError); | 580 DidFailProvisionalLoadWithErrorForError); |
591 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, | 581 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, |
592 DidFailProvisionalLoadWithErrorForCancellation); | 582 DidFailProvisionalLoadWithErrorForCancellation); |
593 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, | 583 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, |
594 DontIgnoreBackAfterNavEntryLimit); | 584 DontIgnoreBackAfterNavEntryLimit); |
595 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, ImeComposition); | 585 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, ImeComposition); |
596 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, InsertCharacters); | 586 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, InsertCharacters); |
597 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, JSBlockSentAfterPageLoad); | 587 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, JSBlockSentAfterPageLoad); |
598 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, LastCommittedUpdateState); | 588 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, LastCommittedUpdateState); |
599 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnHandleKeyboardEvent); | 589 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnHandleKeyboardEvent); |
600 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnImeTypeChanged); | 590 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnImeTypeChanged); |
601 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnNavStateChanged); | 591 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnNavStateChanged); |
602 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnSetAccessibilityMode); | |
603 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnSetTextDirection); | 592 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnSetTextDirection); |
604 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnUpdateWebPreferences); | 593 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnUpdateWebPreferences); |
605 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, | 594 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, |
606 SetEditableSelectionAndComposition); | 595 SetEditableSelectionAndComposition); |
607 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, StaleNavigationsIgnored); | 596 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, StaleNavigationsIgnored); |
608 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, UpdateTargetURLWithInvalidURL); | 597 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, UpdateTargetURLWithInvalidURL); |
609 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, | 598 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, |
610 GetCompositionCharacterBoundsTest); | 599 GetCompositionCharacterBoundsTest); |
611 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnNavigationHttpPost); | 600 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, OnNavigationHttpPost); |
612 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, | 601 FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
717 const std::vector<base::FilePath>& local_paths, | 706 const std::vector<base::FilePath>& local_paths, |
718 const base::FilePath& local_directory_name); | 707 const base::FilePath& local_directory_name); |
719 void OnMediaPlayerActionAt(const gfx::Point& location, | 708 void OnMediaPlayerActionAt(const gfx::Point& location, |
720 const blink::WebMediaPlayerAction& action); | 709 const blink::WebMediaPlayerAction& action); |
721 void OnPluginActionAt(const gfx::Point& location, | 710 void OnPluginActionAt(const gfx::Point& location, |
722 const blink::WebPluginAction& action); | 711 const blink::WebPluginAction& action); |
723 void OnMoveOrResizeStarted(); | 712 void OnMoveOrResizeStarted(); |
724 void OnPostMessageEvent(const ViewMsg_PostMessage_Params& params); | 713 void OnPostMessageEvent(const ViewMsg_PostMessage_Params& params); |
725 void OnReleaseDisambiguationPopupBitmap(const cc::SharedBitmapId& id); | 714 void OnReleaseDisambiguationPopupBitmap(const cc::SharedBitmapId& id); |
726 void OnResetPageEncodingToDefault(); | 715 void OnResetPageEncodingToDefault(); |
727 void OnSetAccessibilityMode(AccessibilityMode new_mode); | |
728 void OnSetActive(bool active); | 716 void OnSetActive(bool active); |
729 void OnSetBackgroundOpaque(bool opaque); | 717 void OnSetBackgroundOpaque(bool opaque); |
730 void OnExitFullscreen(); | 718 void OnExitFullscreen(); |
731 void OnSetHistoryLengthAndPrune(int history_length, int32 minimum_page_id); | 719 void OnSetHistoryLengthAndPrune(int history_length, int32 minimum_page_id); |
732 void OnSetInitialFocus(bool reverse); | 720 void OnSetInitialFocus(bool reverse); |
733 void OnSetPageEncoding(const std::string& encoding_name); | 721 void OnSetPageEncoding(const std::string& encoding_name); |
734 void OnSetRendererPrefs(const RendererPreferences& renderer_prefs); | 722 void OnSetRendererPrefs(const RendererPreferences& renderer_prefs); |
735 void OnSetWebUIProperty(const std::string& name, const std::string& value); | 723 void OnSetWebUIProperty(const std::string& name, const std::string& value); |
736 void OnSetZoomLevelForLoadingURL(const GURL& url, double zoom_level); | 724 void OnSetZoomLevelForLoadingURL(const GURL& url, double zoom_level); |
737 void OnSetZoomLevelForView(bool uses_temporary_zoom_level, double level); | 725 void OnSetZoomLevelForView(bool uses_temporary_zoom_level, double level); |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1038 | 1026 |
1039 // The speech recognition dispatcher attached to this view, lazily | 1027 // The speech recognition dispatcher attached to this view, lazily |
1040 // initialized. | 1028 // initialized. |
1041 SpeechRecognitionDispatcher* speech_recognition_dispatcher_; | 1029 SpeechRecognitionDispatcher* speech_recognition_dispatcher_; |
1042 | 1030 |
1043 // BrowserPluginManager attached to this view; lazily initialized. | 1031 // BrowserPluginManager attached to this view; lazily initialized. |
1044 scoped_refptr<BrowserPluginManager> browser_plugin_manager_; | 1032 scoped_refptr<BrowserPluginManager> browser_plugin_manager_; |
1045 | 1033 |
1046 DevToolsAgent* devtools_agent_; | 1034 DevToolsAgent* devtools_agent_; |
1047 | 1035 |
1048 // The current accessibility mode. | |
1049 AccessibilityMode accessibility_mode_; | |
1050 | |
1051 // Only valid if |accessibility_mode_| is anything other than | |
1052 // AccessibilityModeOff. | |
1053 RendererAccessibility* renderer_accessibility_; | |
1054 | |
1055 // Mouse Lock dispatcher attached to this view. | 1036 // Mouse Lock dispatcher attached to this view. |
1056 MouseLockDispatcher* mouse_lock_dispatcher_; | 1037 MouseLockDispatcher* mouse_lock_dispatcher_; |
1057 | 1038 |
1058 scoped_ptr<HistoryController> history_controller_; | 1039 scoped_ptr<HistoryController> history_controller_; |
1059 | 1040 |
1060 #if defined(OS_ANDROID) | 1041 #if defined(OS_ANDROID) |
1061 // Android Specific --------------------------------------------------------- | 1042 // Android Specific --------------------------------------------------------- |
1062 | 1043 |
1063 // Expected id of the next content intent launched. Used to prevent scheduled | 1044 // Expected id of the next content intent launched. Used to prevent scheduled |
1064 // intents to be launched if aborted. | 1045 // intents to be launched if aborted. |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1164 // use the Observer interface to filter IPC messages and receive frame change | 1145 // use the Observer interface to filter IPC messages and receive frame change |
1165 // notifications. | 1146 // notifications. |
1166 // --------------------------------------------------------------------------- | 1147 // --------------------------------------------------------------------------- |
1167 | 1148 |
1168 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl); | 1149 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl); |
1169 }; | 1150 }; |
1170 | 1151 |
1171 } // namespace content | 1152 } // namespace content |
1172 | 1153 |
1173 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ | 1154 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ |
OLD | NEW |