Browse Source

fix: when building with enable_plugins=false (#20354) (#20508)

Milan Burda 5 years ago
parent
commit
ffb96acab0

+ 10 - 2
atom/app/atom_content_client.cc

@@ -15,9 +15,8 @@
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "content/public/common/content_constants.h"
-#include "content/public/common/pepper_plugin_info.h"
 #include "electron/buildflags/buildflags.h"
-#include "ppapi/shared_impl/ppapi_permissions.h"
+#include "ppapi/buildflags/buildflags.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/base/resource/resource_bundle.h"
 #include "url/url_constants.h"
@@ -35,6 +34,11 @@
 #include "pdf/pdf.h"
 #endif  // BUILDFLAG(ENABLE_PDF_VIEWER)
 
+#if BUILDFLAG(ENABLE_PLUGINS)
+#include "content/public/common/pepper_plugin_info.h"
+#include "ppapi/shared_impl/ppapi_permissions.h"
+#endif  // BUILDFLAG(ENABLE_PLUGINS)
+
 namespace atom {
 
 namespace {
@@ -141,6 +145,7 @@ void AddPepperFlashFromCommandLine(
 }
 #endif  // BUILDFLAG(ENABLE_PEPPER_FLASH)
 
+#if BUILDFLAG(ENABLE_PLUGINS)
 void ComputeBuiltInPlugins(std::vector<content::PepperPluginInfo>* plugins) {
 #if BUILDFLAG(ENABLE_PDF_VIEWER)
   content::PepperPluginInfo pdf_info;
@@ -161,6 +166,7 @@ void ComputeBuiltInPlugins(std::vector<content::PepperPluginInfo>* plugins) {
   plugins->push_back(pdf_info);
 #endif  // BUILDFLAG(ENABLE_PDF_VIEWER)
 }
+#endif  // BUILDFLAG(ENABLE_PLUGINS)
 
 void AppendDelimitedSwitchToVector(const base::StringPiece cmd_switch,
                                    std::vector<std::string>* append_me) {
@@ -227,7 +233,9 @@ void AtomContentClient::AddPepperPlugins(
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
   AddPepperFlashFromCommandLine(command_line, plugins);
 #endif  // BUILDFLAG(ENABLE_PEPPER_FLASH)
+#if BUILDFLAG(ENABLE_PLUGINS)
   ComputeBuiltInPlugins(plugins);
+#endif  // BUILDFLAG(ENABLE_PLUGINS)
 }
 
 void AtomContentClient::AddContentDecryptionModules(

+ 3 - 0
atom/browser/api/atom_api_web_contents.cc

@@ -85,6 +85,7 @@
 #include "native_mate/dictionary.h"
 #include "native_mate/object_template_builder.h"
 #include "net/url_request/url_request_context.h"
+#include "ppapi/buildflags/buildflags.h"
 #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
 #include "third_party/blink/public/mojom/frame/find_in_page.mojom.h"
 #include "third_party/blink/public/platform/web_cursor_info.h"
@@ -833,10 +834,12 @@ void WebContents::RenderProcessGone(base::TerminationStatus status) {
 
 void WebContents::PluginCrashed(const base::FilePath& plugin_path,
                                 base::ProcessId plugin_pid) {
+#if BUILDFLAG(ENABLE_PLUGINS)
   content::WebPluginInfo info;
   auto* plugin_service = content::PluginService::GetInstance();
   plugin_service->GetPluginInfoByPath(plugin_path, &info);
   Emit("plugin-crashed", info.name, info.version);
+#endif  // BUILDFLAG(ENABLE_PLUIGNS)
 }
 
 void WebContents::MediaStartedPlaying(const MediaPlayerInfo& video_type,

+ 1 - 0
patches/common/chromium/.patches

@@ -86,3 +86,4 @@ allow_new_privileges_in_unsandboxed_child_processes.patch
 fix_add_more_checks_in_mojocdmservice.patch
 recreate_directmanipulationhelper_when_every_lrwhh_updateparent.patch
 notify_directmanipulationeventhandler_when_directmanipulationhelper.patch
+build_fix_when_building_with_enable_plugins_false.patch

+ 74 - 0
patches/common/chromium/build_fix_when_building_with_enable_plugins_false.patch

@@ -0,0 +1,74 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: deepak1556 <[email protected]>
+Date: Tue, 8 Oct 2019 15:40:50 +0000
+Subject: build: fix when building with enable_plugins=false
+
+Bug: none
+Change-Id: If878b3a7f5bb051c6e99c617418475c12754ae90
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1845624
+Reviewed-by: Robert Sesek <[email protected]>
+Commit-Queue: Robert Sesek <[email protected]>
+Cr-Commit-Position: refs/heads/master@{#703739}
+
+diff --git a/AUTHORS b/AUTHORS
+index 32fc92e6113c6324cc0b09b7a7ff309e2c89ddda..ae51b1d483564c96cb98b603280ac510f90c36c1 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -219,6 +219,7 @@ Debashish Samantaray <[email protected]>
+ Debug Wang <[email protected]>
+ Deepak Dilip Borade <[email protected]>
+ Deepak Mittal <[email protected]>
++Deepak Mohan <[email protected]>
+ Deepak Sharma <[email protected]>
+ Deepak Singla <[email protected]>
+ Deokjin Kim <[email protected]>
+diff --git a/content/browser/sandbox_parameters_mac.mm b/content/browser/sandbox_parameters_mac.mm
+index b4d539bab49d468e0d2bdade76aad3dba0facfc4..73905a6eac811f9bff04e1b0ceb47b3ea326ee62 100644
+--- a/content/browser/sandbox_parameters_mac.mm
++++ b/content/browser/sandbox_parameters_mac.mm
+@@ -21,12 +21,16 @@
+ #include "content/public/browser/plugin_service.h"
+ #include "content/public/common/content_client.h"
+ #include "content/public/common/content_switches.h"
+-#include "content/public/common/pepper_plugin_info.h"
++#include "ppapi/buildflags/buildflags.h"
+ #include "sandbox/mac/seatbelt_exec.h"
+ #include "services/service_manager/sandbox/mac/sandbox_mac.h"
+ #include "services/service_manager/sandbox/sandbox_type.h"
+ #include "services/service_manager/sandbox/switches.h"
+ 
++#if BUILDFLAG(ENABLE_PLUGINS)
++#include "content/public/common/pepper_plugin_info.h"
++#endif
++
+ namespace content {
+ 
+ namespace {
+@@ -125,6 +129,7 @@ void SetupNetworkSandboxParameters(sandbox::SeatbeltExecClient* client) {
+   }
+ }
+ 
++#if BUILDFLAG(ENABLE_PLUGINS)
+ void SetupPPAPISandboxParameters(sandbox::SeatbeltExecClient* client) {
+   SetupCommonSandboxParameters(client);
+ 
+@@ -149,6 +154,7 @@ void SetupPPAPISandboxParameters(sandbox::SeatbeltExecClient* client) {
+   // to n+1 more than the plugins added.
+   CHECK(index <= 5);
+ }
++#endif
+ 
+ void SetupCDMSandboxParameters(sandbox::SeatbeltExecClient* client) {
+   SetupCommonSandboxParameters(client);
+@@ -186,9 +192,11 @@ void SetupSandboxParameters(service_manager::SandboxType sandbox_type,
+     case service_manager::SANDBOX_TYPE_NETWORK:
+       SetupNetworkSandboxParameters(client);
+       break;
++#if BUILDFLAG(ENABLE_PLUGINS)
+     case service_manager::SANDBOX_TYPE_PPAPI:
+       SetupPPAPISandboxParameters(client);
+       break;
++#endif
+     case service_manager::SANDBOX_TYPE_PROFILING:
+     case service_manager::SANDBOX_TYPE_UTILITY:
+       SetupUtilitySandboxParameters(client, command_line);