|
@@ -1,219 +0,0 @@
|
|
|
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
-From: deepak1556 <[email protected]>
|
|
|
-Date: Thu, 20 Sep 2018 17:46:17 -0700
|
|
|
-Subject: pepper plugin support
|
|
|
-
|
|
|
-This tweaks Chrome's pepper flash and PDF plugin support to make it
|
|
|
-usable from Electron.
|
|
|
-
|
|
|
-diff --git a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc
|
|
|
-index 46513bf122445f822917a1a80d5d9079f288e1b4..7becf2e72ca677335dbd241fa0fef30768a3fc28 100644
|
|
|
---- a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc
|
|
|
-+++ b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc
|
|
|
-@@ -12,17 +12,21 @@
|
|
|
- #include <stddef.h>
|
|
|
-
|
|
|
- #include "base/task/sequenced_task_runner.h"
|
|
|
-+#if 0
|
|
|
- #include "chrome/browser/browser_process.h"
|
|
|
- #include "chrome/browser/profiles/profile.h"
|
|
|
- #include "chrome/browser/profiles/profile_manager.h"
|
|
|
- #include "chrome/common/chrome_switches.h"
|
|
|
- #include "chrome/common/pepper_permission_util.h"
|
|
|
-+#endif
|
|
|
- #include "content/public/browser/browser_ppapi_host.h"
|
|
|
- #include "content/public/browser/browser_task_traits.h"
|
|
|
- #include "content/public/browser/browser_thread.h"
|
|
|
- #include "content/public/browser/child_process_security_policy.h"
|
|
|
- #include "content/public/browser/render_view_host.h"
|
|
|
-+#if 0
|
|
|
- #include "extensions/buildflags/buildflags.h"
|
|
|
-+#endif
|
|
|
- #include "ppapi/c/pp_errors.h"
|
|
|
- #include "ppapi/host/dispatch_host_message.h"
|
|
|
- #include "ppapi/host/host_message_context.h"
|
|
|
-@@ -31,12 +35,11 @@
|
|
|
- #include "ppapi/shared_impl/file_system_util.h"
|
|
|
- #include "storage/browser/file_system/isolated_context.h"
|
|
|
-
|
|
|
--#if BUILDFLAG(ENABLE_EXTENSIONS)
|
|
|
-+#if 0
|
|
|
- #include "extensions/browser/extension_registry.h"
|
|
|
- #include "extensions/common/constants.h"
|
|
|
- #include "extensions/common/extension.h"
|
|
|
- #include "extensions/common/extension_set.h"
|
|
|
--#endif
|
|
|
-
|
|
|
- namespace {
|
|
|
-
|
|
|
-@@ -46,6 +49,7 @@ const char* kPredefinedAllowedCrxFsOrigins[] = {
|
|
|
- };
|
|
|
-
|
|
|
- } // namespace
|
|
|
-+#endif
|
|
|
-
|
|
|
- // static
|
|
|
- PepperIsolatedFileSystemMessageFilter*
|
|
|
-@@ -69,11 +73,16 @@ PepperIsolatedFileSystemMessageFilter::PepperIsolatedFileSystemMessageFilter(
|
|
|
- const base::FilePath& profile_directory,
|
|
|
- const GURL& document_url,
|
|
|
- ppapi::host::PpapiHost* ppapi_host)
|
|
|
-+#if 0
|
|
|
- : render_process_id_(render_process_id),
|
|
|
- profile_directory_(profile_directory),
|
|
|
- document_url_(document_url) {
|
|
|
- for (size_t i = 0; i < std::size(kPredefinedAllowedCrxFsOrigins); ++i)
|
|
|
- allowed_crxfs_origins_.insert(kPredefinedAllowedCrxFsOrigins[i]);
|
|
|
-+#else
|
|
|
-+ : profile_directory_(profile_directory),
|
|
|
-+ document_url_(document_url) {
|
|
|
-+#endif
|
|
|
- }
|
|
|
-
|
|
|
- PepperIsolatedFileSystemMessageFilter::
|
|
|
-@@ -98,6 +107,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnResourceMessageReceived(
|
|
|
- return PP_ERROR_FAILED;
|
|
|
- }
|
|
|
-
|
|
|
-+#if 0
|
|
|
- Profile* PepperIsolatedFileSystemMessageFilter::GetProfile() {
|
|
|
- DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
|
|
- ProfileManager* profile_manager = g_browser_process->profile_manager();
|
|
|
-@@ -122,6 +132,7 @@ PepperIsolatedFileSystemMessageFilter::CreateCrxFileSystem(Profile* profile) {
|
|
|
- return storage::IsolatedContext::ScopedFSHandle();
|
|
|
- #endif
|
|
|
- }
|
|
|
-+#endif
|
|
|
-
|
|
|
- int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
|
|
|
- ppapi::host::HostMessageContext* context,
|
|
|
-@@ -130,7 +141,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
|
|
|
- case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_INVALID:
|
|
|
- break;
|
|
|
- case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_CRX:
|
|
|
-- return OpenCrxFileSystem(context);
|
|
|
-+ return PP_ERROR_NOTSUPPORTED;
|
|
|
- }
|
|
|
- NOTREACHED_IN_MIGRATION();
|
|
|
- context->reply_msg =
|
|
|
-@@ -138,6 +149,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
|
|
|
- return PP_ERROR_FAILED;
|
|
|
- }
|
|
|
-
|
|
|
-+#if 0
|
|
|
- int32_t PepperIsolatedFileSystemMessageFilter::OpenCrxFileSystem(
|
|
|
- ppapi::host::HostMessageContext* context) {
|
|
|
- #if BUILDFLAG(ENABLE_EXTENSIONS)
|
|
|
-@@ -178,3 +190,4 @@ int32_t PepperIsolatedFileSystemMessageFilter::OpenCrxFileSystem(
|
|
|
- return PP_ERROR_NOTSUPPORTED;
|
|
|
- #endif
|
|
|
- }
|
|
|
-+#endif
|
|
|
-diff --git a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h
|
|
|
-index 716f5f9abe27a4411f7cc47c37d80d9a72099369..77a5cd69317db2c02a4ca75b91cea9405ea99de5 100644
|
|
|
---- a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h
|
|
|
-+++ b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h
|
|
|
-@@ -20,7 +20,9 @@
|
|
|
- #include "storage/browser/file_system/isolated_context.h"
|
|
|
- #include "url/gurl.h"
|
|
|
-
|
|
|
-+#if 0
|
|
|
- class Profile;
|
|
|
-+#endif
|
|
|
-
|
|
|
- namespace content {
|
|
|
- class BrowserPpapiHost;
|
|
|
-@@ -59,6 +61,7 @@ class PepperIsolatedFileSystemMessageFilter
|
|
|
-
|
|
|
- ~PepperIsolatedFileSystemMessageFilter() override;
|
|
|
-
|
|
|
-+#if 0
|
|
|
- Profile* GetProfile();
|
|
|
-
|
|
|
- // Returns filesystem id of isolated filesystem if valid, or empty string
|
|
|
-@@ -66,18 +69,23 @@ class PepperIsolatedFileSystemMessageFilter
|
|
|
- // allows access on that thread.
|
|
|
- storage::IsolatedContext::ScopedFSHandle CreateCrxFileSystem(
|
|
|
- Profile* profile);
|
|
|
-+#endif
|
|
|
-
|
|
|
- int32_t OnOpenFileSystem(ppapi::host::HostMessageContext* context,
|
|
|
- PP_IsolatedFileSystemType_Private type);
|
|
|
-+#if 0
|
|
|
- int32_t OpenCrxFileSystem(ppapi::host::HostMessageContext* context);
|
|
|
-
|
|
|
- const int render_process_id_;
|
|
|
-+#endif
|
|
|
- // Keep a copy from original thread.
|
|
|
- const base::FilePath profile_directory_;
|
|
|
- const GURL document_url_;
|
|
|
-
|
|
|
-+#if 0
|
|
|
- // Set of origins that can use CrxFs private APIs from NaCl.
|
|
|
- std::set<std::string> allowed_crxfs_origins_;
|
|
|
-+#endif
|
|
|
- };
|
|
|
-
|
|
|
- #endif // CHROME_BROWSER_RENDERER_HOST_PEPPER_PEPPER_ISOLATED_FILE_SYSTEM_MESSAGE_FILTER_H_
|
|
|
-diff --git a/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc b/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc
|
|
|
-index 8687c49c7b8b96b1d51eae1a482154c21bb7e20c..983ef9a013184344514b69e8ef2a48a75e67ed01 100644
|
|
|
---- a/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc
|
|
|
-+++ b/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc
|
|
|
-@@ -5,7 +5,9 @@
|
|
|
- #include "chrome/renderer/pepper/chrome_renderer_pepper_host_factory.h"
|
|
|
-
|
|
|
- #include "base/check_op.h"
|
|
|
-+#if 0
|
|
|
- #include "chrome/renderer/pepper/pepper_uma_host.h"
|
|
|
-+#endif
|
|
|
- #include "content/public/renderer/renderer_ppapi_host.h"
|
|
|
- #include "ppapi/host/ppapi_host.h"
|
|
|
- #include "ppapi/host/resource_host.h"
|
|
|
-@@ -33,6 +35,7 @@ ChromeRendererPepperHostFactory::CreateResourceHost(
|
|
|
- if (!host_->IsValidInstance(instance))
|
|
|
- return nullptr;
|
|
|
-
|
|
|
-+#if 0
|
|
|
- // Permissions for the following interfaces will be checked at the
|
|
|
- // time of the corresponding instance's method calls. Currently these
|
|
|
- // interfaces are available only for whitelisted apps which may not have
|
|
|
-@@ -42,6 +45,7 @@ ChromeRendererPepperHostFactory::CreateResourceHost(
|
|
|
- return std::make_unique<PepperUMAHost>(host_, instance, resource);
|
|
|
- }
|
|
|
- }
|
|
|
-+#endif
|
|
|
-
|
|
|
- return nullptr;
|
|
|
- }
|
|
|
-diff --git a/chrome/renderer/pepper/pepper_helper.h b/chrome/renderer/pepper/pepper_helper.h
|
|
|
-index 3270fecaeae81ff98995268613cbe4f834195b53..9b8156a8e188f97647288c96d664a2d733e02afd 100644
|
|
|
---- a/chrome/renderer/pepper/pepper_helper.h
|
|
|
-+++ b/chrome/renderer/pepper/pepper_helper.h
|
|
|
-@@ -5,11 +5,13 @@
|
|
|
- #ifndef CHROME_RENDERER_PEPPER_PEPPER_HELPER_H_
|
|
|
- #define CHROME_RENDERER_PEPPER_PEPPER_HELPER_H_
|
|
|
-
|
|
|
-+#include "base/component_export.h"
|
|
|
- #include "content/public/renderer/render_frame_observer.h"
|
|
|
-
|
|
|
- // This class listens for Pepper creation events from the RenderFrame and
|
|
|
- // attaches the parts required for Chrome-specific plugin support.
|
|
|
--class PepperHelper : public content::RenderFrameObserver {
|
|
|
-+class COMPONENT_EXPORT(PEPPER_FLASH) PepperHelper
|
|
|
-+ : public content::RenderFrameObserver {
|
|
|
- public:
|
|
|
- explicit PepperHelper(content::RenderFrame* render_frame);
|
|
|
-
|
|
|
-diff --git a/ppapi/buildflags/buildflags.gni b/ppapi/buildflags/buildflags.gni
|
|
|
-index 0bc0e153dff7ef5c093dce4f73b709ac36024d63..fba1a83be000ed58170ff800be1b43862f7d3359 100644
|
|
|
---- a/ppapi/buildflags/buildflags.gni
|
|
|
-+++ b/ppapi/buildflags/buildflags.gni
|
|
|
-@@ -19,7 +19,7 @@ declare_args() {
|
|
|
- # Enables Pepper API (PPAPI) plugin support.
|
|
|
- # The only remaining PPAPI plugin supported is NaCl and if is disabled
|
|
|
- # we can disable PPAPI.
|
|
|
-- enable_ppapi = enable_plugins && enable_nacl && !is_fuchsia
|
|
|
-+ enable_ppapi = enable_plugins && !is_fuchsia
|
|
|
- }
|
|
|
-
|
|
|
- assert(enable_plugins || !enable_ppapi)
|