Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4189)

Unified Diff: chrome/browser/ui/webui/uber/uber_ui.cc

Issue 2931243002: Unframe chrome://extensions as it's the last (and only) uber item (Closed)
Patch Set: policy_android.css Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/webui/uber/uber_ui.h ('k') | chrome/test/data/webui/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/uber/uber_ui.cc
diff --git a/chrome/browser/ui/webui/uber/uber_ui.cc b/chrome/browser/ui/webui/uber/uber_ui.cc
deleted file mode 100644
index 966231d3162e821452d3cc6ae16af17ee9e6e6cf..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/webui/uber/uber_ui.cc
+++ /dev/null
@@ -1,191 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/webui/uber/uber_ui.h"
-
-#include "base/memory/ptr_util.h"
-#include "base/stl_util.h"
-#include "build/build_config.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h"
-#include "chrome/browser/ui/webui/extensions/extensions_ui.h"
-#include "chrome/browser/ui/webui/log_web_ui_url.h"
-#include "chrome/common/chrome_features.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/common/extensions/chrome_manifest_url_handlers.h"
-#include "chrome/common/url_constants.h"
-#include "chrome/grit/browser_resources.h"
-#include "chrome/grit/chromium_strings.h"
-#include "chrome/grit/generated_resources.h"
-#include "components/strings/grit/components_strings.h"
-#include "content/public/browser/browser_context.h"
-#include "content/public/browser/navigation_controller.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/navigation_handle.h"
-#include "content/public/browser/notification_source.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_ui.h"
-#include "content/public/browser/web_ui_data_source.h"
-#include "content/public/common/browser_side_navigation_policy.h"
-
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/ui/webui/options/options_ui.h"
-#endif
-
-using content::NavigationController;
-using content::NavigationEntry;
-using content::RenderFrameHost;
-using content::WebContents;
-
-namespace {
-
-content::WebUIDataSource* CreateUberHTMLSource() {
- content::WebUIDataSource* source =
- content::WebUIDataSource::Create(chrome::kChromeUIUberHost);
-
- source->SetJsonPath("strings.js");
- source->AddResourcePath("uber.js", IDR_UBER_JS);
- source->AddResourcePath("uber_utils.js", IDR_UBER_UTILS_JS);
- source->SetDefaultResource(IDR_UBER_HTML);
- source->OverrideContentSecurityPolicyChildSrc("child-src chrome:;");
-
- // Hack alert: continue showing "Loading..." until a real title is set.
- source->AddLocalizedString("pageTitle", IDS_TAB_LOADING_TITLE);
-
- source->AddString("extensionsFrameURL", chrome::kChromeUIExtensionsFrameURL);
- source->AddString("extensionsHost", chrome::kChromeUIExtensionsHost);
- source->AddString("helpFrameURL", chrome::kChromeUIHelpFrameURL);
- source->AddString("helpHost", chrome::kChromeUIHelpHost);
- source->AddString("settingsFrameURL", chrome::kChromeUISettingsFrameURL);
- source->AddString("settingsHost", chrome::kChromeUISettingsHost);
-
- return source;
-}
-
-content::WebUIDataSource* CreateUberFrameHTMLSource(
- content::BrowserContext* browser_context) {
- content::WebUIDataSource* source =
- content::WebUIDataSource::Create(chrome::kChromeUIUberFrameHost);
- Profile* profile = Profile::FromBrowserContext(browser_context);
-
- source->SetJsonPath("strings.js");
- source->AddResourcePath("uber_frame.js", IDR_UBER_FRAME_JS);
- source->SetDefaultResource(IDR_UBER_FRAME_HTML);
-
- // TODO(jhawkins): Attempt to get rid of IDS_SHORT_PRODUCT_OS_NAME.
-#if defined(OS_CHROMEOS)
- source->AddLocalizedString("shortProductName", IDS_SHORT_PRODUCT_OS_NAME);
-#else
- source->AddLocalizedString("shortProductName", IDS_SHORT_PRODUCT_NAME);
-#endif // defined(OS_CHROMEOS)
-
- source->AddBoolean("hideExtensions",
- base::FeatureList::IsEnabled(features::kMaterialDesignExtensions));
- // TODO(dbeam): remove hideSettingsAndHelp soon.
- source->AddBoolean("hideSettingsAndHelp", true);
- source->AddString("extensionsHost", chrome::kChromeUIExtensionsHost);
- source->AddLocalizedString("extensionsDisplayName",
- IDS_MANAGE_EXTENSIONS_SETTING_WINDOWS_TITLE);
- source->AddString("helpHost", chrome::kChromeUIHelpHost);
- source->AddLocalizedString("helpDisplayName", IDS_ABOUT_TITLE);
- source->AddString("settingsHost", chrome::kChromeUISettingsHost);
- source->AddLocalizedString("settingsDisplayName", IDS_SETTINGS_TITLE);
-
- source->DisableDenyXFrameOptions();
- source->OverrideContentSecurityPolicyChildSrc("child-src chrome:;");
-
- source->AddBoolean("profileIsGuest", profile->IsGuestSession());
-
- return source;
-}
-
-} // namespace
-
-SubframeLogger::SubframeLogger(content::WebContents* contents)
- : WebContentsObserver(contents) {}
-
-SubframeLogger::~SubframeLogger() {}
-
-void SubframeLogger::DidFinishNavigation(
- content::NavigationHandle* navigation_handle) {
- if (!navigation_handle->HasCommitted())
- return;
-
- const GURL& url = navigation_handle->GetURL();
- if (url == chrome::kChromeUIExtensionsFrameURL ||
- url == chrome::kChromeUIHelpFrameURL ||
- url == chrome::kChromeUISettingsFrameURL ||
- url == chrome::kChromeUIUberFrameURL) {
- webui::LogWebUIUrl(url);
- }
-}
-
-UberUI::UberUI(content::WebUI* web_ui) : WebUIController(web_ui) {
- subframe_logger_ = base::MakeUnique<SubframeLogger>(web_ui->GetWebContents());
- content::WebUIDataSource::Add(web_ui->GetWebContents()->GetBrowserContext(),
- CreateUberHTMLSource());
-
- RegisterSubpage(chrome::kChromeUIExtensionsFrameURL,
- chrome::kChromeUIExtensionsHost);
- RegisterSubpage(chrome::kChromeUIHelpFrameURL,
- chrome::kChromeUIHelpHost);
-#if defined(OS_CHROMEOS)
- RegisterSubpage(chrome::kChromeUISettingsFrameURL,
- chrome::kChromeUISettingsHost);
-#endif
- RegisterSubpage(chrome::kChromeUIUberFrameURL,
- chrome::kChromeUIUberHost);
-}
-
-UberUI::~UberUI() {
-}
-
-void UberUI::RegisterSubpage(const std::string& page_url,
- const std::string& page_host) {
- sub_uis_[page_url] = web_ui()->GetWebContents()->CreateSubframeWebUI(
- GURL(page_url), page_host);
-}
-
-content::WebUI* UberUI::GetSubpage(const std::string& page_url) {
- if (!base::ContainsKey(sub_uis_, page_url))
- return nullptr;
- return sub_uis_[page_url].get();
-}
-
-void UberUI::RenderFrameCreated(RenderFrameHost* render_frame_host) {
- for (auto iter = sub_uis_.begin(); iter != sub_uis_.end(); ++iter) {
- iter->second->GetController()->RenderFrameCreated(render_frame_host);
- }
-}
-
-bool UberUI::OverrideHandleWebUIMessage(const GURL& source_url,
- const std::string& message,
- const base::ListValue& args) {
- // Find the appropriate subpage and forward the message.
- auto subpage = sub_uis_.find(source_url.GetOrigin().spec());
- if (subpage == sub_uis_.end()) {
- // The message was sent from the uber page itself.
- DCHECK_EQ(std::string(chrome::kChromeUIUberHost), source_url.host());
- return false;
- }
-
- // The message was sent from a subpage.
- // TODO(jam) fix this to use interface
- // return subpage->second->GetController()->OverrideHandleWebUIMessage(
- // source_url, message, args);
- subpage->second->ProcessWebUIMessage(source_url, message, args);
- return true;
-}
-
-// UberFrameUI
-
-UberFrameUI::UberFrameUI(content::WebUI* web_ui) : WebUIController(web_ui) {
- content::BrowserContext* browser_context =
- web_ui->GetWebContents()->GetBrowserContext();
- content::WebUIDataSource::Add(browser_context,
- CreateUberFrameHTMLSource(browser_context));
-}
-
-UberFrameUI::~UberFrameUI() {
-}
« no previous file with comments | « chrome/browser/ui/webui/uber/uber_ui.h ('k') | chrome/test/data/webui/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698