mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-06 05:53:54 +01:00
Revert "chrome: Simplify WebUIControllerFactory registration (see issue #3047)"
Still need to unregister the Content-level factory to stop Alloy loading unsupported pages. This reverts commit a21d0c41a4ddf33e189edbfdcb655f898385c63b.
This commit is contained in:
parent
32ebbd60f9
commit
d43c3091b2
@ -695,6 +695,9 @@ CefWebUIControllerFactory* CefWebUIControllerFactory::GetInstance() {
|
|||||||
|
|
||||||
void RegisterWebUIControllerFactory() {
|
void RegisterWebUIControllerFactory() {
|
||||||
// Channel all WebUI handling through CefWebUIControllerFactory.
|
// Channel all WebUI handling through CefWebUIControllerFactory.
|
||||||
|
content::WebUIControllerFactory::UnregisterFactoryForTesting(
|
||||||
|
content::ContentWebUIControllerFactory::GetInstance());
|
||||||
|
|
||||||
content::WebUIControllerFactory::RegisterFactory(
|
content::WebUIControllerFactory::RegisterFactory(
|
||||||
CefWebUIControllerFactory::GetInstance());
|
CefWebUIControllerFactory::GetInstance());
|
||||||
}
|
}
|
||||||
|
@ -436,6 +436,13 @@ patches = [
|
|||||||
# This crash was introduced by https://crrev.com/5f6212babf.
|
# This crash was introduced by https://crrev.com/5f6212babf.
|
||||||
'name': 'browser_scheduler',
|
'name': 'browser_scheduler',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
# Restore access to WebUIControllerFactory::UnregisterFactoryForTesting
|
||||||
|
# which was removed in https://crrev.com/5f183d6636. We can't use
|
||||||
|
# ScopedWebUIControllerFactoryRegistration because it pulls in GTest
|
||||||
|
# dependencies.
|
||||||
|
'name': 'browser_web_ui_controller_factory',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
# Avoid a shutdown crash caused by PrefWatcher holding a reference to
|
# Avoid a shutdown crash caused by PrefWatcher holding a reference to
|
||||||
# |g_browser_process->local_state()|, and the local_state being deleted
|
# |g_browser_process->local_state()|, and the local_state being deleted
|
||||||
|
14
patch/patches/browser_web_ui_controller_factory.patch
Normal file
14
patch/patches/browser_web_ui_controller_factory.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
diff --git content/public/browser/web_ui_controller_factory.h content/public/browser/web_ui_controller_factory.h
|
||||||
|
index eb068fb9bb42c..4e8e6a1a7abf4 100644
|
||||||
|
--- content/public/browser/web_ui_controller_factory.h
|
||||||
|
+++ content/public/browser/web_ui_controller_factory.h
|
||||||
|
@@ -47,9 +47,6 @@ class CONTENT_EXPORT WebUIControllerFactory {
|
||||||
|
virtual bool UseWebUIForURL(BrowserContext* browser_context,
|
||||||
|
const GURL& url) = 0;
|
||||||
|
|
||||||
|
- private:
|
||||||
|
- friend class ScopedWebUIControllerFactoryRegistration;
|
||||||
|
-
|
||||||
|
static void UnregisterFactoryForTesting(WebUIControllerFactory* factory);
|
||||||
|
};
|
||||||
|
|
@ -78,7 +78,7 @@ index 132735e3a1200..0d392976799a4 100644
|
|||||||
|
|
||||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||||
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
|
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
|
||||||
index 4e9969d9c5b0b..e599b114f021d 100644
|
index 4e9969d9c5b0b..0e734d8661db0 100644
|
||||||
--- chrome/browser/chrome_browser_main.cc
|
--- chrome/browser/chrome_browser_main.cc
|
||||||
+++ chrome/browser/chrome_browser_main.cc
|
+++ chrome/browser/chrome_browser_main.cc
|
||||||
@@ -52,6 +52,7 @@
|
@@ -52,6 +52,7 @@
|
||||||
@ -89,21 +89,7 @@ index 4e9969d9c5b0b..e599b114f021d 100644
|
|||||||
#include "chrome/browser/about_flags.h"
|
#include "chrome/browser/about_flags.h"
|
||||||
#include "chrome/browser/active_use_util.h"
|
#include "chrome/browser/active_use_util.h"
|
||||||
#include "chrome/browser/after_startup_task_utils.h"
|
#include "chrome/browser/after_startup_task_utils.h"
|
||||||
@@ -1530,11 +1531,13 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
@@ -1757,11 +1758,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||||
browser_process_->local_state());
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if !BUILDFLAG(ENABLE_CEF)
|
|
||||||
// Needs to be done before PostProfileInit, since login manager on CrOS is
|
|
||||||
// called inside PostProfileInit.
|
|
||||||
content::WebUIControllerFactory::RegisterFactory(
|
|
||||||
ChromeWebUIControllerFactory::GetInstance());
|
|
||||||
ChromeUntrustedWebUIControllerFactory::RegisterInstance();
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
|
||||||
page_info::SetPageInfoClient(new ChromePageInfoClient());
|
|
||||||
@@ -1757,11 +1760,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
|
||||||
// This step is costly and is already measured in
|
// This step is costly and is already measured in
|
||||||
// Startup.StartupBrowserCreator_Start.
|
// Startup.StartupBrowserCreator_Start.
|
||||||
// See the comment above for an explanation of |process_command_line|.
|
// See the comment above for an explanation of |process_command_line|.
|
||||||
@ -119,7 +105,7 @@ index 4e9969d9c5b0b..e599b114f021d 100644
|
|||||||
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
|
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
|
||||||
// of lacros-chrome is complete.
|
// of lacros-chrome is complete.
|
||||||
#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
|
#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
|
||||||
@@ -1789,8 +1795,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
@@ -1789,8 +1793,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||||
|
|
||||||
// Create the RunLoop for MainMessageLoopRun() to use and transfer
|
// Create the RunLoop for MainMessageLoopRun() to use and transfer
|
||||||
// ownership of the browser's lifetime to the BrowserProcess.
|
// ownership of the browser's lifetime to the BrowserProcess.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user