Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(535)

Side by Side Diff: content/renderer/render_view.h

Issue 6873014: Clear RenderThread of any Chrome specific code, and move a bunch of stuff out of RenderView. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/renderer/render_thread.cc ('k') | content/renderer/render_view.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_H_
6 #define CONTENT_RENDERER_RENDER_VIEW_H_ 6 #define CONTENT_RENDERER_RENDER_VIEW_H_
7 #pragma once 7 #pragma once
8 8
9 #include <deque> 9 #include <deque>
10 #include <map> 10 #include <map>
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 class SpeechInputDispatcher; 73 class SpeechInputDispatcher;
74 class WebPluginDelegatePepper; 74 class WebPluginDelegatePepper;
75 class WebPluginDelegateProxy; 75 class WebPluginDelegateProxy;
76 class WebUIBindings; 76 class WebUIBindings;
77 struct ContextMenuMediaParams; 77 struct ContextMenuMediaParams;
78 struct PP_Flash_NetAddress; 78 struct PP_Flash_NetAddress;
79 struct ViewHostMsg_RunFileChooser_Params; 79 struct ViewHostMsg_RunFileChooser_Params;
80 struct ViewMsg_ClosePage_Params; 80 struct ViewMsg_ClosePage_Params;
81 struct ViewMsg_Navigate_Params; 81 struct ViewMsg_Navigate_Params;
82 struct ViewMsg_StopFinding_Params; 82 struct ViewMsg_StopFinding_Params;
83 struct WebApplicationInfo;
84 struct WebDropData; 83 struct WebDropData;
85 84
86 namespace base { 85 namespace base {
87 class WaitableEvent; 86 class WaitableEvent;
88 } 87 }
89 88
90 namespace chrome { 89 namespace chrome {
91 class ChromeContentRendererClient; 90 class ChromeContentRendererClient;
92 } 91 }
93 92
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 WebKit::WebFileChooserCompletion* completion); 274 WebKit::WebFileChooserCompletion* completion);
276 275
277 // Sets the content settings that back allowScripts(), allowImages(), and 276 // Sets the content settings that back allowScripts(), allowImages(), and
278 // allowPlugins(). 277 // allowPlugins().
279 void SetContentSettings(const ContentSettings& settings); 278 void SetContentSettings(const ContentSettings& settings);
280 279
281 // Notifies the browser that the given action has been performed. This is 280 // Notifies the browser that the given action has been performed. This is
282 // aggregated to the user metrics service. 281 // aggregated to the user metrics service.
283 void UserMetricsRecordAction(const std::string& action); 282 void UserMetricsRecordAction(const std::string& action);
284 283
285 // Starts installation of the page in the specified frame as a web app. The
286 // page must link to an external 'definition file'. This is different from
287 // the 'application shortcuts' feature where we pull the application
288 // definition out of optional meta tags in the page.
289 bool InstallWebApplicationUsingDefinitionFile(WebKit::WebFrame* frame,
290 string16* error);
291
292 // Sets whether the renderer should report load progress to the browser. 284 // Sets whether the renderer should report load progress to the browser.
293 void SetReportLoadProgressEnabled(bool enabled); 285 void SetReportLoadProgressEnabled(bool enabled);
294 286
287 // Gets the focused node. If no such node exists then the node will be isNull.
288 WebKit::WebNode GetFocusedNode() const;
289
290 // Returns true if the parameter node is a textfield, text area or a content
291 // editable div.
292 bool IsEditableNode(const WebKit::WebNode& node);
293
295 // Plugin-related functions -------------------------------------------------- 294 // Plugin-related functions --------------------------------------------------
296 // (See also WebPluginPageDelegate implementation.) 295 // (See also WebPluginPageDelegate implementation.)
297 296
298 // Notification that the given plugin has crashed. 297 // Notification that the given plugin has crashed.
299 void PluginCrashed(const FilePath& plugin_path); 298 void PluginCrashed(const FilePath& plugin_path);
300 299
301 // Notification that the default plugin has done something about a missing 300 // Notification that the default plugin has done something about a missing
302 // plugin. See default_plugin_shared.h for possible values of |status|. 301 // plugin. See default_plugin_shared.h for possible values of |status|.
303 void OnMissingPluginStatus(WebPluginDelegateProxy* delegate, 302 void OnMissingPluginStatus(WebPluginDelegateProxy* delegate,
304 int status); 303 int status);
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
603 virtual void DidStartLoadingForPlugin(); 602 virtual void DidStartLoadingForPlugin();
604 virtual void DidStopLoadingForPlugin(); 603 virtual void DidStopLoadingForPlugin();
605 virtual WebKit::WebCookieJar* GetCookieJar(); 604 virtual WebKit::WebCookieJar* GetCookieJar();
606 605
607 // Please do not add your stuff randomly to the end here. If there is an 606 // Please do not add your stuff randomly to the end here. If there is an
608 // appropriate section, add it there. If not, there are some random functions 607 // appropriate section, add it there. If not, there are some random functions
609 // nearer to the top you can add it to. 608 // nearer to the top you can add it to.
610 609
611 virtual void DidFlushPaint(); 610 virtual void DidFlushPaint();
612 611
612 // Cannot use std::set unfortunately since linked_ptr<> does not support
613 // operator<.
614 typedef std::vector<linked_ptr<webkit_glue::ImageResourceFetcher> >
615 ImageResourceFetcherList;
616
613 protected: 617 protected:
614 // RenderWidget overrides: 618 // RenderWidget overrides:
615 virtual void Close(); 619 virtual void Close();
616 virtual void OnResize(const gfx::Size& new_size, 620 virtual void OnResize(const gfx::Size& new_size,
617 const gfx::Rect& resizer_rect); 621 const gfx::Rect& resizer_rect);
618 virtual void DidInitiatePaint(); 622 virtual void DidInitiatePaint();
619 virtual webkit::ppapi::PluginInstance* GetBitmapForOptimizedPluginPaint( 623 virtual webkit::ppapi::PluginInstance* GetBitmapForOptimizedPluginPaint(
620 const gfx::Rect& paint_bounds, 624 const gfx::Rect& paint_bounds,
621 TransportDIB** dib, 625 TransportDIB** dib,
622 gfx::Rect* location, 626 gfx::Rect* location,
(...skipping 26 matching lines...) Expand all
649 FRIEND_TEST_ALL_PREFIXES(RenderViewTest, OnNavStateChanged); 653 FRIEND_TEST_ALL_PREFIXES(RenderViewTest, OnNavStateChanged);
650 FRIEND_TEST_ALL_PREFIXES(RenderViewTest, OnSetTextDirection); 654 FRIEND_TEST_ALL_PREFIXES(RenderViewTest, OnSetTextDirection);
651 FRIEND_TEST_ALL_PREFIXES(RenderViewTest, UpdateTargetURLWithInvalidURL); 655 FRIEND_TEST_ALL_PREFIXES(RenderViewTest, UpdateTargetURLWithInvalidURL);
652 #if defined(OS_MACOSX) 656 #if defined(OS_MACOSX)
653 FRIEND_TEST_ALL_PREFIXES(RenderViewTest, MacTestCmdUp); 657 FRIEND_TEST_ALL_PREFIXES(RenderViewTest, MacTestCmdUp);
654 #endif 658 #endif
655 659
656 typedef std::map<GURL, ContentSettings> HostContentSettings; 660 typedef std::map<GURL, ContentSettings> HostContentSettings;
657 typedef std::map<GURL, double> HostZoomLevels; 661 typedef std::map<GURL, double> HostZoomLevels;
658 662
659 // Cannot use std::set unfortunately since linked_ptr<> does not support
660 // operator<.
661 typedef std::vector<linked_ptr<webkit_glue::ImageResourceFetcher> >
662 ImageResourceFetcherList;
663
664 // Identifies an accessibility notification from webkit. 663 // Identifies an accessibility notification from webkit.
665 struct RendererAccessibilityNotification { 664 struct RendererAccessibilityNotification {
666 public: 665 public:
667 bool ShouldIncludeChildren(); 666 bool ShouldIncludeChildren();
668 667
669 // The webkit glue id of the accessibility object. 668 // The webkit glue id of the accessibility object.
670 int32 id; 669 int32 id;
671 670
672 // The accessibility notification type. 671 // The accessibility notification type.
673 WebKit::WebAccessibilityNotification type; 672 WebKit::WebAccessibilityNotification type;
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 WebKit::WebDragOperationsMask operations_allowed); 791 WebKit::WebDragOperationsMask operations_allowed);
793 void OnEnablePreferredSizeChangedMode(int flags); 792 void OnEnablePreferredSizeChangedMode(int flags);
794 void OnEnableViewSourceMode(); 793 void OnEnableViewSourceMode();
795 void OnEnumerateDirectoryResponse(int id, const std::vector<FilePath>& paths); 794 void OnEnumerateDirectoryResponse(int id, const std::vector<FilePath>& paths);
796 void OnExecuteEditCommand(const std::string& name, const std::string& value); 795 void OnExecuteEditCommand(const std::string& name, const std::string& value);
797 void OnFileChooserResponse(const std::vector<FilePath>& paths); 796 void OnFileChooserResponse(const std::vector<FilePath>& paths);
798 void OnFind(int request_id, const string16&, const WebKit::WebFindOptions&); 797 void OnFind(int request_id, const string16&, const WebKit::WebFindOptions&);
799 void OnFindReplyAck(); 798 void OnFindReplyAck();
800 void OnEnableAccessibility(); 799 void OnEnableAccessibility();
801 void OnGetAllSavableResourceLinksForCurrentPage(const GURL& page_url); 800 void OnGetAllSavableResourceLinksForCurrentPage(const GURL& page_url);
802 void OnGetApplicationInfo(int page_id);
803 void OnGetSerializedHtmlDataForCurrentPageWithLocalLinks( 801 void OnGetSerializedHtmlDataForCurrentPageWithLocalLinks(
804 const std::vector<GURL>& links, 802 const std::vector<GURL>& links,
805 const std::vector<FilePath>& local_paths, 803 const std::vector<FilePath>& local_paths,
806 const FilePath& local_directory_name); 804 const FilePath& local_directory_name);
807 void OnHandleMessageFromExternalHost(const std::string& message, 805 void OnHandleMessageFromExternalHost(const std::string& message,
808 const std::string& origin, 806 const std::string& origin,
809 const std::string& target); 807 const std::string& target);
810 void OnInstallMissingPlugin(); 808 void OnInstallMissingPlugin();
811 void OnDisplayPrerenderedPage(); 809 void OnDisplayPrerenderedPage();
812 void OnMediaPlayerActionAt(const gfx::Point& location, 810 void OnMediaPlayerActionAt(const gfx::Point& location,
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 // otherwise it's the empty string. 904 // otherwise it's the empty string.
907 void DidBlockContentType(ContentSettingsType settings_type, 905 void DidBlockContentType(ContentSettingsType settings_type,
908 const std::string& resource_identifier); 906 const std::string& resource_identifier);
909 907
910 // This callback is triggered when DownloadFavicon completes, either 908 // This callback is triggered when DownloadFavicon completes, either
911 // succesfully or with a failure. See DownloadFavicon for more 909 // succesfully or with a failure. See DownloadFavicon for more
912 // details. 910 // details.
913 void DidDownloadFavicon(webkit_glue::ImageResourceFetcher* fetcher, 911 void DidDownloadFavicon(webkit_glue::ImageResourceFetcher* fetcher,
914 const SkBitmap& image); 912 const SkBitmap& image);
915 913
916 // Callback triggered when we finish downloading the application definition
917 // file.
918 void DidDownloadApplicationDefinition(const WebKit::WebURLResponse& response,
919 const std::string& data);
920
921 // Callback triggered after each icon referenced by the application definition
922 // is downloaded.
923 void DidDownloadApplicationIcon(webkit_glue::ImageResourceFetcher* fetcher,
924 const SkBitmap& image);
925
926 // Requests to download a favicon image. When done, the RenderView 914 // Requests to download a favicon image. When done, the RenderView
927 // is notified by way of DidDownloadFavicon. Returns true if the 915 // is notified by way of DidDownloadFavicon. Returns true if the
928 // request was successfully started, false otherwise. id is used to 916 // request was successfully started, false otherwise. id is used to
929 // uniquely identify the request and passed back to the 917 // uniquely identify the request and passed back to the
930 // DidDownloadFavicon method. If the image has multiple frames, the 918 // DidDownloadFavicon method. If the image has multiple frames, the
931 // frame whose size is image_size is returned. If the image doesn't 919 // frame whose size is image_size is returned. If the image doesn't
932 // have a frame at the specified size, the first is returned. 920 // have a frame at the specified size, the first is returned.
933 bool DownloadFavicon(int id, const GURL& image_url, int image_size); 921 bool DownloadFavicon(int id, const GURL& image_url, int image_size);
934 922
935 GURL GetAlternateErrorPageURL(const GURL& failed_url, 923 GURL GetAlternateErrorPageURL(const GURL& failed_url,
936 ErrorPageType error_type); 924 ErrorPageType error_type);
937 925
938 // Locates a sub frame with given xpath 926 // Locates a sub frame with given xpath
939 WebKit::WebFrame* GetChildFrame(const std::wstring& frame_xpath) const; 927 WebKit::WebFrame* GetChildFrame(const std::wstring& frame_xpath) const;
940 928
941 // Gets the focused node. If no such node exists then the node will be isNull.
942 WebKit::WebNode GetFocusedNode() const;
943
944 WebUIBindings* GetWebUIBindings(); 929 WebUIBindings* GetWebUIBindings();
945 930
946 ExternalHostBindings* GetExternalHostBindings(); 931 ExternalHostBindings* GetExternalHostBindings();
947 932
948 // Should only be called if this object wraps a PluginDocument. 933 // Should only be called if this object wraps a PluginDocument.
949 WebKit::WebPlugin* GetWebPluginFromPluginDocument(); 934 WebKit::WebPlugin* GetWebPluginFromPluginDocument();
950 935
951 // Decodes a data: URL image or returns an empty image in case of failure. 936 // Decodes a data: URL image or returns an empty image in case of failure.
952 SkBitmap ImageFromDataUrl(const GURL&) const; 937 SkBitmap ImageFromDataUrl(const GURL&) const;
953 938
(...skipping 29 matching lines...) Expand all
983 #if defined(OS_LINUX) 968 #if defined(OS_LINUX)
984 void UpdateFontRenderingFromRendererPrefs(); 969 void UpdateFontRenderingFromRendererPrefs();
985 #else 970 #else
986 void UpdateFontRenderingFromRendererPrefs() {} 971 void UpdateFontRenderingFromRendererPrefs() {}
987 #endif 972 #endif
988 973
989 // Update the target url and tell the browser that the target URL has changed. 974 // Update the target url and tell the browser that the target URL has changed.
990 // If |url| is empty, show |fallback_url|. 975 // If |url| is empty, show |fallback_url|.
991 void UpdateTargetURL(const GURL& url, const GURL& fallback_url); 976 void UpdateTargetURL(const GURL& url, const GURL& fallback_url);
992 977
993 // Updates the state of the toggle spell check command in the browser process.
994 void UpdateToggleSpellCheckCommandState();
995
996 // Helper to add an error message to the root frame's console.
997 void AddErrorToRootConsole(const string16& message);
998
999 // --------------------------------------------------------------------------- 978 // ---------------------------------------------------------------------------
1000 // ADDING NEW FUNCTIONS? Please keep private functions alphabetized and put 979 // ADDING NEW FUNCTIONS? Please keep private functions alphabetized and put
1001 // it in the same order in the .cc file as it was in the header. 980 // it in the same order in the .cc file as it was in the header.
1002 // --------------------------------------------------------------------------- 981 // ---------------------------------------------------------------------------
1003 982
1004 // Settings ------------------------------------------------------------------ 983 // Settings ------------------------------------------------------------------
1005 984
1006 WebPreferences webkit_preferences_; 985 WebPreferences webkit_preferences_;
1007 RendererPreferences renderer_preferences_; 986 RendererPreferences renderer_preferences_;
1008 987
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
1239 struct PendingFileChooser; 1218 struct PendingFileChooser;
1240 std::deque< linked_ptr<PendingFileChooser> > file_chooser_completions_; 1219 std::deque< linked_ptr<PendingFileChooser> > file_chooser_completions_;
1241 1220
1242 // The current directory enumeration callback 1221 // The current directory enumeration callback
1243 std::map<int, WebKit::WebFileChooserCompletion*> enumeration_completions_; 1222 std::map<int, WebKit::WebFileChooserCompletion*> enumeration_completions_;
1244 int enumeration_completion_id_; 1223 int enumeration_completion_id_;
1245 1224
1246 // ImageResourceFetchers schedule via DownloadImage. 1225 // ImageResourceFetchers schedule via DownloadImage.
1247 ImageResourceFetcherList image_fetchers_; 1226 ImageResourceFetcherList image_fetchers_;
1248 1227
1249 // The app info that we are processing. This is used when installing an app
1250 // via application definition. The in-progress web app is stored here while
1251 // its manifest and icons are downloaded.
1252 scoped_ptr<WebApplicationInfo> pending_app_info_;
1253
1254 // Used to download the application definition file.
1255 scoped_ptr<webkit_glue::ResourceFetcher> app_definition_fetcher_;
1256
1257 // Used to download the icons for an application.
1258 ImageResourceFetcherList app_icon_fetchers_;
1259
1260 // The number of app icon requests outstanding. When this reaches zero, we're
1261 // done processing an app definition file.
1262 int pending_app_icon_requests_;
1263
1264 // The SessionStorage namespace that we're assigned to has an ID, and that ID 1228 // The SessionStorage namespace that we're assigned to has an ID, and that ID
1265 // is passed to us upon creation. WebKit asks for this ID upon first use and 1229 // is passed to us upon creation. WebKit asks for this ID upon first use and
1266 // uses it whenever asking the browser process to allocate new storage areas. 1230 // uses it whenever asking the browser process to allocate new storage areas.
1267 int64 session_storage_namespace_id_; 1231 int64 session_storage_namespace_id_;
1268 1232
1269 // The total number of unrequested popups that exist and can be followed back 1233 // The total number of unrequested popups that exist and can be followed back
1270 // to a common opener. This count is shared among all RenderViews created 1234 // to a common opener. This count is shared among all RenderViews created
1271 // with createView(). All popups are treated as unrequested until 1235 // with createView(). All popups are treated as unrequested until
1272 // specifically instructed otherwise by the Browser process. 1236 // specifically instructed otherwise by the Browser process.
1273 scoped_refptr<SharedRenderViewCounter> shared_popup_counter_; 1237 scoped_refptr<SharedRenderViewCounter> shared_popup_counter_;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1315 // bunch of stuff, you should probably create a helper class and put your 1279 // bunch of stuff, you should probably create a helper class and put your
1316 // data and methods on that to avoid bloating RenderView more. You can use 1280 // data and methods on that to avoid bloating RenderView more. You can use
1317 // the Observer interface to filter IPC messages and receive frame change 1281 // the Observer interface to filter IPC messages and receive frame change
1318 // notifications. 1282 // notifications.
1319 // --------------------------------------------------------------------------- 1283 // ---------------------------------------------------------------------------
1320 1284
1321 DISALLOW_COPY_AND_ASSIGN(RenderView); 1285 DISALLOW_COPY_AND_ASSIGN(RenderView);
1322 }; 1286 };
1323 1287
1324 #endif // CONTENT_RENDERER_RENDER_VIEW_H_ 1288 #endif // CONTENT_RENDERER_RENDER_VIEW_H_
OLDNEW
« no previous file with comments | « content/renderer/render_thread.cc ('k') | content/renderer/render_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698