alloy: Add support for chrome-untrusted scheme (see issue #3047)

Lack of this functionality was causing print preview to fail with
PdfUnseasoned enabled.
This commit is contained in:
Marshall Greenblatt
2022-02-16 17:27:59 -05:00
parent 7909550112
commit 0fc092c4aa
3 changed files with 53 additions and 0 deletions

View File

@@ -539,5 +539,11 @@ patches = [
# Remove DCHECK that triggers while loading DevTools resources.
# https://bugs.chromium.org/p/chromium/issues/detail?id=1289230
'name': 'blink_security_policy_1289230',
},
{
# Add ChromeUntrustedWebUIControllerFactory::GetInstance() method.
# https://crrev.com/643a88a591e1fa448c9ee72679498e4288e7a164
# https://bitbucket.org/chromiumembedded/cef/issues/3047
'name': 'chrome_untrusted_webui_3047',
}
]

View File

@@ -0,0 +1,34 @@
diff --git chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.cc chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.cc
index 78d2b6eef6ca6..ebefa586902c9 100644
--- chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.cc
+++ chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.cc
@@ -94,9 +94,15 @@ WebUIConfigList CreateConfigs() {
} // namespace
// static
-void ChromeUntrustedWebUIControllerFactory::RegisterInstance() {
+ChromeUntrustedWebUIControllerFactory*
+ChromeUntrustedWebUIControllerFactory::GetInstance() {
static base::NoDestructor<ChromeUntrustedWebUIControllerFactory> instance;
- content::WebUIControllerFactory::RegisterFactory(instance.get());
+ return instance.get();
+}
+
+// static
+void ChromeUntrustedWebUIControllerFactory::RegisterInstance() {
+ content::WebUIControllerFactory::RegisterFactory(GetInstance());
}
ChromeUntrustedWebUIControllerFactory::ChromeUntrustedWebUIControllerFactory()
diff --git chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.h chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.h
index fd16bca71a3f0..738afa6654e42 100644
--- chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.h
+++ chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.h
@@ -12,6 +12,7 @@ class ChromeUntrustedWebUIControllerFactory
public:
// Register the singleton instance of this class.
static void RegisterInstance();
+ static ChromeUntrustedWebUIControllerFactory* GetInstance();
ChromeUntrustedWebUIControllerFactory();
ChromeUntrustedWebUIControllerFactory(