OLD | NEW |
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 <hash_map> | 8 #include <hash_map> |
9 | 9 |
10 #include "chrome/browser/fav_icon_helper.h" | 10 #include "chrome/browser/fav_icon_helper.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 // Causes the renderer to invoke the onbeforeunload event handler. The | 59 // Causes the renderer to invoke the onbeforeunload event handler. The |
60 // result will be returned via ViewMsg_ShouldClose. | 60 // result will be returned via ViewMsg_ShouldClose. |
61 virtual void FirePageBeforeUnload(); | 61 virtual void FirePageBeforeUnload(); |
62 | 62 |
63 // Close the page after the page has responded that it can be closed via | 63 // Close the page after the page has responded that it can be closed via |
64 // ViewMsg_ShouldClose. This is where the page itself is closed. The | 64 // ViewMsg_ShouldClose. This is where the page itself is closed. The |
65 // unload handler is triggered here, which can block with a dialog, but cannot | 65 // unload handler is triggered here, which can block with a dialog, but cannot |
66 // cancel the close of the page. | 66 // cancel the close of the page. |
67 virtual void FirePageUnload(); | 67 virtual void FirePageUnload(); |
68 | 68 |
69 | |
70 // TabContents | 69 // TabContents |
71 virtual WebContents* AsWebContents() { return this; } | 70 virtual WebContents* AsWebContents() { return this; } |
72 virtual bool Navigate(const NavigationEntry& entry, bool reload); | 71 virtual SiteInstance* GetSiteInstance() const { |
| 72 return render_manager_.current_host()->site_instance(); |
| 73 } |
| 74 virtual bool NavigateToPendingEntry(bool reload); |
73 virtual void Stop(); | 75 virtual void Stop(); |
74 virtual void DidBecomeSelected(); | 76 virtual void DidBecomeSelected(); |
75 virtual void WasHidden(); | 77 virtual void WasHidden(); |
76 virtual void Destroy(); | 78 virtual void Destroy(); |
77 virtual SkBitmap GetFavIcon(); | 79 virtual SkBitmap GetFavIcon(); |
78 virtual std::wstring GetStatusText() const; | 80 virtual std::wstring GetStatusText() const; |
79 | 81 |
80 // Find functions | 82 // Find functions |
81 virtual void StartFinding(int request_id, | 83 virtual void StartFinding(int request_id, |
82 const std::wstring& search_string, | 84 const std::wstring& search_string, |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 // SiteInstance, respectively. Each of these may change over time. Callers | 238 // SiteInstance, respectively. Each of these may change over time. Callers |
237 // should be aware that the SiteInstance could be deleted if its ref count | 239 // should be aware that the SiteInstance could be deleted if its ref count |
238 // drops to zero (i.e., if all RenderViewHosts and NavigationEntries that | 240 // drops to zero (i.e., if all RenderViewHosts and NavigationEntries that |
239 // use it are deleted). | 241 // use it are deleted). |
240 RenderProcessHost* process() const { | 242 RenderProcessHost* process() const { |
241 return render_manager_.current_host()->process(); | 243 return render_manager_.current_host()->process(); |
242 } | 244 } |
243 RenderViewHost* render_view_host() const { | 245 RenderViewHost* render_view_host() const { |
244 return render_manager_.current_host(); | 246 return render_manager_.current_host(); |
245 } | 247 } |
246 SiteInstance* site_instance() const { | |
247 return render_manager_.current_host()->site_instance(); | |
248 } | |
249 RenderWidgetHostView* view() const { | 248 RenderWidgetHostView* view() const { |
250 return render_manager_.current_view(); | 249 return render_manager_.current_view(); |
251 } | 250 } |
252 | 251 |
253 // Overridden from TabContents to return the window of the | 252 // Overridden from TabContents to return the window of the |
254 // RenderWidgetHostView. | 253 // RenderWidgetHostView. |
255 virtual HWND GetContentHWND(); | 254 virtual HWND GetContentHWND(); |
256 | 255 |
257 // Handling the drag and drop of files into the content area. | 256 // Handling the drag and drop of files into the content area. |
258 virtual bool CanDisplayFile(const std::wstring& full_path); | 257 virtual bool CanDisplayFile(const std::wstring& full_path); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 } | 321 } |
323 | 322 |
324 // Returns true if this WebContents will notify about disconnection. | 323 // Returns true if this WebContents will notify about disconnection. |
325 bool notify_disconnection() const { return notify_disconnection_; } | 324 bool notify_disconnection() const { return notify_disconnection_; } |
326 | 325 |
327 void set_override_encoding(const std::string& override_encoding) { | 326 void set_override_encoding(const std::string& override_encoding) { |
328 override_encoding_ = override_encoding; | 327 override_encoding_ = override_encoding; |
329 } | 328 } |
330 | 329 |
331 protected: | 330 protected: |
332 FRIEND_TEST(WebContentsTest, OnMessageReceived); | 331 FRIEND_TEST(WebContentsTest, UpdateTitle); |
333 | 332 |
334 // Should be deleted via CloseContents. | 333 // Should be deleted via CloseContents. |
335 virtual ~WebContents(); | 334 virtual ~WebContents(); |
336 | 335 |
337 // RenderViewHostDelegate | 336 // RenderViewHostDelegate |
338 virtual RenderViewHostDelegate::FindInPage* GetFindInPageDelegate(); | 337 virtual RenderViewHostDelegate::FindInPage* GetFindInPageDelegate(); |
339 virtual Profile* GetProfile() const; | 338 virtual Profile* GetProfile() const; |
340 | 339 |
341 virtual void CreateView(int route_id, HANDLE modal_dialog_event); | 340 virtual void CreateView(int route_id, HANDLE modal_dialog_event); |
342 virtual void CreateWidget(int route_id); | 341 virtual void CreateWidget(int route_id); |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
543 const ViewHostMsg_FrameNavigate_Params& params); | 542 const ViewHostMsg_FrameNavigate_Params& params); |
544 | 543 |
545 // Sets up the View that holds the rendered web page, receives messages for | 544 // Sets up the View that holds the rendered web page, receives messages for |
546 // it and contains page plugins. | 545 // it and contains page plugins. |
547 RenderWidgetHostHWND* CreatePageView(RenderViewHost* render_view_host); | 546 RenderWidgetHostHWND* CreatePageView(RenderViewHost* render_view_host); |
548 | 547 |
549 // Navigation helpers -------------------------------------------------------- | 548 // Navigation helpers -------------------------------------------------------- |
550 // | 549 // |
551 // These functions are helpers for Navigate() and DidNavigate(). | 550 // These functions are helpers for Navigate() and DidNavigate(). |
552 | 551 |
553 // Creates a new navigation entry (malloced, the caller will have to free) | |
554 // for the given committed load. Used by DidNavigate. Will not return NULL. | |
555 NavigationEntry* CreateNavigationEntryForCommit( | |
556 const ViewHostMsg_FrameNavigate_Params& params); | |
557 | |
558 // Handles post-navigation tasks in DidNavigate AFTER the entry has been | 552 // Handles post-navigation tasks in DidNavigate AFTER the entry has been |
559 // committed to the navigation controller. Note that the navigation entry is | 553 // committed to the navigation controller. Note that the navigation entry is |
560 // not provided since it may be invalid/changed after being committed. The | 554 // not provided since it may be invalid/changed after being committed. The |
561 // current navigation entry is in the NavigationController at this point. | 555 // current navigation entry is in the NavigationController at this point. |
562 void DidNavigateMainFramePostCommit( | 556 void DidNavigateMainFramePostCommit( |
563 const NavigationController::LoadCommittedDetails& details, | 557 const NavigationController::LoadCommittedDetails& details, |
564 const ViewHostMsg_FrameNavigate_Params& params); | 558 const ViewHostMsg_FrameNavigate_Params& params); |
565 void DidNavigateAnyFramePostCommit( | 559 void DidNavigateAnyFramePostCommit( |
566 RenderViewHost* render_view_host, | 560 RenderViewHost* render_view_host, |
567 const NavigationController::LoadCommittedDetails& details, | 561 const NavigationController::LoadCommittedDetails& details, |
568 const ViewHostMsg_FrameNavigate_Params& params); | 562 const ViewHostMsg_FrameNavigate_Params& params); |
569 | 563 |
570 // Called when navigating the main frame to close all child windows if the | 564 // Called when navigating the main frame to close all child windows if the |
571 // domain is changing. | 565 // domain is changing. |
572 void MaybeCloseChildWindows(const ViewHostMsg_FrameNavigate_Params& params); | 566 void MaybeCloseChildWindows(const ViewHostMsg_FrameNavigate_Params& params); |
573 | 567 |
574 // Broadcasts a notification for the provisional load committing, used by | |
575 // DidNavigate. | |
576 void BroadcastProvisionalLoadCommit( | |
577 RenderViewHost* render_view_host, | |
578 const ViewHostMsg_FrameNavigate_Params& params); | |
579 | |
580 // Convenience method that returns true if navigating to the specified URL | |
581 // from the current one is an in-page navigation (jumping to a ref in the | |
582 // page). | |
583 bool IsInPageNavigation(const GURL& url) const; | |
584 | |
585 // Updates the starred state from the bookmark bar model. If the state has | 568 // Updates the starred state from the bookmark bar model. If the state has |
586 // changed, the delegate is notified. | 569 // changed, the delegate is notified. |
587 void UpdateStarredStateForCurrentURL(); | 570 void UpdateStarredStateForCurrentURL(); |
588 | 571 |
589 // Send the alternate error page URL to the renderer. This method is virtual | 572 // Send the alternate error page URL to the renderer. This method is virtual |
590 // so special html pages can override this (e.g., the new tab page). | 573 // so special html pages can override this (e.g., the new tab page). |
591 virtual void UpdateAlternateErrorPageURL(); | 574 virtual void UpdateAlternateErrorPageURL(); |
592 | 575 |
593 // Send webkit specific settings to the renderer. | 576 // Send webkit specific settings to the renderer. |
594 void UpdateWebPreferences(); | 577 void UpdateWebPreferences(); |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
759 scoped_refptr<WebApp> web_app_; | 742 scoped_refptr<WebApp> web_app_; |
760 | 743 |
761 // Specified encoding which is used to override current tab's encoding. | 744 // Specified encoding which is used to override current tab's encoding. |
762 std::string override_encoding_; | 745 std::string override_encoding_; |
763 | 746 |
764 DISALLOW_COPY_AND_ASSIGN(WebContents); | 747 DISALLOW_COPY_AND_ASSIGN(WebContents); |
765 }; | 748 }; |
766 | 749 |
767 #endif // CHROME_BROWSER_WEB_CONTENTS_H_ | 750 #endif // CHROME_BROWSER_WEB_CONTENTS_H_ |
768 | 751 |
OLD | NEW |