[desktop-pwas] Implement HostedAppMenuModel commands.
This CL adds implementations for the 3 hosted app menu commands:
- Open Site Settings
- Copy URL
- Open in Chrome
Bug: 762401
Change-Id: Ia9ac52999dfcb2ab1ad2408862843e417bb988fd
Reviewed-on: https://chromium-review.googlesource.com/746047
Reviewed-by: Trent Apted <[email protected]>
Commit-Queue: calamity <[email protected]>
Cr-Commit-Position: refs/heads/master@{#516220}
diff --git a/chrome/browser/ui/page_info/page_info.cc b/chrome/browser/ui/page_info/page_info.cc
index 85b4024..2872b39 100644
--- a/chrome/browser/ui/page_info/page_info.cc
+++ b/chrome/browser/ui/page_info/page_info.cc
@@ -78,6 +78,8 @@
#endif
#if !defined(OS_ANDROID)
+#include "chrome/browser/ui/browser_finder.h"
+#include "chrome/browser/ui/chrome_pages.h"
#include "chrome/browser/ui/exclusive_access/exclusive_access_manager.h"
#include "chrome/browser/ui/page_info/page_info_infobar_delegate.h"
#endif
@@ -492,32 +494,13 @@
}
void PageInfo::OpenSiteSettingsView() {
- // By default, this opens the general Content Settings pane. If the
- // |kSiteSettings| and/or |kSiteDetails| flags are enabled this opens a
- // settings page specific to the current origin of the page. crbug.com/655876
- url::Origin site_origin = url::Origin::Create(site_url());
- std::string link_destination(chrome::kChromeUIContentSettingsURL);
- // TODO(https://crbug.com/444047): Site Details should work with file:// urls
- // when this bug is fixed, so add it to the whitelist when that happens.
- if ((base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableSiteSettings) ||
- base::FeatureList::IsEnabled(features::kSiteDetails)) &&
- !site_origin.unique() &&
- (site_url().SchemeIsHTTPOrHTTPS() ||
- site_url().SchemeIs(content_settings::kExtensionScheme))) {
- std::string origin_string = site_origin.Serialize();
- url::RawCanonOutputT<char> percent_encoded_origin;
- url::EncodeURIComponent(origin_string.c_str(), origin_string.length(),
- &percent_encoded_origin);
- link_destination = chrome::kChromeUISiteDetailsPrefixURL +
- std::string(percent_encoded_origin.data(),
- percent_encoded_origin.length());
- }
- web_contents()->OpenURL(
- content::OpenURLParams(GURL(link_destination), content::Referrer(),
- WindowOpenDisposition::NEW_FOREGROUND_TAB,
- ui::PAGE_TRANSITION_LINK, false));
+#if defined(OS_ANDROID)
+ NOTREACHED();
+#else
+ chrome::ShowSiteSettings(chrome::FindBrowserWithWebContents(web_contents()),
+ site_url());
RecordPageInfoAction(PageInfo::PAGE_INFO_SITE_SETTINGS_OPENED);
+#endif
}
void PageInfo::OnChangePasswordButtonPressed(