Chromium Code Reviews| 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 <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
| (...skipping 822 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 833 GetMainFrame()->RequestAXTreeSnapshot(callback); | 833 GetMainFrame()->RequestAXTreeSnapshot(callback); |
| 834 } | 834 } |
| 835 | 835 |
| 836 WebUI* WebContentsImpl::CreateSubframeWebUI(const GURL& url, | 836 WebUI* WebContentsImpl::CreateSubframeWebUI(const GURL& url, |
| 837 const std::string& frame_name) { | 837 const std::string& frame_name) { |
| 838 DCHECK(!frame_name.empty()); | 838 DCHECK(!frame_name.empty()); |
| 839 return CreateWebUI(url, frame_name); | 839 return CreateWebUI(url, frame_name); |
| 840 } | 840 } |
| 841 | 841 |
| 842 WebUI* WebContentsImpl::GetWebUI() const { | 842 WebUI* WebContentsImpl::GetWebUI() const { |
| 843 return GetRenderManager()->web_ui() | 843 if (GetCommittedWebUI()) |
| 844 ? GetRenderManager()->web_ui() | 844 return GetCommittedWebUI(); |
| 845 : GetRenderManager()->GetNavigatingWebUI(); | 845 if (GetRenderManager()->pending_frame_host()) |
| 846 return GetRenderManager()->pending_frame_host()->web_ui(); | |
|
nasko
2015/11/04 17:23:26
This version won't work with PlzNavigate, would it
carlosk
2015/11/04 21:50:38
Indeed and nice catch! Fixed.
| |
| 847 return nullptr; | |
| 846 } | 848 } |
| 847 | 849 |
| 848 WebUI* WebContentsImpl::GetCommittedWebUI() const { | 850 WebUI* WebContentsImpl::GetCommittedWebUI() const { |
| 849 return GetRenderManager()->web_ui(); | 851 return frame_tree_.root()->current_frame_host()->web_ui(); |
| 850 } | 852 } |
| 851 | 853 |
| 852 void WebContentsImpl::SetUserAgentOverride(const std::string& override) { | 854 void WebContentsImpl::SetUserAgentOverride(const std::string& override) { |
| 853 if (GetUserAgentOverride() == override) | 855 if (GetUserAgentOverride() == override) |
| 854 return; | 856 return; |
| 855 | 857 |
| 856 renderer_preferences_.user_agent_override = override; | 858 renderer_preferences_.user_agent_override = override; |
| 857 | 859 |
| 858 // Send the new override string to the renderer. | 860 // Send the new override string to the renderer. |
| 859 RenderViewHost* host = GetRenderViewHost(); | 861 RenderViewHost* host = GetRenderViewHost(); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 906 const base::string16& WebContentsImpl::GetTitle() const { | 908 const base::string16& WebContentsImpl::GetTitle() const { |
| 907 // Transient entries take precedence. They are used for interstitial pages | 909 // Transient entries take precedence. They are used for interstitial pages |
| 908 // that are shown on top of existing pages. | 910 // that are shown on top of existing pages. |
| 909 NavigationEntry* entry = controller_.GetTransientEntry(); | 911 NavigationEntry* entry = controller_.GetTransientEntry(); |
| 910 std::string accept_languages = | 912 std::string accept_languages = |
| 911 GetContentClient()->browser()->GetAcceptLangs( | 913 GetContentClient()->browser()->GetAcceptLangs( |
| 912 GetBrowserContext()); | 914 GetBrowserContext()); |
| 913 if (entry) { | 915 if (entry) { |
| 914 return entry->GetTitleForDisplay(accept_languages); | 916 return entry->GetTitleForDisplay(accept_languages); |
| 915 } | 917 } |
| 916 WebUI* our_web_ui = GetRenderManager()->GetNavigatingWebUI() | 918 WebUI* our_web_ui = GetRenderManager()->pending_frame_host() |
| 917 ? GetRenderManager()->GetNavigatingWebUI() | 919 ? GetRenderManager()->pending_frame_host()->web_ui() |
| 918 : GetRenderManager()->web_ui(); | 920 : frame_tree_.root()->current_frame_host()->web_ui(); |
|
nasko
2015/11/04 17:23:26
Seems inconsistent to use GetRenderManager() for t
carlosk
2015/11/04 21:50:38
And it didn't support PlzNavigate neither. All fix
| |
| 919 if (our_web_ui) { | 921 if (our_web_ui) { |
| 920 // Don't override the title in view source mode. | 922 // Don't override the title in view source mode. |
| 921 entry = controller_.GetVisibleEntry(); | 923 entry = controller_.GetVisibleEntry(); |
| 922 if (!(entry && entry->IsViewSourceMode())) { | 924 if (!(entry && entry->IsViewSourceMode())) { |
| 923 // Give the Web UI the chance to override our title. | 925 // Give the Web UI the chance to override our title. |
| 924 const base::string16& title = our_web_ui->GetOverriddenTitle(); | 926 const base::string16& title = our_web_ui->GetOverriddenTitle(); |
| 925 if (!title.empty()) | 927 if (!title.empty()) |
| 926 return title; | 928 return title; |
| 927 } | 929 } |
| 928 } | 930 } |
| (...skipping 3716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4645 return NULL; | 4647 return NULL; |
| 4646 } | 4648 } |
| 4647 | 4649 |
| 4648 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { | 4650 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { |
| 4649 force_disable_overscroll_content_ = force_disable; | 4651 force_disable_overscroll_content_ = force_disable; |
| 4650 if (view_) | 4652 if (view_) |
| 4651 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); | 4653 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); |
| 4652 } | 4654 } |
| 4653 | 4655 |
| 4654 } // namespace content | 4656 } // namespace content |
| OLD | NEW |