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

Side by Side Diff: chrome/browser/web_contents.h

Issue 4088: Move a bunch of stuff out of WebContents. I removed a bunch of render view ho... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 3 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
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 CHROME_BROWSER_WEB_CONTENTS_H_ 5 #ifndef CHROME_BROWSER_WEB_CONTENTS_H_
6 #define CHROME_BROWSER_WEB_CONTENTS_H_ 6 #define CHROME_BROWSER_WEB_CONTENTS_H_
7 7
8 #include "base/hash_tables.h" 8 #include "base/hash_tables.h"
9 #include "chrome/browser/download/save_package.h" 9 #include "chrome/browser/download/save_package.h"
10 #include "chrome/browser/fav_icon_helper.h" 10 #include "chrome/browser/fav_icon_helper.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 virtual HWND GetContainerHWND() const { return GetHWND(); } 52 virtual HWND GetContainerHWND() const { return GetHWND(); }
53 virtual void GetContainerBounds(gfx::Rect *out) const; 53 virtual void GetContainerBounds(gfx::Rect *out) const;
54 virtual void ShowContents(); 54 virtual void ShowContents();
55 virtual void HideContents(); 55 virtual void HideContents();
56 virtual void SizeContents(const gfx::Size& size); 56 virtual void SizeContents(const gfx::Size& size);
57 57
58 // Causes the renderer to invoke the onbeforeunload event handler. The 58 // Causes the renderer to invoke the onbeforeunload event handler. The
59 // result will be returned via ViewMsg_ShouldClose. 59 // result will be returned via ViewMsg_ShouldClose.
60 virtual void FirePageBeforeUnload(); 60 virtual void FirePageBeforeUnload();
61 61
62 // Close the page after the page has responded that it can be closed via
63 // ViewMsg_ShouldClose. This is where the page itself is closed. The
64 // unload handler is triggered here, which can block with a dialog, but cannot
65 // cancel the close of the page.
66 virtual void FirePageUnload();
67
68 // TabContents 62 // TabContents
69 virtual WebContents* AsWebContents() { return this; } 63 virtual WebContents* AsWebContents() { return this; }
70 virtual SiteInstance* GetSiteInstance() const { 64 virtual SiteInstance* GetSiteInstance() const {
71 return render_manager_.current_host()->site_instance(); 65 return render_manager_.current_host()->site_instance();
72 } 66 }
73 virtual bool NavigateToPendingEntry(bool reload); 67 virtual bool NavigateToPendingEntry(bool reload);
74 virtual void Stop(); 68 virtual void Stop();
75 virtual void DidBecomeSelected(); 69 virtual void DidBecomeSelected();
76 virtual void WasHidden(); 70 virtual void WasHidden();
77 virtual void Destroy(); 71 virtual void Destroy();
78 virtual SkBitmap GetFavIcon(); 72 virtual SkBitmap GetFavIcon();
79 virtual std::wstring GetStatusText() const; 73 virtual std::wstring GetStatusText() const;
80 74
81 // Find functions 75 // Find functions
82 virtual void StartFinding(int request_id, 76 virtual void StartFinding(int request_id,
83 const std::wstring& search_string, 77 const std::wstring& search_string,
84 bool forward, 78 bool forward,
85 bool match_case, 79 bool match_case,
86 bool find_next); 80 bool find_next);
87 virtual void StopFinding(bool clear_selection); 81 virtual void StopFinding(bool clear_selection);
88 virtual void OpenFindInPageWindow(const Browser& browser); 82 virtual void OpenFindInPageWindow(const Browser& browser);
89 virtual void ReparentFindWindow(HWND new_parent); 83 virtual void ReparentFindWindow(HWND new_parent);
90 virtual bool AdvanceFindSelection(bool forward_direction); 84 virtual bool AdvanceFindSelection(bool forward_direction);
91 virtual bool IsFindWindowFullyVisible(); 85 virtual bool IsFindWindowFullyVisible();
92 virtual bool GetFindInPageWindowLocation(int* x, int* y); 86 virtual bool GetFindInPageWindowLocation(int* x, int* y);
93 87
94 // Text zoom
95 virtual void AlterTextSize(text_zoom::TextSize size);
96
97 // Change encoding of page.
98 virtual void SetPageEncoding(const std::wstring& encoding_name);
99
100 bool is_starred() const { return is_starred_; } 88 bool is_starred() const { return is_starred_; }
101 89
102 // Set whether the contents should block javascript message boxes or not. 90 // Set whether the contents should block javascript message boxes or not.
103 // Default is not to block any message boxes. 91 // Default is not to block any message boxes.
104 void SetSuppressJavascriptMessageBoxes(bool suppress_javascript_messages); 92 void set_suppress_javascript_messages(
93 bool suppress_javascript_messages) {
94 suppress_javascript_messages_ = suppress_javascript_messages;
95 }
105 96
106 // Various other systems need to know about our interstitials. 97 // Various other systems need to know about our interstitials.
107 bool showing_interstitial_page() const { 98 bool showing_interstitial_page() const {
108 return render_manager_.showing_interstitial_page(); 99 return render_manager_.showing_interstitial_page();
109 } 100 }
110 bool showing_repost_interstitial() const { 101 bool showing_repost_interstitial() const {
111 return render_manager_.showing_repost_interstitial(); 102 return render_manager_.showing_repost_interstitial();
112 } 103 }
113 104
114 // Overridden from TabContents to remember at what time the download bar was 105 // Overridden from TabContents to remember at what time the download bar was
115 // shown. 106 // shown.
116 void SetDownloadShelfVisible(bool visible); 107 void SetDownloadShelfVisible(bool visible);
117 108
118 // Returns the SavePackage which manages the page saving job. 109 // Returns the SavePackage which manages the page saving job. May be NULL.
119 SavePackage* get_save_package() const { return save_package_.get(); } 110 SavePackage* save_package() const { return save_package_.get(); }
120 111
121 // Whether or not the info bar is visible. This delegates to 112 // Whether or not the info bar is visible. This delegates to
122 // the ChromeFrame method InfoBarVisibilityChanged. 113 // the ChromeFrame method InfoBarVisibilityChanged.
123 void SetInfoBarVisible(bool visible); 114 void SetInfoBarVisible(bool visible);
124 virtual bool IsInfoBarVisible() { return info_bar_visible_; } 115 virtual bool IsInfoBarVisible() { return info_bar_visible_; }
125 116
126 // Whether or not the FindInPage bar is visible. 117 // Whether or not the FindInPage bar is visible.
127 void SetFindInPageVisible(bool visible); 118 void SetFindInPageVisible(bool visible);
128 119
129 // Create the InfoBarView and returns it if none has been created. 120 // Create the InfoBarView and returns it if none has been created.
130 // Just returns existing InfoBarView if it is already created. 121 // Just returns existing InfoBarView if it is already created.
131 virtual InfoBarView* GetInfoBarView(); 122 virtual InfoBarView* GetInfoBarView();
132 123
133 // Prepare for saving page. 124 // Prepare for saving page.
134 void OnSavePage(); 125 void OnSavePage();
135 126
136 // Save page with the main HTML file path, the directory for saving resources, 127 // Save page with the main HTML file path, the directory for saving resources,
137 // and the save type: HTML only or complete web page. 128 // and the save type: HTML only or complete web page.
138 void SavePage(const std::wstring& main_file, const std::wstring& dir_path, 129 void SavePage(const std::wstring& main_file, const std::wstring& dir_path,
139 SavePackage::SavePackageType save_type); 130 SavePackage::SavePackageType save_type);
140 131
141 // Get all savable resource links from current webpage, include main
142 // frame and sub-frame.
143 void GetAllSavableResourceLinksForCurrentPage(const GURL& page_url);
144
145 // Get html data by serializing all frames of current page with lists
146 // which contain all resource links that have local copy.
147 // The parameter links contain original URLs of all saved links.
148 // The parameter local_paths contain corresponding local file paths of
149 // all saved links, which matched with vector:links one by one.
150 // The parameter local_directory_name is relative path of directory which
151 // contain all saved auxiliary files included all sub frames and resouces.
152 void GetSerializedHtmlDataForCurrentPageWithLocalLinks(
153 const std::vector<std::wstring>& links,
154 const std::vector<std::wstring>& local_paths,
155 const std::wstring& local_directory_name);
156
157 // Locates a sub frame with given xpath and executes the given
158 // javascript in its context.
159 void ExecuteJavascriptInWebFrame(const std::wstring& frame_xpath,
160 const std::wstring& jscript);
161
162 // Locates a sub frame with given xpath and logs a message to its
163 // console.
164 void AddMessageToConsole(const std::wstring& frame_xpath,
165 const std::wstring& message,
166 ConsoleMessageLevel level);
167
168 // Request the corresponding render view to perform these operations
169 void Undo();
170 void Redo();
171 void Replace(const std::wstring& text);
172 void AddToDictionary(const std::wstring& word);
173 void Delete();
174 void SelectAll();
175
176 // Sets the WebApp for this WebContents. 132 // Sets the WebApp for this WebContents.
177 void SetWebApp(WebApp* web_app); 133 void SetWebApp(WebApp* web_app);
178 WebApp* web_app() { return web_app_.get(); } 134 WebApp* web_app() { return web_app_.get(); }
179 135
180 // Return whether this tab contents was created to contain an application. 136 // Return whether this tab contents was created to contain an application.
181 bool IsWebApplication() const; 137 bool IsWebApplication() const;
182 138
183 // Tell Gears to create a shortcut for the current page. 139 // Tell Gears to create a shortcut for the current page.
184 void CreateShortcut(); 140 void CreateShortcut();
185 141
186 // Tell the render view to perform a file upload. |form| is the name or ID of
187 // the form that should be used to perform the upload. |file| is the name or
188 // ID of the file input that should be set to |file_path|. |submit| is the
189 // name or ID of the submit button. If non empty, the submit button will be
190 // pressed. If not, the form will be filled with the information but the user
191 // will perform the post operation.
192 //
193 // |other_values| contains a list of key value pairs separated by '\n'.
194 // Each key value pair is of the form key=value where key is a form name or
195 // ID and value is the desired value.
196 void StartFileUpload(const std::wstring& file_path,
197 const std::wstring& form,
198 const std::wstring& file,
199 const std::wstring& submit,
200 const std::wstring& other_values);
201
202 // JavascriptMessageBoxHandler calls this when the dialog is closed. 142 // JavascriptMessageBoxHandler calls this when the dialog is closed.
203 void OnJavaScriptMessageBoxClosed(IPC::Message* reply_msg, bool success, 143 void OnJavaScriptMessageBoxClosed(IPC::Message* reply_msg, bool success,
204 const std::wstring& prompt); 144 const std::wstring& prompt);
205 145
206 void CopyImageAt(int x, int y);
207 void InspectElementAt(int x, int y);
208 void ShowJavaScriptConsole();
209 void AllowDomAutomationBindings();
210
211 // Tell the render view to fill in a form and optionally submit it.
212 void FillForm(const FormData& form);
213
214 // Tell the render view to fill a password form and trigger autocomplete
215 // in the case of multiple matching logins.
216 void FillPasswordForm(const PasswordFormDomManager::FillData& form_data);
217
218 // D&d drop target messages that get forwarded on to the render view host.
219 void DragTargetDragEnter(const WebDropData& drop_data,
220 const gfx::Point& client_pt,
221 const gfx::Point& screen_pt);
222 void DragTargetDragOver(const gfx::Point& client_pt,
223 const gfx::Point& screen_pt);
224 void DragTargetDragLeave();
225 void DragTargetDrop(const gfx::Point& client_pt,
226 const gfx::Point& screen_pt);
227
228 // Called by PluginInstaller to start installation of missing plugin.
229 void InstallMissingPlugin();
230
231 // Returns the PasswordManager, creating it if necessary. 146 // Returns the PasswordManager, creating it if necessary.
232 PasswordManager* GetPasswordManager(); 147 PasswordManager* GetPasswordManager();
233 148
234 // Returns the PluginInstaller, creating it if necessary. 149 // Returns the PluginInstaller, creating it if necessary.
235 PluginInstaller* GetPluginInstaller(); 150 PluginInstaller* GetPluginInstaller();
236 151
237 // Return the currently active RenderProcessHost, RenderViewHost, and 152 // Return the currently active RenderProcessHost, RenderViewHost, and
238 // SiteInstance, respectively. Each of these may change over time. Callers 153 // SiteInstance, respectively. Each of these may change over time. Callers
239 // should be aware that the SiteInstance could be deleted if its ref count 154 // should be aware that the SiteInstance could be deleted if its ref count
240 // drops to zero (i.e., if all RenderViewHosts and NavigationEntries that 155 // drops to zero (i.e., if all RenderViewHosts and NavigationEntries that
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 // Returns true if this WebContents will notify about disconnection. 238 // Returns true if this WebContents will notify about disconnection.
324 bool notify_disconnection() const { return notify_disconnection_; } 239 bool notify_disconnection() const { return notify_disconnection_; }
325 240
326 protected: 241 protected:
327 FRIEND_TEST(WebContentsTest, UpdateTitle); 242 FRIEND_TEST(WebContentsTest, UpdateTitle);
328 243
329 // Should be deleted via CloseContents. 244 // Should be deleted via CloseContents.
330 virtual ~WebContents(); 245 virtual ~WebContents();
331 246
332 // RenderViewHostDelegate 247 // RenderViewHostDelegate
333 virtual RenderViewHostDelegate::FindInPage* GetFindInPageDelegate(); 248 virtual RenderViewHostDelegate::FindInPage* GetFindInPageDelegate() const;
249 virtual RenderViewHostDelegate::Save* GetSaveDelegate() const;
250
334 virtual Profile* GetProfile() const; 251 virtual Profile* GetProfile() const;
335 252
336 virtual void CreateView(int route_id, HANDLE modal_dialog_event); 253 virtual void CreateView(int route_id, HANDLE modal_dialog_event);
337 virtual void CreateWidget(int route_id); 254 virtual void CreateWidget(int route_id);
338 virtual void ShowView(int route_id, 255 virtual void ShowView(int route_id,
339 WindowOpenDisposition disposition, 256 WindowOpenDisposition disposition,
340 const gfx::Rect& initial_pos, 257 const gfx::Rect& initial_pos,
341 bool user_gesture); 258 bool user_gesture);
342 virtual void ShowWidget(int route_id, const gfx::Rect& initial_pos); 259 virtual void ShowWidget(int route_id, const gfx::Rect& initial_pos);
343 virtual void RendererReady(RenderViewHost* render_view_host); 260 virtual void RendererReady(RenderViewHost* render_view_host);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 IPC::Message* reply_msg); 325 IPC::Message* reply_msg);
409 virtual void PasswordFormsSeen(const std::vector<PasswordForm>& forms); 326 virtual void PasswordFormsSeen(const std::vector<PasswordForm>& forms);
410 virtual void TakeFocus(bool reverse); 327 virtual void TakeFocus(bool reverse);
411 virtual void DidGetPrintedPagesCount(int cookie, int number_pages); 328 virtual void DidGetPrintedPagesCount(int cookie, int number_pages);
412 virtual void DidPrintPage(const ViewHostMsg_DidPrintPage_Params& params); 329 virtual void DidPrintPage(const ViewHostMsg_DidPrintPage_Params& params);
413 virtual GURL GetAlternateErrorPageURL() const; 330 virtual GURL GetAlternateErrorPageURL() const;
414 virtual WebPreferences GetWebkitPrefs(); 331 virtual WebPreferences GetWebkitPrefs();
415 virtual void OnMissingPluginStatus(int status); 332 virtual void OnMissingPluginStatus(int status);
416 virtual void OnCrashedPlugin(const std::wstring& plugin_path); 333 virtual void OnCrashedPlugin(const std::wstring& plugin_path);
417 virtual void OnJSOutOfMemory(); 334 virtual void OnJSOutOfMemory();
418 virtual void OnReceivedSavableResourceLinksForCurrentPage(
419 const std::vector<GURL>& resources_list,
420 const std::vector<GURL>& referrers_list,
421 const std::vector<GURL>& frames_list);
422 virtual void OnReceivedSerializedHtmlData(const GURL& frame_url,
423 const std::string& data,
424 int32 status);
425 virtual void ShouldClosePage(bool proceed) { 335 virtual void ShouldClosePage(bool proceed) {
426 render_manager_.ShouldClosePage(proceed); 336 render_manager_.ShouldClosePage(proceed);
427 } 337 }
428 virtual bool CanBlur() const; 338 virtual bool CanBlur() const;
429 virtual void RendererUnresponsive(RenderViewHost* render_view_host); 339 virtual void RendererUnresponsive(RenderViewHost* render_view_host);
430 virtual void RendererResponsive(RenderViewHost* render_view_host); 340 virtual void RendererResponsive(RenderViewHost* render_view_host);
431 virtual void LoadStateChanged(const GURL& url, net::LoadState load_state); 341 virtual void LoadStateChanged(const GURL& url, net::LoadState load_state);
432 342
433 // Notification that a page has an OpenSearch description document available 343 // Notification that a page has an OpenSearch description document available
434 // at url. This checks to see if we should generate a keyword based on the 344 // at url. This checks to see if we should generate a keyword based on the
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
739 typedef base::hash_map<int, RenderWidgetHost*> PendingWidgets; 649 typedef base::hash_map<int, RenderWidgetHost*> PendingWidgets;
740 PendingWidgets pending_widgets_; 650 PendingWidgets pending_widgets_;
741 651
742 // Non-null if we're displaying content for a web app. 652 // Non-null if we're displaying content for a web app.
743 scoped_refptr<WebApp> web_app_; 653 scoped_refptr<WebApp> web_app_;
744 654
745 DISALLOW_COPY_AND_ASSIGN(WebContents); 655 DISALLOW_COPY_AND_ASSIGN(WebContents);
746 }; 656 };
747 657
748 #endif // CHROME_BROWSER_WEB_CONTENTS_H_ 658 #endif // CHROME_BROWSER_WEB_CONTENTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698