| Index: chrome/browser/ui/browser_navigator.cc
|
| diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc
|
| index af2d1dc952d185232272062b770e55f8af432cdd..540ca009a41097e47f095167719dd0db3f88a8a0 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);
|
| @@ -484,8 +487,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
|
|
|