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 #include "content/browser/web_contents/web_contents_impl.h" | 5 #include "content/browser/web_contents/web_contents_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <cmath> | 9 #include <cmath> |
10 #include <utility> | 10 #include <utility> |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 this), | 481 this), |
482 node_(this), | 482 node_(this), |
483 is_load_to_different_document_(false), | 483 is_load_to_different_document_(false), |
484 crashed_status_(base::TERMINATION_STATUS_STILL_RUNNING), | 484 crashed_status_(base::TERMINATION_STATUS_STILL_RUNNING), |
485 crashed_error_code_(0), | 485 crashed_error_code_(0), |
486 waiting_for_response_(false), | 486 waiting_for_response_(false), |
487 load_state_(net::LOAD_STATE_IDLE, base::string16()), | 487 load_state_(net::LOAD_STATE_IDLE, base::string16()), |
488 upload_size_(0), | 488 upload_size_(0), |
489 upload_position_(0), | 489 upload_position_(0), |
490 is_resume_pending_(false), | 490 is_resume_pending_(false), |
| 491 interstitial_page_(nullptr), |
491 has_accessed_initial_document_(false), | 492 has_accessed_initial_document_(false), |
492 theme_color_(SK_ColorTRANSPARENT), | 493 theme_color_(SK_ColorTRANSPARENT), |
493 last_sent_theme_color_(SK_ColorTRANSPARENT), | 494 last_sent_theme_color_(SK_ColorTRANSPARENT), |
494 did_first_visually_non_empty_paint_(false), | 495 did_first_visually_non_empty_paint_(false), |
495 capturer_count_(0), | 496 capturer_count_(0), |
496 should_normally_be_visible_(true), | 497 should_normally_be_visible_(true), |
497 did_first_set_visible_(false), | 498 did_first_set_visible_(false), |
498 is_being_destroyed_(false), | 499 is_being_destroyed_(false), |
499 is_notifying_observers_(false), | 500 is_notifying_observers_(false), |
500 notify_disconnection_(false), | 501 notify_disconnection_(false), |
(...skipping 778 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1279 SiteInstanceImpl* WebContentsImpl::GetPendingSiteInstance() const { | 1280 SiteInstanceImpl* WebContentsImpl::GetPendingSiteInstance() const { |
1280 RenderViewHostImpl* dest_rvh = | 1281 RenderViewHostImpl* dest_rvh = |
1281 GetRenderManager()->pending_render_view_host() ? | 1282 GetRenderManager()->pending_render_view_host() ? |
1282 GetRenderManager()->pending_render_view_host() : | 1283 GetRenderManager()->pending_render_view_host() : |
1283 GetRenderManager()->current_host(); | 1284 GetRenderManager()->current_host(); |
1284 return dest_rvh->GetSiteInstance(); | 1285 return dest_rvh->GetSiteInstance(); |
1285 } | 1286 } |
1286 | 1287 |
1287 bool WebContentsImpl::IsLoading() const { | 1288 bool WebContentsImpl::IsLoading() const { |
1288 return frame_tree_.IsLoading() && | 1289 return frame_tree_.IsLoading() && |
1289 !(ShowingInterstitialPage() && | 1290 !(ShowingInterstitialPage() && interstitial_page_->pause_throbber()); |
1290 GetRenderManager()->interstitial_page()->pause_throbber()); | |
1291 } | 1291 } |
1292 | 1292 |
1293 bool WebContentsImpl::IsLoadingToDifferentDocument() const { | 1293 bool WebContentsImpl::IsLoadingToDifferentDocument() const { |
1294 return IsLoading() && is_load_to_different_document_; | 1294 return IsLoading() && is_load_to_different_document_; |
1295 } | 1295 } |
1296 | 1296 |
1297 bool WebContentsImpl::IsWaitingForResponse() const { | 1297 bool WebContentsImpl::IsWaitingForResponse() const { |
1298 return waiting_for_response_ && is_load_to_different_document_; | 1298 return waiting_for_response_ && is_load_to_different_document_; |
1299 } | 1299 } |
1300 | 1300 |
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1969 // forwarded directly to the widget they arrived on. | 1969 // forwarded directly to the widget they arrived on. |
1970 if (receiving_widget != GetMainFrame()->GetRenderWidgetHost()) | 1970 if (receiving_widget != GetMainFrame()->GetRenderWidgetHost()) |
1971 return receiving_widget; | 1971 return receiving_widget; |
1972 | 1972 |
1973 WebContentsImpl* focused_contents = GetFocusedWebContents(); | 1973 WebContentsImpl* focused_contents = GetFocusedWebContents(); |
1974 | 1974 |
1975 // If the focused WebContents is showing an interstitial, return the | 1975 // If the focused WebContents is showing an interstitial, return the |
1976 // interstitial's widget. | 1976 // interstitial's widget. |
1977 if (focused_contents->ShowingInterstitialPage()) { | 1977 if (focused_contents->ShowingInterstitialPage()) { |
1978 return static_cast<RenderFrameHostImpl*>( | 1978 return static_cast<RenderFrameHostImpl*>( |
1979 focused_contents->GetRenderManager() | 1979 focused_contents->interstitial_page_->GetMainFrame()) |
1980 ->interstitial_page() | |
1981 ->GetMainFrame()) | |
1982 ->GetRenderWidgetHost(); | 1980 ->GetRenderWidgetHost(); |
1983 } | 1981 } |
1984 | 1982 |
1985 // If the focused WebContents is a guest WebContents, then get the focused | 1983 // If the focused WebContents is a guest WebContents, then get the focused |
1986 // frame in the embedder WebContents instead. | 1984 // frame in the embedder WebContents instead. |
1987 FrameTreeNode* focused_frame = nullptr; | 1985 FrameTreeNode* focused_frame = nullptr; |
1988 if (focused_contents->browser_plugin_guest_ && | 1986 if (focused_contents->browser_plugin_guest_ && |
1989 !GuestMode::IsCrossProcessFrameGuest(focused_contents)) { | 1987 !GuestMode::IsCrossProcessFrameGuest(focused_contents)) { |
1990 focused_frame = frame_tree_.GetFocusedFrame(); | 1988 focused_frame = frame_tree_.GetFocusedFrame(); |
1991 } else { | 1989 } else { |
(...skipping 12 matching lines...) Expand all Loading... |
2004 return nullptr; | 2002 return nullptr; |
2005 | 2003 |
2006 return RenderWidgetHostImpl::From(view->GetRenderWidgetHost()); | 2004 return RenderWidgetHostImpl::From(view->GetRenderWidgetHost()); |
2007 } | 2005 } |
2008 | 2006 |
2009 RenderWidgetHostImpl* WebContentsImpl::GetRenderWidgetHostWithPageFocus() { | 2007 RenderWidgetHostImpl* WebContentsImpl::GetRenderWidgetHostWithPageFocus() { |
2010 WebContentsImpl* focused_web_contents = GetFocusedWebContents(); | 2008 WebContentsImpl* focused_web_contents = GetFocusedWebContents(); |
2011 | 2009 |
2012 if (focused_web_contents->ShowingInterstitialPage()) { | 2010 if (focused_web_contents->ShowingInterstitialPage()) { |
2013 return static_cast<RenderFrameHostImpl*>( | 2011 return static_cast<RenderFrameHostImpl*>( |
2014 focused_web_contents->GetRenderManager() | 2012 focused_web_contents->interstitial_page_->GetMainFrame()) |
2015 ->interstitial_page() | |
2016 ->GetMainFrame()) | |
2017 ->GetRenderWidgetHost(); | 2013 ->GetRenderWidgetHost(); |
2018 } | 2014 } |
2019 | 2015 |
2020 return focused_web_contents->GetMainFrame()->GetRenderWidgetHost(); | 2016 return focused_web_contents->GetMainFrame()->GetRenderWidgetHost(); |
2021 } | 2017 } |
2022 | 2018 |
2023 void WebContentsImpl::EnterFullscreenMode(const GURL& origin) { | 2019 void WebContentsImpl::EnterFullscreenMode(const GURL& origin) { |
2024 // This method is being called to enter renderer-initiated fullscreen mode. | 2020 // This method is being called to enter renderer-initiated fullscreen mode. |
2025 // Make sure any existing fullscreen widget is shut down first. | 2021 // Make sure any existing fullscreen widget is shut down first. |
2026 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView(); | 2022 RenderWidgetHostView* const widget_view = GetFullscreenRenderWidgetHostView(); |
(...skipping 823 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2850 } | 2846 } |
2851 | 2847 |
2852 void WebContentsImpl::RenderFrameForInterstitialPageCreated( | 2848 void WebContentsImpl::RenderFrameForInterstitialPageCreated( |
2853 RenderFrameHost* render_frame_host) { | 2849 RenderFrameHost* render_frame_host) { |
2854 for (auto& observer : observers_) | 2850 for (auto& observer : observers_) |
2855 observer.RenderFrameForInterstitialPageCreated(render_frame_host); | 2851 observer.RenderFrameForInterstitialPageCreated(render_frame_host); |
2856 } | 2852 } |
2857 | 2853 |
2858 void WebContentsImpl::AttachInterstitialPage( | 2854 void WebContentsImpl::AttachInterstitialPage( |
2859 InterstitialPageImpl* interstitial_page) { | 2855 InterstitialPageImpl* interstitial_page) { |
2860 DCHECK(interstitial_page); | 2856 DCHECK(!interstitial_page_ && interstitial_page); |
2861 GetRenderManager()->set_interstitial_page(interstitial_page); | 2857 interstitial_page_ = interstitial_page; |
2862 | 2858 |
2863 // Cancel any visible dialogs so that they don't interfere with the | 2859 // Cancel any visible dialogs so that they don't interfere with the |
2864 // interstitial. | 2860 // interstitial. |
2865 CancelActiveAndPendingDialogs(); | 2861 CancelActiveAndPendingDialogs(); |
2866 | 2862 |
2867 for (auto& observer : observers_) | 2863 for (auto& observer : observers_) |
2868 observer.DidAttachInterstitialPage(); | 2864 observer.DidAttachInterstitialPage(); |
2869 | 2865 |
2870 // Stop the throbber if needed while the interstitial page is shown. | 2866 // Stop the throbber if needed while the interstitial page is shown. |
2871 if (frame_tree_.IsLoading()) | 2867 if (frame_tree_.IsLoading()) |
2872 LoadingStateChanged(true, true, nullptr); | 2868 LoadingStateChanged(true, true, nullptr); |
2873 | 2869 |
2874 // Connect to outer WebContents if necessary. | 2870 // Connect to outer WebContents if necessary. |
2875 if (node_.OuterContentsFrameTreeNode()) { | 2871 if (node_.OuterContentsFrameTreeNode()) { |
2876 if (GetRenderManager()->GetProxyToOuterDelegate()) { | 2872 if (GetRenderManager()->GetProxyToOuterDelegate()) { |
2877 DCHECK( | 2873 DCHECK( |
2878 static_cast<RenderWidgetHostViewBase*>(interstitial_page->GetView()) | 2874 static_cast<RenderWidgetHostViewBase*>(interstitial_page->GetView()) |
2879 ->IsRenderWidgetHostViewChildFrame()); | 2875 ->IsRenderWidgetHostViewChildFrame()); |
2880 RenderWidgetHostViewChildFrame* view = | 2876 RenderWidgetHostViewChildFrame* view = |
2881 static_cast<RenderWidgetHostViewChildFrame*>( | 2877 static_cast<RenderWidgetHostViewChildFrame*>( |
2882 interstitial_page->GetView()); | 2878 interstitial_page->GetView()); |
2883 GetRenderManager()->SetRWHViewForInnerContents(view); | 2879 GetRenderManager()->SetRWHViewForInnerContents(view); |
2884 } | 2880 } |
2885 } | 2881 } |
2886 } | 2882 } |
2887 | 2883 |
2888 void WebContentsImpl::DidProceedOnInterstitial() { | 2884 void WebContentsImpl::DidProceedOnInterstitial() { |
2889 // The interstitial page should no longer be pausing the throbber. | 2885 // The interstitial page should no longer be pausing the throbber. |
2890 DCHECK(!(ShowingInterstitialPage() && | 2886 DCHECK(!(ShowingInterstitialPage() && interstitial_page_->pause_throbber())); |
2891 GetRenderManager()->interstitial_page()->pause_throbber())); | |
2892 | 2887 |
2893 // Restart the throbber now that the interstitial page no longer pauses it. | 2888 // Restart the throbber now that the interstitial page no longer pauses it. |
2894 if (ShowingInterstitialPage() && frame_tree_.IsLoading()) | 2889 if (ShowingInterstitialPage() && frame_tree_.IsLoading()) |
2895 LoadingStateChanged(true, true, nullptr); | 2890 LoadingStateChanged(true, true, nullptr); |
2896 } | 2891 } |
2897 | 2892 |
2898 void WebContentsImpl::DetachInterstitialPage() { | 2893 void WebContentsImpl::DetachInterstitialPage() { |
2899 // Disconnect from outer WebContents if necessary. | 2894 // Disconnect from outer WebContents if necessary. |
2900 if (node_.OuterContentsFrameTreeNode()) { | 2895 if (node_.OuterContentsFrameTreeNode()) { |
2901 if (GetRenderManager()->GetProxyToOuterDelegate()) { | 2896 if (GetRenderManager()->GetProxyToOuterDelegate()) { |
2902 DCHECK(static_cast<RenderWidgetHostViewBase*>( | 2897 DCHECK(static_cast<RenderWidgetHostViewBase*>( |
2903 GetRenderManager()->current_frame_host()->GetView()) | 2898 GetRenderManager()->current_frame_host()->GetView()) |
2904 ->IsRenderWidgetHostViewChildFrame()); | 2899 ->IsRenderWidgetHostViewChildFrame()); |
2905 RenderWidgetHostViewChildFrame* view = | 2900 RenderWidgetHostViewChildFrame* view = |
2906 static_cast<RenderWidgetHostViewChildFrame*>( | 2901 static_cast<RenderWidgetHostViewChildFrame*>( |
2907 GetRenderManager()->current_frame_host()->GetView()); | 2902 GetRenderManager()->current_frame_host()->GetView()); |
2908 GetRenderManager()->SetRWHViewForInnerContents(view); | 2903 GetRenderManager()->SetRWHViewForInnerContents(view); |
2909 } | 2904 } |
2910 } | 2905 } |
2911 | 2906 |
2912 bool interstitial_pausing_throbber = | 2907 bool interstitial_pausing_throbber = |
2913 ShowingInterstitialPage() && | 2908 ShowingInterstitialPage() && interstitial_page_->pause_throbber(); |
2914 GetRenderManager()->interstitial_page()->pause_throbber(); | |
2915 if (ShowingInterstitialPage()) | 2909 if (ShowingInterstitialPage()) |
2916 GetRenderManager()->remove_interstitial_page(); | 2910 interstitial_page_ = nullptr; |
2917 for (auto& observer : observers_) | 2911 for (auto& observer : observers_) |
2918 observer.DidDetachInterstitialPage(); | 2912 observer.DidDetachInterstitialPage(); |
2919 | 2913 |
2920 // Restart the throbber if needed now that the interstitial page is going | 2914 // Restart the throbber if needed now that the interstitial page is going |
2921 // away. | 2915 // away. |
2922 if (interstitial_pausing_throbber && frame_tree_.IsLoading()) | 2916 if (interstitial_pausing_throbber && frame_tree_.IsLoading()) |
2923 LoadingStateChanged(true, true, nullptr); | 2917 LoadingStateChanged(true, true, nullptr); |
2924 } | 2918 } |
2925 | 2919 |
2926 void WebContentsImpl::SetHistoryOffsetAndLength(int history_offset, | 2920 void WebContentsImpl::SetHistoryOffsetAndLength(int history_offset, |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3114 void WebContentsImpl::StoreFocus() { | 3108 void WebContentsImpl::StoreFocus() { |
3115 view_->StoreFocus(); | 3109 view_->StoreFocus(); |
3116 } | 3110 } |
3117 | 3111 |
3118 void WebContentsImpl::RestoreFocus() { | 3112 void WebContentsImpl::RestoreFocus() { |
3119 view_->RestoreFocus(); | 3113 view_->RestoreFocus(); |
3120 } | 3114 } |
3121 | 3115 |
3122 void WebContentsImpl::FocusThroughTabTraversal(bool reverse) { | 3116 void WebContentsImpl::FocusThroughTabTraversal(bool reverse) { |
3123 if (ShowingInterstitialPage()) { | 3117 if (ShowingInterstitialPage()) { |
3124 GetRenderManager()->interstitial_page()->FocusThroughTabTraversal(reverse); | 3118 interstitial_page_->FocusThroughTabTraversal(reverse); |
3125 return; | 3119 return; |
3126 } | 3120 } |
3127 RenderWidgetHostView* const fullscreen_view = | 3121 RenderWidgetHostView* const fullscreen_view = |
3128 GetFullscreenRenderWidgetHostView(); | 3122 GetFullscreenRenderWidgetHostView(); |
3129 if (fullscreen_view) { | 3123 if (fullscreen_view) { |
3130 fullscreen_view->Focus(); | 3124 fullscreen_view->Focus(); |
3131 return; | 3125 return; |
3132 } | 3126 } |
3133 GetRenderViewHost()->SetInitialFocus(reverse); | 3127 GetRenderViewHost()->SetInitialFocus(reverse); |
3134 } | 3128 } |
3135 | 3129 |
3136 bool WebContentsImpl::ShowingInterstitialPage() const { | 3130 bool WebContentsImpl::ShowingInterstitialPage() const { |
3137 return GetRenderManager()->interstitial_page() != NULL; | 3131 return interstitial_page_ != nullptr; |
3138 } | 3132 } |
3139 | 3133 |
3140 InterstitialPage* WebContentsImpl::GetInterstitialPage() const { | 3134 InterstitialPage* WebContentsImpl::GetInterstitialPage() const { |
3141 return GetRenderManager()->interstitial_page(); | 3135 return interstitial_page_; |
3142 } | 3136 } |
3143 | 3137 |
3144 bool WebContentsImpl::IsSavable() { | 3138 bool WebContentsImpl::IsSavable() { |
3145 // WebKit creates Document object when MIME type is application/xhtml+xml, | 3139 // WebKit creates Document object when MIME type is application/xhtml+xml, |
3146 // so we also support this MIME type. | 3140 // so we also support this MIME type. |
3147 return contents_mime_type_ == "text/html" || | 3141 return contents_mime_type_ == "text/html" || |
3148 contents_mime_type_ == "text/xml" || | 3142 contents_mime_type_ == "text/xml" || |
3149 contents_mime_type_ == "application/xhtml+xml" || | 3143 contents_mime_type_ == "application/xhtml+xml" || |
3150 contents_mime_type_ == "text/plain" || | 3144 contents_mime_type_ == "text/plain" || |
3151 contents_mime_type_ == "text/css" || | 3145 contents_mime_type_ == "text/css" || |
(...skipping 1117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4269 loading_last_progress_update_ = base::TimeTicks(); | 4263 loading_last_progress_update_ = base::TimeTicks(); |
4270 } | 4264 } |
4271 | 4265 |
4272 // Notifies the RenderWidgetHost instance about the fact that the page is | 4266 // Notifies the RenderWidgetHost instance about the fact that the page is |
4273 // loading, or done loading. | 4267 // loading, or done loading. |
4274 void WebContentsImpl::LoadingStateChanged(bool to_different_document, | 4268 void WebContentsImpl::LoadingStateChanged(bool to_different_document, |
4275 bool due_to_interstitial, | 4269 bool due_to_interstitial, |
4276 LoadNotificationDetails* details) { | 4270 LoadNotificationDetails* details) { |
4277 // Do not send notifications about loading changes in the FrameTree while the | 4271 // Do not send notifications about loading changes in the FrameTree while the |
4278 // interstitial page is pausing the throbber. | 4272 // interstitial page is pausing the throbber. |
4279 if (ShowingInterstitialPage() && | 4273 if (ShowingInterstitialPage() && interstitial_page_->pause_throbber() && |
4280 GetRenderManager()->interstitial_page()->pause_throbber() && | |
4281 !due_to_interstitial) { | 4274 !due_to_interstitial) { |
4282 return; | 4275 return; |
4283 } | 4276 } |
4284 | 4277 |
4285 bool is_loading = IsLoading(); | 4278 bool is_loading = IsLoading(); |
4286 | 4279 |
4287 if (!is_loading) { | 4280 if (!is_loading) { |
4288 load_state_ = net::LoadStateWithParam(net::LOAD_STATE_IDLE, | 4281 load_state_ = net::LoadStateWithParam(net::LOAD_STATE_IDLE, |
4289 base::string16()); | 4282 base::string16()); |
4290 load_state_host_.clear(); | 4283 load_state_host_.clear(); |
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5000 if (old_contents) | 4993 if (old_contents) |
5001 old_contents->GetMainFrame()->GetRenderWidgetHost()->SetPageFocus(false); | 4994 old_contents->GetMainFrame()->GetRenderWidgetHost()->SetPageFocus(false); |
5002 | 4995 |
5003 // Make sure the outer web contents knows our frame is focused. Otherwise, the | 4996 // Make sure the outer web contents knows our frame is focused. Otherwise, the |
5004 // outer renderer could have the element before or after the frame element | 4997 // outer renderer could have the element before or after the frame element |
5005 // focused which would return early without actually advancing focus. | 4998 // focused which would return early without actually advancing focus. |
5006 if (GetRenderManager()->GetProxyToOuterDelegate()) | 4999 if (GetRenderManager()->GetProxyToOuterDelegate()) |
5007 GetRenderManager()->GetProxyToOuterDelegate()->SetFocusedFrame(); | 5000 GetRenderManager()->GetProxyToOuterDelegate()->SetFocusedFrame(); |
5008 | 5001 |
5009 if (ShowingInterstitialPage()) { | 5002 if (ShowingInterstitialPage()) { |
5010 static_cast<RenderFrameHostImpl*>( | 5003 static_cast<RenderFrameHostImpl*>(interstitial_page_->GetMainFrame()) |
5011 GetRenderManager()->interstitial_page()->GetMainFrame()) | |
5012 ->GetRenderWidgetHost() | 5004 ->GetRenderWidgetHost() |
5013 ->SetPageFocus(true); | 5005 ->SetPageFocus(true); |
5014 } else { | 5006 } else { |
5015 GetMainFrame()->GetRenderWidgetHost()->SetPageFocus(true); | 5007 GetMainFrame()->GetRenderWidgetHost()->SetPageFocus(true); |
5016 } | 5008 } |
5017 } | 5009 } |
5018 | 5010 |
5019 void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, | 5011 void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, |
5020 SiteInstance* source) { | 5012 SiteInstance* source) { |
5021 SetAsFocusedWebContentsIfNecessary(); | 5013 SetAsFocusedWebContentsIfNecessary(); |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5210 std::unique_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderFrameHost( | 5202 std::unique_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderFrameHost( |
5211 const GURL& url) { | 5203 const GURL& url) { |
5212 return CreateWebUI(url, std::string()); | 5204 return CreateWebUI(url, std::string()); |
5213 } | 5205 } |
5214 | 5206 |
5215 NavigationEntry* | 5207 NavigationEntry* |
5216 WebContentsImpl::GetLastCommittedNavigationEntryForRenderManager() { | 5208 WebContentsImpl::GetLastCommittedNavigationEntryForRenderManager() { |
5217 return controller_.GetLastCommittedEntry(); | 5209 return controller_.GetLastCommittedEntry(); |
5218 } | 5210 } |
5219 | 5211 |
| 5212 InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() { |
| 5213 return interstitial_page_; |
| 5214 } |
| 5215 |
5220 void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager( | 5216 void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager( |
5221 RenderViewHost* render_view_host) { | 5217 RenderViewHost* render_view_host) { |
5222 RenderWidgetHostViewBase* rwh_view = | 5218 RenderWidgetHostViewBase* rwh_view = |
5223 view_->CreateViewForWidget(render_view_host->GetWidget(), false); | 5219 view_->CreateViewForWidget(render_view_host->GetWidget(), false); |
5224 | 5220 |
5225 // Now that the RenderView has been created, we need to tell it its size. | 5221 // Now that the RenderView has been created, we need to tell it its size. |
5226 if (rwh_view) | 5222 if (rwh_view) |
5227 rwh_view->SetSize(GetSizeForNewRenderView()); | 5223 rwh_view->SetSize(GetSizeForNewRenderView()); |
5228 } | 5224 } |
5229 | 5225 |
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5734 new_root->SetOriginalOpener(opener->frame_tree()->root()); | 5730 new_root->SetOriginalOpener(opener->frame_tree()->root()); |
5735 | 5731 |
5736 if (!opener_suppressed) { | 5732 if (!opener_suppressed) { |
5737 new_root->SetOpener(opener); | 5733 new_root->SetOpener(opener); |
5738 created_with_opener_ = true; | 5734 created_with_opener_ = true; |
5739 } | 5735 } |
5740 } | 5736 } |
5741 } | 5737 } |
5742 | 5738 |
5743 } // namespace content | 5739 } // namespace content |
OLD | NEW |