summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/browser_navigator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/browser_navigator.cc')
-rw-r--r--chrome/browser/ui/browser_navigator.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc
index 6049b93..efaadee 100644
--- a/chrome/browser/ui/browser_navigator.cc
+++ b/chrome/browser/ui/browser_navigator.cc
@@ -132,11 +132,14 @@ Browser* GetBrowserForDisposition(chrome::NavigateParams* params) {
params->extension_app_id);
} else if (!params->browser->app_name().empty()) {
app_name = params->browser->app_name();
- } else if (params->source_contents &&
- params->source_contents->extension_tab_helper()->is_app()) {
- app_name = web_app::GenerateApplicationNameFromExtensionId(
- params->source_contents->extension_tab_helper()->
- extension_app()->id());
+ } else if (params->source_contents) {
+ extensions::TabHelper* extensions_tab_helper =
+ extensions::TabHelper::FromWebContents(
+ params->source_contents->web_contents());
+ if (extensions_tab_helper->is_app()) {
+ app_name = web_app::GenerateApplicationNameFromExtensionId(
+ extensions_tab_helper->extension_app()->id());
+ }
}
if (app_name.empty()) {
Browser::CreateParams browser_params(Browser::TYPE_POPUP, profile);
@@ -494,8 +497,9 @@ void Navigate(NavigateParams* params) {
// This function takes ownership of |params->target_contents| until it
// is added to a TabStripModel.
target_contents_owner.TakeOwnership();
- params->target_contents->extension_tab_helper()->
- SetExtensionAppById(params->extension_app_id);
+ extensions::TabHelper::FromWebContents(
+ params->target_contents->web_contents())->
+ SetExtensionAppById(params->extension_app_id);
// TODO(sky): figure out why this is needed. Without it we seem to get
// failures in startup tests.
// By default, content believes it is not hidden. When adding contents