OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ |
6 #define CONTENT_RENDERER_RENDER_VIEW_H_ | 6 #define CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <deque> | 9 #include <deque> |
10 #include <map> | 10 #include <map> |
11 #include <queue> | 11 #include <queue> |
12 #include <set> | 12 #include <set> |
13 #include <string> | 13 #include <string> |
14 #include <vector> | 14 #include <vector> |
15 | 15 |
16 #include "base/basictypes.h" | 16 #include "base/basictypes.h" |
(...skipping 23 matching lines...) Expand all Loading... |
40 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPageSerializerClie
nt.h" | 40 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPageSerializerClie
nt.h" |
41 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPageVisibilityStat
e.h" | 41 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPageVisibilityStat
e.h" |
42 #include "third_party/WebKit/Source/WebKit/chromium/public/WebTextDirection.h" | 42 #include "third_party/WebKit/Source/WebKit/chromium/public/WebTextDirection.h" |
43 #include "third_party/WebKit/Source/WebKit/chromium/public/WebViewClient.h" | 43 #include "third_party/WebKit/Source/WebKit/chromium/public/WebViewClient.h" |
44 #include "third_party/WebKit/Source/WebKit/chromium/public/WebNavigationType.h" | 44 #include "third_party/WebKit/Source/WebKit/chromium/public/WebNavigationType.h" |
45 #include "ui/gfx/surface/transport_dib.h" | 45 #include "ui/gfx/surface/transport_dib.h" |
46 #include "webkit/glue/webpreferences.h" | 46 #include "webkit/glue/webpreferences.h" |
47 #include "webkit/plugins/npapi/webplugin_page_delegate.h" | 47 #include "webkit/plugins/npapi/webplugin_page_delegate.h" |
48 | 48 |
49 #if defined(OS_WIN) | 49 #if defined(OS_WIN) |
50 // RenderView is a diamond-shaped hierarchy, with WebWidgetClient at the root. | 50 // RenderViewImpl is a diamond-shaped hierarchy, with WebWidgetClient at the |
51 // VS warns when we inherit the WebWidgetClient method implementations from | 51 // root. VS warns when we inherit the WebWidgetClient method implementations |
52 // RenderWidget. It's safe to ignore that warning. | 52 // from RenderWidget. It's safe to ignore that warning. |
53 #pragma warning(disable: 4250) | 53 #pragma warning(disable: 4250) |
54 #endif | 54 #endif |
55 | 55 |
56 class AudioMessageFilter; | 56 class AudioMessageFilter; |
57 class DeviceOrientationDispatcher; | 57 class DeviceOrientationDispatcher; |
58 class DevToolsAgent; | 58 class DevToolsAgent; |
59 class ExternalPopupMenu; | 59 class ExternalPopupMenu; |
60 class GeolocationDispatcher; | 60 class GeolocationDispatcher; |
61 class GURL; | 61 class GURL; |
62 class IntentsDispatcher; | 62 class IntentsDispatcher; |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 struct WebPoint; | 140 struct WebPoint; |
141 struct WebWindowFeatures; | 141 struct WebWindowFeatures; |
142 } | 142 } |
143 | 143 |
144 // We need to prevent a page from trying to create infinite popups. It is not | 144 // We need to prevent a page from trying to create infinite popups. It is not |
145 // as simple as keeping a count of the number of immediate children | 145 // as simple as keeping a count of the number of immediate children |
146 // popups. Having an html file that window.open()s itself would create | 146 // popups. Having an html file that window.open()s itself would create |
147 // an unlimited chain of RenderViews who only have one RenderView child. | 147 // an unlimited chain of RenderViews who only have one RenderView child. |
148 // | 148 // |
149 // Therefore, each new top level RenderView creates a new counter and shares it | 149 // Therefore, each new top level RenderView creates a new counter and shares it |
150 // with all its children and grandchildren popup RenderViews created with | 150 // with all its children and grandchildren popup RenderViewImpls created with |
151 // createView() to have a sort of global limit for the page so no more than | 151 // createView() to have a sort of global limit for the page so no more than |
152 // kMaximumNumberOfPopups popups are created. | 152 // kMaximumNumberOfPopups popups are created. |
153 // | 153 // |
154 // This is a RefCounted holder of an int because I can't say | 154 // This is a RefCounted holder of an int because I can't say |
155 // scoped_refptr<int>. | 155 // scoped_refptr<int>. |
156 typedef base::RefCountedData<int> SharedRenderViewCounter; | 156 typedef base::RefCountedData<int> SharedRenderViewCounter; |
157 | 157 |
158 // | 158 // |
159 // RenderView is an object that manages a WebView object, and provides a | 159 // RenderView is an object that manages a WebView object, and provides a |
160 // communication interface with an embedding application process | 160 // communication interface with an embedding application process |
161 // | 161 // |
162 class RenderView : public RenderWidget, | 162 class RenderViewImpl : public RenderWidget, |
163 public WebKit::WebViewClient, | 163 public WebKit::WebViewClient, |
164 public WebKit::WebFrameClient, | 164 public WebKit::WebFrameClient, |
165 public WebKit::WebPageSerializerClient, | 165 public WebKit::WebPageSerializerClient, |
166 public content::RenderView, | 166 public content::RenderView, |
167 public webkit::npapi::WebPluginPageDelegate, | 167 public webkit::npapi::WebPluginPageDelegate, |
168 public base::SupportsWeakPtr<RenderView> { | 168 public base::SupportsWeakPtr<RenderViewImpl> { |
169 public: | 169 public: |
170 // Creates a new RenderView. The parent_hwnd specifies a HWND to use as the | 170 // Creates a new RenderView. The parent_hwnd specifies a HWND to use as the |
171 // parent of the WebView HWND that will be created. If this is a blocked | 171 // parent of the WebView HWND that will be created. If this is a blocked |
172 // popup or as a new tab, opener_id is the routing ID of the RenderView | 172 // popup or as a new tab, opener_id is the routing ID of the RenderView |
173 // responsible for creating this RenderView (corresponding to parent_hwnd). | 173 // responsible for creating this RenderView (corresponding to parent_hwnd). |
174 // |counter| is either a currently initialized counter, or NULL (in which case | 174 // |counter| is either a currently initialized counter, or NULL (in which case |
175 // we treat this RenderView as a top level window). | 175 // we treat this RenderView as a top level window). |
176 CONTENT_EXPORT static RenderView* Create( | 176 CONTENT_EXPORT static RenderViewImpl* Create( |
177 gfx::NativeViewId parent_hwnd, | 177 gfx::NativeViewId parent_hwnd, |
178 int32 opener_id, | 178 int32 opener_id, |
179 const RendererPreferences& renderer_prefs, | 179 const RendererPreferences& renderer_prefs, |
180 const WebPreferences& webkit_prefs, | 180 const WebPreferences& webkit_prefs, |
181 SharedRenderViewCounter* counter, | 181 SharedRenderViewCounter* counter, |
182 int32 routing_id, | 182 int32 routing_id, |
183 int64 session_storage_namespace_id, | 183 int64 session_storage_namespace_id, |
184 const string16& frame_name); | 184 const string16& frame_name); |
185 | 185 |
186 // Returns the RenderView containing the given WebView. | 186 // Returns the RenderViewImpl containing the given WebView. |
187 CONTENT_EXPORT static RenderView* FromWebView(WebKit::WebView* webview); | 187 CONTENT_EXPORT static RenderViewImpl* FromWebView(WebKit::WebView* webview); |
188 | 188 |
189 // Sets the "next page id" counter. | 189 // Sets the "next page id" counter. |
190 static void SetNextPageID(int32 next_page_id); | 190 static void SetNextPageID(int32 next_page_id); |
191 | 191 |
192 // May return NULL when the view is closing. | 192 // May return NULL when the view is closing. |
193 CONTENT_EXPORT WebKit::WebView* webview() const; | 193 CONTENT_EXPORT WebKit::WebView* webview() const; |
194 | 194 |
195 // Called by a GraphicsContext associated with this view when swapbuffers | 195 // Called by a GraphicsContext associated with this view when swapbuffers |
196 // is posted, completes or is aborted. | 196 // is posted, completes or is aborted. |
197 void OnViewContextSwapBuffersPosted(); | 197 void OnViewContextSwapBuffersPosted(); |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
664 FRIEND_TEST_ALL_PREFIXES(RenderViewTest, SetHistoryLengthAndPrune); | 664 FRIEND_TEST_ALL_PREFIXES(RenderViewTest, SetHistoryLengthAndPrune); |
665 | 665 |
666 typedef std::map<GURL, double> HostZoomLevels; | 666 typedef std::map<GURL, double> HostZoomLevels; |
667 | 667 |
668 enum ErrorPageType { | 668 enum ErrorPageType { |
669 DNS_ERROR, | 669 DNS_ERROR, |
670 HTTP_404, | 670 HTTP_404, |
671 CONNECTION_ERROR, | 671 CONNECTION_ERROR, |
672 }; | 672 }; |
673 | 673 |
674 RenderView(gfx::NativeViewId parent_hwnd, | 674 RenderViewImpl(gfx::NativeViewId parent_hwnd, |
675 int32 opener_id, | 675 int32 opener_id, |
676 const RendererPreferences& renderer_prefs, | 676 const RendererPreferences& renderer_prefs, |
677 const WebPreferences& webkit_prefs, | 677 const WebPreferences& webkit_prefs, |
678 SharedRenderViewCounter* counter, | 678 SharedRenderViewCounter* counter, |
679 int32 routing_id, | 679 int32 routing_id, |
680 int64 session_storage_namespace_id, | 680 int64 session_storage_namespace_id, |
681 const string16& frame_name); | 681 const string16& frame_name); |
682 | 682 |
683 // Do not delete directly. This class is reference counted. | 683 // Do not delete directly. This class is reference counted. |
684 virtual ~RenderView(); | 684 virtual ~RenderViewImpl(); |
685 | 685 |
686 void UpdateURL(WebKit::WebFrame* frame); | 686 void UpdateURL(WebKit::WebFrame* frame); |
687 void UpdateTitle(WebKit::WebFrame* frame, const string16& title, | 687 void UpdateTitle(WebKit::WebFrame* frame, const string16& title, |
688 WebKit::WebTextDirection title_direction); | 688 WebKit::WebTextDirection title_direction); |
689 void UpdateSessionHistory(WebKit::WebFrame* frame); | 689 void UpdateSessionHistory(WebKit::WebFrame* frame); |
690 | 690 |
691 // Update current main frame's encoding and send it to browser window. | 691 // Update current main frame's encoding and send it to browser window. |
692 // Since we want to let users see the right encoding info from menu | 692 // Since we want to let users see the right encoding info from menu |
693 // before finishing loading, we call the UpdateEncoding in | 693 // before finishing loading, we call the UpdateEncoding in |
694 // a) function:DidCommitLoadForFrame. When this function is called, | 694 // a) function:DidCommitLoadForFrame. When this function is called, |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 | 857 |
858 // Check whether the preferred size has changed. | 858 // Check whether the preferred size has changed. |
859 void CheckPreferredSize(); | 859 void CheckPreferredSize(); |
860 | 860 |
861 // This callback is triggered when DownloadFavicon completes, either | 861 // This callback is triggered when DownloadFavicon completes, either |
862 // succesfully or with a failure. See DownloadFavicon for more | 862 // succesfully or with a failure. See DownloadFavicon for more |
863 // details. | 863 // details. |
864 void DidDownloadFavicon(webkit_glue::ImageResourceFetcher* fetcher, | 864 void DidDownloadFavicon(webkit_glue::ImageResourceFetcher* fetcher, |
865 const SkBitmap& image); | 865 const SkBitmap& image); |
866 | 866 |
867 // Requests to download a favicon image. When done, the RenderView | 867 // Requests to download a favicon image. When done, the RenderView is notified |
868 // is notified by way of DidDownloadFavicon. Returns true if the | 868 // by way of DidDownloadFavicon. Returns true if the request was successfully |
869 // request was successfully started, false otherwise. id is used to | 869 // started, false otherwise. id is used to uniquely identify the request and |
870 // uniquely identify the request and passed back to the | 870 // passed back to the DidDownloadFavicon method. If the image has multiple |
871 // DidDownloadFavicon method. If the image has multiple frames, the | 871 // frames, the frame whose size is image_size is returned. If the image |
872 // frame whose size is image_size is returned. If the image doesn't | 872 // doesn't have a frame at the specified size, the first is returned. |
873 // have a frame at the specified size, the first is returned. | |
874 bool DownloadFavicon(int id, const GURL& image_url, int image_size); | 873 bool DownloadFavicon(int id, const GURL& image_url, int image_size); |
875 | 874 |
876 GURL GetAlternateErrorPageURL(const GURL& failed_url, | 875 GURL GetAlternateErrorPageURL(const GURL& failed_url, |
877 ErrorPageType error_type); | 876 ErrorPageType error_type); |
878 | 877 |
879 // Locates a sub frame with given xpath | 878 // Locates a sub frame with given xpath |
880 WebKit::WebFrame* GetChildFrame(const string16& frame_xpath) const; | 879 WebKit::WebFrame* GetChildFrame(const string16& frame_xpath) const; |
881 | 880 |
882 // Returns the opener url if present, else an empty url. | 881 // Returns the opener url if present, else an empty url. |
883 GURL GetOpenerUrl() const; | 882 GURL GetOpenerUrl() const; |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
985 // It is empty if there is no top-level client-side redirect. | 984 // It is empty if there is no top-level client-side redirect. |
986 GURL completed_client_redirect_src_; | 985 GURL completed_client_redirect_src_; |
987 | 986 |
988 // Holds state pertaining to a navigation that we initiated. This is held by | 987 // Holds state pertaining to a navigation that we initiated. This is held by |
989 // the WebDataSource::ExtraData attribute. We use pending_navigation_state_ | 988 // the WebDataSource::ExtraData attribute. We use pending_navigation_state_ |
990 // as a temporary holder for the state until the WebDataSource corresponding | 989 // as a temporary holder for the state until the WebDataSource corresponding |
991 // to the new navigation is created. See DidCreateDataSource. | 990 // to the new navigation is created. See DidCreateDataSource. |
992 scoped_ptr<content::NavigationState> pending_navigation_state_; | 991 scoped_ptr<content::NavigationState> pending_navigation_state_; |
993 | 992 |
994 // Timer used to delay the updating of nav state (see SyncNavigationState). | 993 // Timer used to delay the updating of nav state (see SyncNavigationState). |
995 base::OneShotTimer<RenderView> nav_state_sync_timer_; | 994 base::OneShotTimer<RenderViewImpl> nav_state_sync_timer_; |
996 | 995 |
997 // Page IDs ------------------------------------------------------------------ | 996 // Page IDs ------------------------------------------------------------------ |
998 // See documentation in content::RenderView. | 997 // See documentation in content::RenderView. |
999 int32 page_id_; | 998 int32 page_id_; |
1000 | 999 |
1001 // Indicates the ID of the last page that we sent a FrameNavigate to the | 1000 // Indicates the ID of the last page that we sent a FrameNavigate to the |
1002 // browser for. This is used to determine if the most recent transition | 1001 // browser for. This is used to determine if the most recent transition |
1003 // generated a history entry (less than page_id_), or not (equal to or | 1002 // generated a history entry (less than page_id_), or not (equal to or |
1004 // greater than). Note that this will be greater than page_id_ if the user | 1003 // greater than). Note that this will be greater than page_id_ if the user |
1005 // goes back. | 1004 // goes back. |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1065 RenderViewSelection last_selection_; | 1064 RenderViewSelection last_selection_; |
1066 | 1065 |
1067 // View ---------------------------------------------------------------------- | 1066 // View ---------------------------------------------------------------------- |
1068 | 1067 |
1069 // Cache the preferred size of the page in order to prevent sending the IPC | 1068 // Cache the preferred size of the page in order to prevent sending the IPC |
1070 // when layout() recomputes but doesn't actually change sizes. | 1069 // when layout() recomputes but doesn't actually change sizes. |
1071 gfx::Size preferred_size_; | 1070 gfx::Size preferred_size_; |
1072 | 1071 |
1073 // Used to delay determining the preferred size (to avoid intermediate | 1072 // Used to delay determining the preferred size (to avoid intermediate |
1074 // states for the sizes). | 1073 // states for the sizes). |
1075 base::OneShotTimer<RenderView> check_preferred_size_timer_; | 1074 base::OneShotTimer<RenderViewImpl> check_preferred_size_timer_; |
1076 | 1075 |
1077 // These store the "is main frame is scrolled all the way to the left | 1076 // These store the "is main frame is scrolled all the way to the left |
1078 // or right" state that was last sent to the browser. | 1077 // or right" state that was last sent to the browser. |
1079 bool cached_is_main_frame_pinned_to_left_; | 1078 bool cached_is_main_frame_pinned_to_left_; |
1080 bool cached_is_main_frame_pinned_to_right_; | 1079 bool cached_is_main_frame_pinned_to_right_; |
1081 | 1080 |
1082 // These store the "has scrollbars" state last sent to the browser. | 1081 // These store the "has scrollbars" state last sent to the browser. |
1083 bool cached_has_main_frame_horizontal_scrollbar_; | 1082 bool cached_has_main_frame_horizontal_scrollbar_; |
1084 bool cached_has_main_frame_vertical_scrollbar_; | 1083 bool cached_has_main_frame_vertical_scrollbar_; |
1085 | 1084 |
1086 #if defined(OS_MACOSX) | 1085 #if defined(OS_MACOSX) |
1087 // Track the fake plugin window handles allocated on the browser side for | 1086 // Track the fake plugin window handles allocated on the browser side for |
1088 // the accelerated compositor and (currently) accelerated plugins so that | 1087 // the accelerated compositor and (currently) accelerated plugins so that |
1089 // we can discard them when the view goes away. | 1088 // we can discard them when the view goes away. |
1090 std::set<gfx::PluginWindowHandle> fake_plugin_window_handles_; | 1089 std::set<gfx::PluginWindowHandle> fake_plugin_window_handles_; |
1091 #endif | 1090 #endif |
1092 | 1091 |
1093 // Plugins ------------------------------------------------------------------- | 1092 // Plugins ------------------------------------------------------------------- |
1094 | 1093 |
1095 PepperPluginDelegateImpl pepper_delegate_; | 1094 PepperPluginDelegateImpl pepper_delegate_; |
1096 | 1095 |
1097 // All the currently active plugin delegates for this RenderView; kept so that | 1096 // All the currently active plugin delegates for this RenderView; kept so |
1098 // we can enumerate them to send updates about things like window location | 1097 // that we can enumerate them to send updates about things like window |
1099 // or tab focus and visibily. These are non-owning references. | 1098 // location or tab focus and visibily. These are non-owning references. |
1100 std::set<WebPluginDelegateProxy*> plugin_delegates_; | 1099 std::set<WebPluginDelegateProxy*> plugin_delegates_; |
1101 | 1100 |
1102 #if defined(OS_WIN) | 1101 #if defined(OS_WIN) |
1103 // The ID of the focused NPAPI plug-in. | 1102 // The ID of the focused NPAPI plug-in. |
1104 int focused_plugin_id_; | 1103 int focused_plugin_id_; |
1105 #endif | 1104 #endif |
1106 | 1105 |
1107 // Helper objects ------------------------------------------------------------ | 1106 // Helper objects ------------------------------------------------------------ |
1108 | 1107 |
1109 RendererWebCookieJarImpl cookie_jar_; | 1108 RendererWebCookieJarImpl cookie_jar_; |
1110 | 1109 |
1111 // The next group of objects all implement RenderViewObserver, so are deleted | 1110 // The next group of objects all implement RenderViewObserver, so are deleted |
1112 // along with the RenderView automatically. This is why we just store weak | 1111 // along with the RenderView automatically. This is why we just store |
1113 // references. | 1112 // weak references. |
1114 | 1113 |
1115 // Holds a reference to the service which provides desktop notifications. | 1114 // Holds a reference to the service which provides desktop notifications. |
1116 NotificationProvider* notification_provider_; | 1115 NotificationProvider* notification_provider_; |
1117 | 1116 |
1118 // The geolocation dispatcher attached to this view, lazily initialized. | 1117 // The geolocation dispatcher attached to this view, lazily initialized. |
1119 GeolocationDispatcher* geolocation_dispatcher_; | 1118 GeolocationDispatcher* geolocation_dispatcher_; |
1120 | 1119 |
1121 // The intents dispatcher attached to this view. Not lazily initialized. | 1120 // The intents dispatcher attached to this view. Not lazily initialized. |
1122 IntentsDispatcher* intents_dispatcher_; | 1121 IntentsDispatcher* intents_dispatcher_; |
1123 | 1122 |
(...skipping 25 matching lines...) Expand all Loading... |
1149 // The current directory enumeration callback | 1148 // The current directory enumeration callback |
1150 std::map<int, WebKit::WebFileChooserCompletion*> enumeration_completions_; | 1149 std::map<int, WebKit::WebFileChooserCompletion*> enumeration_completions_; |
1151 int enumeration_completion_id_; | 1150 int enumeration_completion_id_; |
1152 | 1151 |
1153 // The SessionStorage namespace that we're assigned to has an ID, and that ID | 1152 // The SessionStorage namespace that we're assigned to has an ID, and that ID |
1154 // is passed to us upon creation. WebKit asks for this ID upon first use and | 1153 // is passed to us upon creation. WebKit asks for this ID upon first use and |
1155 // uses it whenever asking the browser process to allocate new storage areas. | 1154 // uses it whenever asking the browser process to allocate new storage areas. |
1156 int64 session_storage_namespace_id_; | 1155 int64 session_storage_namespace_id_; |
1157 | 1156 |
1158 // The total number of unrequested popups that exist and can be followed back | 1157 // The total number of unrequested popups that exist and can be followed back |
1159 // to a common opener. This count is shared among all RenderViews created | 1158 // to a common opener. This count is shared among all RenderViews created with |
1160 // with createView(). All popups are treated as unrequested until | 1159 // createView(). All popups are treated as unrequested until specifically |
1161 // specifically instructed otherwise by the Browser process. | 1160 // instructed otherwise by the Browser process. |
1162 scoped_refptr<SharedRenderViewCounter> shared_popup_counter_; | 1161 scoped_refptr<SharedRenderViewCounter> shared_popup_counter_; |
1163 | 1162 |
1164 // Whether this is a top level window (instead of a popup). Top level windows | 1163 // Whether this is a top level window (instead of a popup). Top level windows |
1165 // shouldn't count against their own |shared_popup_counter_|. | 1164 // shouldn't count against their own |shared_popup_counter_|. |
1166 bool decrement_shared_popup_at_destruction_; | 1165 bool decrement_shared_popup_at_destruction_; |
1167 | 1166 |
1168 // If the browser hasn't sent us an ACK for the last FindReply we sent | 1167 // If the browser hasn't sent us an ACK for the last FindReply we sent |
1169 // to it, then we need to queue up the message (keeping only the most | 1168 // to it, then we need to queue up the message (keeping only the most |
1170 // recent message if new ones come in). | 1169 // recent message if new ones come in). |
1171 scoped_ptr<IPC::Message> queued_find_reply_message_; | 1170 scoped_ptr<IPC::Message> queued_find_reply_message_; |
(...skipping 20 matching lines...) Expand all Loading... |
1192 ObserverList<content::RenderViewObserver> observers_; | 1191 ObserverList<content::RenderViewObserver> observers_; |
1193 | 1192 |
1194 // Used to inform didChangeSelection() when it is called in the context | 1193 // Used to inform didChangeSelection() when it is called in the context |
1195 // of handling a ViewMsg_SelectRange IPC. | 1194 // of handling a ViewMsg_SelectRange IPC. |
1196 bool handling_select_range_; | 1195 bool handling_select_range_; |
1197 | 1196 |
1198 // --------------------------------------------------------------------------- | 1197 // --------------------------------------------------------------------------- |
1199 // ADDING NEW DATA? Please see if it fits appropriately in one of the above | 1198 // ADDING NEW DATA? Please see if it fits appropriately in one of the above |
1200 // sections rather than throwing it randomly at the end. If you're adding a | 1199 // sections rather than throwing it randomly at the end. If you're adding a |
1201 // bunch of stuff, you should probably create a helper class and put your | 1200 // bunch of stuff, you should probably create a helper class and put your |
1202 // data and methods on that to avoid bloating RenderView more. You can use | 1201 // data and methods on that to avoid bloating RenderView more. You can |
1203 // the Observer interface to filter IPC messages and receive frame change | 1202 // use the Observer interface to filter IPC messages and receive frame change |
1204 // notifications. | 1203 // notifications. |
1205 // --------------------------------------------------------------------------- | 1204 // --------------------------------------------------------------------------- |
1206 | 1205 |
1207 DISALLOW_COPY_AND_ASSIGN(RenderView); | 1206 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl); |
1208 }; | 1207 }; |
1209 | 1208 |
1210 #endif // CONTENT_RENDERER_RENDER_VIEW_H_ | 1209 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ |
OLD | NEW |