summaryrefslogtreecommitdiffstats
path: root/content/browser/tab_contents/tab_contents.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/tab_contents/tab_contents.cc')
-rw-r--r--content/browser/tab_contents/tab_contents.cc29
1 files changed, 21 insertions, 8 deletions
diff --git a/content/browser/tab_contents/tab_contents.cc b/content/browser/tab_contents/tab_contents.cc
index 8ea6a1f..8a6b5dd 100644
--- a/content/browser/tab_contents/tab_contents.cc
+++ b/content/browser/tab_contents/tab_contents.cc
@@ -121,6 +121,7 @@ using content::SSLStatus;
using content::UserMetricsAction;
using content::WebContents;
using content::WebContentsObserver;
+using content::WebUIController;
namespace {
@@ -431,6 +432,20 @@ TabContentsView* TabContents::GetView() const {
return view_.get();
}
+WebUI* TabContents::CreateWebUI(const GURL& url) {
+ WebUI* web_ui = new WebUI(this);
+ WebUIController* controller =
+ content::GetContentClient()->browser()->GetWebUIFactory()->
+ CreateWebUIForURL(web_ui, url);
+ if (controller) {
+ web_ui->SetController(controller);
+ return web_ui;
+ }
+
+ delete web_ui;
+ return NULL;
+}
+
WebUI* TabContents::GetWebUI() const {
return render_manager_.web_ui() ? render_manager_.web_ui()
: render_manager_.pending_web_ui();
@@ -457,7 +472,7 @@ const string16& TabContents::GetTitle() const {
entry = controller_.GetActiveEntry();
if (!(entry && entry->IsViewSourceMode())) {
// Give the Web UI the chance to override our title.
- const string16& title = our_web_ui->overridden_title();
+ const string16& title = our_web_ui->GetOverriddenTitle();
if (!title.empty())
return title;
}
@@ -1121,7 +1136,7 @@ bool TabContents::GotResponseToLockMouseRequest(bool allowed) {
bool TabContents::FocusLocationBarByDefault() {
WebUI* web_ui = GetWebUIForCurrentState();
if (web_ui)
- return web_ui->focus_location_bar_by_default();
+ return web_ui->ShouldFocusLocationBarByDefault();
NavigationEntry* entry = controller_.GetActiveEntry();
if (entry && entry->GetURL() == GURL(chrome::kAboutBlankURL))
return true;
@@ -1465,8 +1480,7 @@ void TabContents::DidNavigateMainFramePostCommit(
// that opened the window, as long as both renderers have the same
// privileges.
if (delegate_ && opener_web_ui_type_ == GetWebUITypeForCurrentState()) {
- WebUI* web_ui = content::GetContentClient()->browser()->
- GetWebUIFactory()->CreateWebUIForURL(this, GetURL());
+ WebUI* web_ui = CreateWebUI(GetURL());
// web_ui might be NULL if the URL refers to a non-existent extension.
if (web_ui) {
render_manager_.SetWebUIPostCommit(web_ui);
@@ -1944,11 +1958,11 @@ void TabContents::RequestTransferURL(const GURL& url,
// chrome: URLs might have search terms or other stuff we don't want to
// send to the site), so we send no referrer.
OpenURLParams params(url, content::Referrer(), disposition,
- render_manager_.web_ui()->link_transition_type(),
+ render_manager_.web_ui()->GetLinkTransitionType(),
false /* is_renderer_initiated */);
params.transferred_global_request_id = old_request_id;
new_contents = OpenURL(params);
- transition_type = render_manager_.web_ui()->link_transition_type();
+ transition_type = render_manager_.web_ui()->GetLinkTransitionType();
} else {
OpenURLParams params(url, referrer, disposition,
content::PAGE_TRANSITION_LINK, true /* is_renderer_initiated */);
@@ -2178,8 +2192,7 @@ NavigationControllerImpl& TabContents::GetControllerForRenderManager() {
}
WebUI* TabContents::CreateWebUIForRenderManager(const GURL& url) {
- return content::GetContentClient()->browser()->GetWebUIFactory()->
- CreateWebUIForURL(this, url);
+ return CreateWebUI(url);
}
NavigationEntry*