Chromium Code Reviews| Index: chrome/browser/ui/extensions/hosted_app_browser_controller.cc |
| diff --git a/chrome/browser/ui/extensions/bookmark_app_browser_controller.cc b/chrome/browser/ui/extensions/hosted_app_browser_controller.cc |
| similarity index 73% |
| rename from chrome/browser/ui/extensions/bookmark_app_browser_controller.cc |
| rename to chrome/browser/ui/extensions/hosted_app_browser_controller.cc |
| index 773250a19dd5658545faecfdeddabb97a0edb493..f27005feb0b3bef10915d85923d4ce8135e8a89c 100644 |
| --- a/chrome/browser/ui/extensions/bookmark_app_browser_controller.cc |
| +++ b/chrome/browser/ui/extensions/hosted_app_browser_controller.cc |
| @@ -2,7 +2,7 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "chrome/browser/ui/extensions/bookmark_app_browser_controller.h" |
| +#include "chrome/browser/ui/extensions/hosted_app_browser_controller.h" |
| #include "base/command_line.h" |
| #include "chrome/browser/profiles/profile.h" |
| @@ -18,6 +18,7 @@ |
| #include "content/public/browser/web_contents.h" |
| #include "extensions/browser/extension_registry.h" |
| #include "extensions/common/extension.h" |
| +#include "net/base/net_util.h" |
| #include "url/gurl.h" |
| namespace extensions { |
| @@ -25,9 +26,11 @@ namespace extensions { |
| namespace { |
| bool IsSameOriginOrMoreSecure(const GURL& app_url, const GURL& page_url) { |
| + const std::string www("www."); |
| return (app_url.scheme() == page_url.scheme() || |
| page_url.scheme() == url::kHttpsScheme) && |
| - app_url.host() == page_url.host() && |
| + (app_url.host() == page_url.host() || |
| + www + app_url.host() == page_url.host()) && |
|
felt
2015/06/04 19:21:34
why single out www as the one allowable subdomain?
benwells
2015/06/04 23:54:42
It shoudn't be all subdomains as benfredwells.gith
felt
2015/06/04 23:58:37
ok, special casing www sounds reasonable to me. (a
|
| app_url.port() == page_url.port(); |
| } |
| @@ -39,32 +42,37 @@ bool IsWebAppFrameEnabled() { |
| } // namespace |
| // static |
| -bool BookmarkAppBrowserController::IsForBookmarkApp(Browser* browser) { |
| +bool HostedAppBrowserController::IsForHostedApp(Browser* browser) { |
| const std::string extension_id = |
| web_app::GetExtensionIdFromApplicationName(browser->app_name()); |
| const Extension* extension = |
| ExtensionRegistry::Get(browser->profile())->GetExtensionById( |
| extension_id, ExtensionRegistry::EVERYTHING); |
| - return extension && extension->from_bookmark(); |
| + return extension && extension->is_hosted_app(); |
| } |
| -BookmarkAppBrowserController::BookmarkAppBrowserController(Browser* browser) |
| +HostedAppBrowserController::HostedAppBrowserController(Browser* browser) |
| : browser_(browser), |
| extension_id_( |
| web_app::GetExtensionIdFromApplicationName(browser->app_name())), |
| - should_use_web_app_frame_(browser->host_desktop_type() == |
| - chrome::HOST_DESKTOP_TYPE_ASH && |
| - IsWebAppFrameEnabled()) { |
| + should_use_web_app_frame_(false) { |
| + const Extension* extension = |
| + ExtensionRegistry::Get(browser->profile())->GetExtensionById( |
| + extension_id_, ExtensionRegistry::EVERYTHING); |
| + should_use_web_app_frame_ = |
| + extension && extension->from_bookmark() && |
|
felt
2015/06/04 19:21:33
should this be a DCHECK(extension)? can extension
benwells
2015/06/05 01:20:44
Done.
|
| + browser->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH && |
| + IsWebAppFrameEnabled(); |
| } |
| -BookmarkAppBrowserController::~BookmarkAppBrowserController() { |
| +HostedAppBrowserController::~HostedAppBrowserController() { |
| } |
| -bool BookmarkAppBrowserController::SupportsLocationBar() { |
| +bool HostedAppBrowserController::SupportsLocationBar() const { |
| return !should_use_web_app_frame(); |
| } |
| -bool BookmarkAppBrowserController::ShouldShowLocationBar() { |
| +bool HostedAppBrowserController::ShouldShowLocationBar() const { |
| const Extension* extension = |
| ExtensionRegistry::Get(browser_->profile())->GetExtensionById( |
| extension_id_, ExtensionRegistry::EVERYTHING); |
| @@ -77,7 +85,7 @@ bool BookmarkAppBrowserController::ShouldShowLocationBar() { |
| if (!extension || !web_contents) |
| return false; |
| - if (!extension->from_bookmark()) |
| + if (!extension->is_hosted_app()) |
| return false; |
| // Don't show a location bar until a navigation has occurred. |
| @@ -96,7 +104,8 @@ bool BookmarkAppBrowserController::ShouldShowLocationBar() { |
| web_contents->GetLastCommittedURL())); |
| } |
| -void BookmarkAppBrowserController::UpdateLocationBarVisibility(bool animate) { |
| +void HostedAppBrowserController::UpdateLocationBarVisibility( |
| + bool animate) const { |
| if (!SupportsLocationBar()) |
| return; |