| 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 |