123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- 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 2425ccd480f4b0f3ac3b9dddb5dbf90639fe515b..6f20e2edd880e34149668ece6e80e79b3da8dc66 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
- @@ -6,17 +6,21 @@
-
- #include <stddef.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"
- @@ -25,12 +29,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 {
-
- @@ -40,6 +43,7 @@ const char* kPredefinedAllowedCrxFsOrigins[] = {
- };
-
- } // namespace
- +#endif
-
- // static
- PepperIsolatedFileSystemMessageFilter*
- @@ -63,11 +67,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::
- @@ -92,6 +101,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();
- @@ -116,6 +126,7 @@ PepperIsolatedFileSystemMessageFilter::CreateCrxFileSystem(Profile* profile) {
- return storage::IsolatedContext::ScopedFSHandle();
- #endif
- }
- +#endif
-
- int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
- ppapi::host::HostMessageContext* context,
- @@ -124,7 +135,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
- case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_INVALID:
- break;
- case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_CRX:
- - return OpenCrxFileSystem(context);
- + return PP_ERROR_NOTSUPPORTED;
- }
- NOTREACHED();
- context->reply_msg =
- @@ -132,6 +143,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
- return PP_ERROR_FAILED;
- }
-
- +#if 0
- int32_t PepperIsolatedFileSystemMessageFilter::OpenCrxFileSystem(
- ppapi::host::HostMessageContext* context) {
- #if BUILDFLAG(ENABLE_EXTENSIONS)
- @@ -172,3 +184,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 40fafdbed313800a3f420d9d5a3daf8bbbdb7d95..1367725e04455ba5f299b8341a28f222f51c4cd2 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
- @@ -19,7 +19,9 @@
- #include "storage/browser/file_system/isolated_context.h"
- #include "url/gurl.h"
-
- +#if 0
- class Profile;
- +#endif
-
- namespace content {
- class BrowserPpapiHost;
- @@ -58,6 +60,7 @@ class PepperIsolatedFileSystemMessageFilter
-
- ~PepperIsolatedFileSystemMessageFilter() override;
-
- +#if 0
- Profile* GetProfile();
-
- // Returns filesystem id of isolated filesystem if valid, or empty string
- @@ -65,18 +68,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 e3ee403ec5d4d75f22f1853ec8637a0559ce3c43..76232286e02a20bcd578c5ba28af638dfc8f562c 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 5794ac83e62c7f966920a2692246e7677b297695..01d5a609ad34bb2829bd5714e70930b90c549661 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);
-
|