Commit 87df3873 authored by Alexey Baskakov's avatar Alexey Baskakov Committed by Commit Bot

HostedApp: Encapsulate Extensions in HostedAppBrowserController.

This is a cleanup code-health change.

Bug: 774918
Change-Id: I9b73ad49874fa48210aba031d646173f1544678d
Reviewed-on: https://chromium-review.googlesource.com/1209133Reviewed-by: default avatarAlan Cutter <alancutter@chromium.org>
Reviewed-by: default avatarBen Wells <benwells@chromium.org>
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590203}
parent 7f872a60
......@@ -27,6 +27,8 @@
#include "content/public/common/renderer_preferences.h"
#include "content/public/common/web_preferences.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/management_policy.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension.h"
#include "ui/gfx/favicon_size.h"
......@@ -262,6 +264,10 @@ const Extension* HostedAppBrowserController::GetExtension() const {
->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING);
}
const Extension* HostedAppBrowserController::GetExtensionForTesting() const {
return GetExtension();
}
std::string HostedAppBrowserController::GetAppShortName() const {
return GetExtension()->short_name();
}
......@@ -270,6 +276,12 @@ base::string16 HostedAppBrowserController::GetFormattedUrlOrigin() const {
return FormatUrlOrigin(AppLaunchInfo::GetLaunchWebURL(GetExtension()));
}
bool HostedAppBrowserController::CanUninstall() const {
return extensions::ExtensionSystem::Get(browser_->profile())
->management_policy()
->UserMayModifySettings(GetExtension(), nullptr);
}
void HostedAppBrowserController::Uninstall(UninstallReason reason,
UninstallSource source) {
uninstall_dialog_.reset(ExtensionUninstallDialog::Create(
......
......@@ -77,7 +77,9 @@ class HostedAppBrowserController : public SiteEngagementObserver,
base::string16 GetFormattedUrlOrigin() const;
// Gets the extension for this controller.
const Extension* GetExtension() const;
const Extension* GetExtensionForTesting() const;
bool CanUninstall() const;
void Uninstall(UninstallReason reason, UninstallSource source);
......@@ -97,6 +99,8 @@ class HostedAppBrowserController : public SiteEngagementObserver,
bool was_active) override;
private:
const Extension* GetExtension() const;
Browser* const browser_;
const std::string extension_id_;
const bool created_for_installed_pwa_;
......
......@@ -1003,7 +1003,8 @@ IN_PROC_BROWSER_TEST_P(HostedAppPWAOnlyTest,
Browser* app_browser = ReparentSecureActiveTabIntoPwaWindow(browser());
ASSERT_EQ(app_browser->hosted_app_controller()->GetExtension(), app_);
ASSERT_EQ(app_browser->hosted_app_controller()->GetExtensionForTesting(),
app_);
}
// Tests that the manifest name of the current installable site is used in the
......
......@@ -14,8 +14,6 @@
#include "chrome/grit/chromium_strings.h"
#include "chrome/grit/generated_resources.h"
#include "components/strings/grit/components_strings.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/management_policy.h"
#include "ui/base/l10n/l10n_util.h"
#include "url/gurl.h"
......@@ -69,13 +67,9 @@ void HostedAppMenuModel::Build() {
}
bool HostedAppMenuModel::IsCommandIdEnabled(int command_id) const {
if (command_id == kUninstallAppCommandId) {
return extensions::ExtensionSystem::Get(browser()->profile())
->management_policy()
->UserMayModifySettings(
browser()->hosted_app_controller()->GetExtension(), nullptr);
}
return AppMenuModel::IsCommandIdEnabled(command_id);
return command_id == kUninstallAppCommandId
? browser()->hosted_app_controller()->CanUninstall()
: AppMenuModel::IsCommandIdEnabled(command_id);
}
void HostedAppMenuModel::ExecuteCommand(int command_id, int event_flags) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment