Skip to content

Commit ec7942e

Browse files
authored
fix: build when some buildflags are disabled (electron#23307)
1 parent 3584665 commit ec7942e

File tree

14 files changed

+82
-44
lines changed

14 files changed

+82
-44
lines changed

BUILD.gn

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import("//build/config/ui.gni")
33
import("//build/config/win/manifest.gni")
44
import("//components/spellcheck/spellcheck_build_features.gni")
55
import("//content/public/app/mac_helpers.gni")
6+
import("//extensions/buildflags/buildflags.gni")
67
import("//pdf/features.gni")
78
import("//ppapi/buildflags/buildflags.gni")
89
import("//printing/buildflags/buildflags.gni")
@@ -58,6 +59,17 @@ if (is_mas_build) {
5859
"It doesn't make sense to build a MAS build on a non-mac platform")
5960
}
6061

62+
if (enable_pdf_viewer) {
63+
assert(enable_pdf, "PDF viewer support requires enable_pdf=true")
64+
assert(enable_electron_extensions,
65+
"PDF viewer support requires enable_electron_extensions=true")
66+
}
67+
68+
if (enable_electron_extensions) {
69+
assert(enable_extensions,
70+
"Chrome extension support requires enable_extensions=true")
71+
}
72+
6173
config("branding") {
6274
defines = [
6375
"ELECTRON_PRODUCT_NAME=\"$electron_product_name\"",
@@ -330,7 +342,9 @@ source_set("electron_lib") {
330342
"//components/network_hints/common:mojo_bindings",
331343
"//components/network_hints/renderer",
332344
"//components/network_session_configurator/common",
345+
"//components/pref_registry",
333346
"//components/prefs",
347+
"//components/user_prefs",
334348
"//components/viz/host",
335349
"//components/viz/service",
336350
"//content/public/browser",
@@ -622,15 +636,6 @@ source_set("electron_lib") {
622636
deps += [ "//components/printing/common:mojo_interfaces" ]
623637
}
624638

625-
deps += [
626-
"//components/pref_registry",
627-
"//components/user_prefs",
628-
"//extensions/browser",
629-
"//extensions/browser:core_api_provider",
630-
"//extensions/common",
631-
"//extensions/common:core_api_provider",
632-
"//extensions/renderer",
633-
]
634639
if (enable_electron_extensions) {
635640
sources += filenames.lib_sources_extensions
636641
deps += [
@@ -639,6 +644,11 @@ source_set("electron_lib") {
639644
"shell/common/extensions/api:extensions_features",
640645
"//chrome/browser/resources:component_extension_resources",
641646
"//components/zoom",
647+
"//extensions/browser",
648+
"//extensions/browser:core_api_provider",
649+
"//extensions/common",
650+
"//extensions/common:core_api_provider",
651+
"//extensions/renderer",
642652
]
643653
}
644654

build/args/all.gn

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,3 @@ angle_enable_vulkan_validation_layers = false
2020
dawn_enable_vulkan_validation_layers = false
2121

2222
is_cfi = false
23-
24-
enable_osr = true
25-
26-
enable_electron_extensions = true

buildflags/buildflags.gni

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ declare_args() {
3232
enable_pepper_flash = true
3333

3434
# Enable Chrome extensions support.
35-
enable_electron_extensions = false
35+
enable_electron_extensions = true
3636

3737
# Enable Spellchecker support
3838
enable_builtin_spellchecker = true

chromium_src/BUILD.gn

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -239,17 +239,22 @@ static_library("chrome") {
239239
sources += [
240240
"//chrome/browser/extensions/chrome_url_request_util.cc",
241241
"//chrome/browser/extensions/chrome_url_request_util.h",
242-
"//chrome/browser/pdf/pdf_extension_util.cc",
243-
"//chrome/browser/pdf/pdf_extension_util.h",
244242
"//chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc",
245243
"//chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.h",
246244
"//chrome/renderer/extensions/extension_hooks_delegate.cc",
247245
"//chrome/renderer/extensions/extension_hooks_delegate.h",
248246
"//chrome/renderer/extensions/tabs_hooks_delegate.cc",
249247
"//chrome/renderer/extensions/tabs_hooks_delegate.h",
250-
"//chrome/renderer/pepper/chrome_pdf_print_client.cc",
251-
"//chrome/renderer/pepper/chrome_pdf_print_client.h",
252248
]
249+
250+
if (enable_pdf_viewer) {
251+
sources += [
252+
"//chrome/browser/pdf/pdf_extension_util.cc",
253+
"//chrome/browser/pdf/pdf_extension_util.h",
254+
"//chrome/renderer/pepper/chrome_pdf_print_client.cc",
255+
"//chrome/renderer/pepper/chrome_pdf_print_client.h",
256+
]
257+
}
253258
}
254259
}
255260

@@ -268,12 +273,14 @@ source_set("plugins") {
268273
"//chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h",
269274
]
270275
deps += [
271-
"//components/pdf/browser",
272276
"//media:media_buildflags",
273277
"//ppapi/buildflags",
274278
"//ppapi/proxy:ipc",
275279
"//services/device/public/mojom",
276280
]
281+
if (enable_pdf_viewer) {
282+
deps += [ "//components/pdf/browser" ]
283+
}
277284
if (enable_pepper_flash) {
278285
sources += [
279286
"//chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc",
@@ -319,9 +326,11 @@ source_set("plugins") {
319326
"//chrome/renderer/pepper/pepper_flash_font_file_host.cc",
320327
"//chrome/renderer/pepper/pepper_flash_font_file_host.h",
321328
]
329+
if (enable_pdf_viewer) {
330+
deps += [ "//components/pdf/renderer" ]
331+
}
322332
}
323333
deps += [
324-
"//components/pdf/renderer",
325334
"//components/strings",
326335
"//media:media_buildflags",
327336
"//ppapi/host",

filenames.gni

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,8 +488,6 @@ filenames = {
488488
"shell/common/gin_converters/callback_converter.h",
489489
"shell/common/gin_converters/content_converter.cc",
490490
"shell/common/gin_converters/content_converter.h",
491-
"shell/common/gin_converters/extension_converter.cc",
492-
"shell/common/gin_converters/extension_converter.h",
493491
"shell/common/gin_converters/file_dialog_converter.cc",
494492
"shell/common/gin_converters/file_dialog_converter.h",
495493
"shell/common/gin_converters/file_path_converter.h",
@@ -663,6 +661,8 @@ filenames = {
663661
"shell/common/extensions/electron_extensions_api_provider.h",
664662
"shell/common/extensions/electron_extensions_client.cc",
665663
"shell/common/extensions/electron_extensions_client.h",
664+
"shell/common/gin_converters/extension_converter.cc",
665+
"shell/common/gin_converters/extension_converter.h",
666666
"shell/renderer/extensions/electron_extensions_dispatcher_delegate.cc",
667667
"shell/renderer/extensions/electron_extensions_dispatcher_delegate.h",
668668
"shell/renderer/extensions/electron_extensions_renderer_client.cc",

shell/app/electron_main_delegate_mac.mm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include "base/strings/sys_string_conversions.h"
1616
#include "content/common/mac_helpers.h"
1717
#include "content/public/common/content_paths.h"
18+
#include "ppapi/buildflags/buildflags.h"
1819
#include "shell/browser/mac/electron_application.h"
1920
#include "shell/common/application_info.h"
2021
#include "shell/common/mac/main_application_bundle.h"
@@ -40,9 +41,11 @@
4041
} else if (base::EndsWith(path.value(), content::kMacHelperSuffix_gpu,
4142
base::CompareCase::SENSITIVE)) {
4243
helper_name += content::kMacHelperSuffix_gpu;
44+
#if BUILDFLAG(ENABLE_PLUGINS)
4345
} else if (base::EndsWith(path.value(), content::kMacHelperSuffix_plugin,
4446
base::CompareCase::SENSITIVE)) {
4547
helper_name += content::kMacHelperSuffix_plugin;
48+
#endif
4649
}
4750

4851
return frameworks_path.Append(name + " " + helper_name + ".app")

shell/browser/api/electron_api_web_contents.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
#if BUILDFLAG(ENABLE_PRINTING)
3535
#include "chrome/browser/printing/print_view_manager_basic.h"
3636
#include "components/printing/common/print_messages.h"
37-
#include "printing/backend/print_backend.h"
37+
#include "printing/backend/print_backend.h" // nogncheck
3838
#include "shell/browser/printing/print_preview_message_handler.h"
3939

4040
#if defined(OS_WIN)

shell/browser/electron_browser_client.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191
#include "shell/common/application_info.h"
9292
#include "shell/common/options_switches.h"
9393
#include "shell/common/platform_util.h"
94+
#include "third_party/blink/public/common/loader/url_loader_throttle.h"
9495
#include "ui/base/resource/resource_bundle.h"
9596
#include "ui/native_theme/native_theme.h"
9697
#include "v8/include/v8.h"
@@ -115,7 +116,7 @@
115116
#endif
116117

117118
#if BUILDFLAG(ENABLE_PEPPER_FLASH)
118-
#include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h"
119+
#include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h" // nogncheck
119120
#endif // BUILDFLAG(ENABLE_PEPPER_FLASH)
120121

121122
#if BUILDFLAG(OVERRIDE_LOCATION_PROVIDER)
@@ -140,6 +141,7 @@
140141
#include "extensions/browser/extension_message_filter.h"
141142
#include "extensions/browser/extension_navigation_throttle.h"
142143
#include "extensions/browser/extension_registry.h"
144+
#include "extensions/browser/extensions_browser_client.h"
143145
#include "extensions/browser/guest_view/extensions_guest_view_message_filter.h"
144146
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
145147
#include "extensions/browser/info_map.h"
@@ -453,6 +455,7 @@ void ElectronBrowserClient::RenderProcessWillLaunch(
453455
return;
454456

455457
auto* browser_context = host->GetBrowserContext();
458+
ALLOW_UNUSED_LOCAL(browser_context);
456459

457460
#if BUILDFLAG(ENABLE_PRINTING)
458461
host->AddFilter(

shell/browser/extensions/electron_extension_system.cc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
#include "base/json/json_string_value_serializer.h"
1515
#include "base/path_service.h"
1616
#include "base/task/post_task.h"
17-
#include "chrome/browser/pdf/pdf_extension_util.h"
1817
#include "chrome/common/chrome_paths.h"
1918
#include "content/public/browser/browser_context.h"
2019
#include "content/public/browser/browser_task_traits.h"
2120
#include "content/public/browser/browser_thread.h"
2221
#include "content/public/browser/notification_details.h"
2322
#include "content/public/browser/notification_service.h"
2423
#include "content/public/browser/notification_source.h"
24+
#include "electron/buildflags/buildflags.h"
2525
#include "extensions/browser/api/app_runtime/app_runtime_api.h"
2626
#include "extensions/browser/extension_registry.h"
2727
#include "extensions/browser/info_map.h"
@@ -36,6 +36,10 @@
3636
#include "extensions/common/file_util.h"
3737
#include "shell/browser/extensions/electron_extension_loader.h"
3838

39+
#if BUILDFLAG(ENABLE_PDF_VIEWER)
40+
#include "chrome/browser/pdf/pdf_extension_util.h"
41+
#endif
42+
3943
using content::BrowserContext;
4044
using content::BrowserThread;
4145

@@ -106,6 +110,7 @@ std::unique_ptr<base::DictionaryValue> ParseManifest(
106110
}
107111

108112
void ElectronExtensionSystem::LoadComponentExtensions() {
113+
#if BUILDFLAG(ENABLE_PDF_VIEWER)
109114
std::string utf8_error;
110115
std::string pdf_manifest_string = pdf_extension_util::GetManifest();
111116
std::unique_ptr<base::DictionaryValue> pdf_manifest =
@@ -117,6 +122,7 @@ void ElectronExtensionSystem::LoadComponentExtensions() {
117122
root_directory, extensions::Manifest::COMPONENT, *pdf_manifest,
118123
extensions::Extension::REQUIRE_KEY, &utf8_error);
119124
extension_loader_->registrar()->AddExtension(pdf_extension);
125+
#endif
120126
}
121127

122128
ExtensionService* ElectronExtensionSystem::extension_service() {

shell/browser/net/proxying_websocket.cc

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -375,24 +375,19 @@ void ProxyingWebSocket::OnHeadersReceivedComplete(int error_code) {
375375
ContinueToCompleted();
376376
}
377377

378-
void ProxyingWebSocket::OnAuthRequiredComplete(
379-
extensions::ExtensionWebRequestEventRouter::AuthRequiredResponse rv) {
378+
void ProxyingWebSocket::OnAuthRequiredComplete(AuthRequiredResponse rv) {
380379
CHECK(auth_required_callback_);
381380
ResumeIncomingMethodCallProcessing();
382381
switch (rv) {
383-
case extensions::ExtensionWebRequestEventRouter::AuthRequiredResponse::
384-
AUTH_REQUIRED_RESPONSE_NO_ACTION:
385-
case extensions::ExtensionWebRequestEventRouter::AuthRequiredResponse::
386-
AUTH_REQUIRED_RESPONSE_CANCEL_AUTH:
382+
case AuthRequiredResponse::AUTH_REQUIRED_RESPONSE_NO_ACTION:
383+
case AuthRequiredResponse::AUTH_REQUIRED_RESPONSE_CANCEL_AUTH:
387384
std::move(auth_required_callback_).Run(base::nullopt);
388385
break;
389386

390-
case extensions::ExtensionWebRequestEventRouter::AuthRequiredResponse::
391-
AUTH_REQUIRED_RESPONSE_SET_AUTH:
387+
case AuthRequiredResponse::AUTH_REQUIRED_RESPONSE_SET_AUTH:
392388
std::move(auth_required_callback_).Run(auth_credentials_);
393389
break;
394-
case extensions::ExtensionWebRequestEventRouter::AuthRequiredResponse::
395-
AUTH_REQUIRED_RESPONSE_IO_PENDING:
390+
case AuthRequiredResponse::AUTH_REQUIRED_RESPONSE_IO_PENDING:
396391
NOTREACHED();
397392
break;
398393
}
@@ -410,8 +405,7 @@ void ProxyingWebSocket::OnHeadersReceivedCompleteForAuth(
410405

411406
auto continuation = base::BindRepeating(
412407
&ProxyingWebSocket::OnAuthRequiredComplete, weak_factory_.GetWeakPtr());
413-
auto auth_rv = extensions::ExtensionWebRequestEventRouter::
414-
AuthRequiredResponse::AUTH_REQUIRED_RESPONSE_IO_PENDING;
408+
auto auth_rv = AuthRequiredResponse::AUTH_REQUIRED_RESPONSE_IO_PENDING;
415409
PauseIncomingMethodCallProcessing();
416410

417411
OnAuthRequiredComplete(auth_rv);

0 commit comments

Comments
 (0)