8532e1239e
* chore: bump chromium in DEPS to 92.0.4512.6
* 2887336: [CaptureHandle][#2] Propagate CaptureHandleConfig in browser process
https://chromium-review.googlesource.com/c/chromium/src/+/2887336
* refactor: base::Optional -> absl::optional
* chore: fixup patch indices
* chore: bump chromium in DEPS to 92.0.4514.0
* 2899417: Make build work when enable_pdf is set to false.
https://chromium-review.googlesource.com/c/chromium/src/+/2899417
* 2904731: use BrowserContext instead of Profile in PreconnectManager
https://chromium-review.googlesource.com/c/chromium/src/+/2904731
* 2295749: fix: check IsSecureEventInputEnabled in constructor before setting SetPasswordInputEnabled to true
https://chromium-review.googlesource.com/c/chromium/src/+/2295749
* 2893803: Add a GetWebView to RenderFrame.
https://chromium-review.googlesource.com/c/chromium/src/+/2893803
* 2892345: Implement WebContents::ForEachRenderFrameHost
https://chromium-review.googlesource.com/c/chromium/src/+/2892345
* chore: fixup patch indices
* 2892048: Real instance methods for BrowserContext: remaining 5 methods.
https://chromium-review.googlesource.com/c/chromium/src/+/2892048
* 2902821: [mojo] Don't require full header includes for referenced interfaces
https://chromium-review.googlesource.com/c/chromium/src/+/2902821
* 2496500: Remove last deprecated extension Event ctor.
https://chromium-review.googlesource.com/c/chromium/src/+/2496500
* chore: fixup malformed pepper support patch
* chore: bump chromium in DEPS to 92.0.4515.0
* 2908461: Add CreateEmptyPrintPagesParamsPtr() inside print_view_manager_base.cc.
https://chromium-review.googlesource.com/c/chromium/src/+/2908461
* 2880838: viz: add optional HDRMetadata to TransferableResource
https://chromium-review.googlesource.com/c/chromium/src/+/2880838
* chore: fixup patch indices
* chore: bump chromium in DEPS to 92.0.4515.5
* chore: update patches
* chore: bump chromium in DEPS to 92.0.4515.7
* chore: bump chromium in DEPS to 92.0.4515.9
* chore: bump chromium in DEPS to 93.0.4522.0
* chore: bump chromium in DEPS to 93.0.4523.0
* chore: bump chromium in DEPS to 93.0.4524.0
* chore: update patches
* chore: enable_pak_file_integrity_checks was reverted
* chore: update patches
* refactor: base/optional was replaced with absl::optional
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace all usages of base::nullopt with absl::nullopt
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* chore: add missing base::Contains include
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace all usages of base::make_optional with
absl::make_optional
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace WorldScriptContext() with GetScriptContextFromWorldId
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2893213
* chore: clean up left over opening namespace
Refs: 95bfe6d08f
* chore: add missing base::Contains include
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace GetCurrentDisplayIterator with the hard checker
GetCurrentDisplay
This code looks suspicious but if the iterator was invalid before it
will also be invalid now.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2893191
* refactor: headers are now passed directly in extensions client
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2918906
* refactor: base::DictionaryValue::empty() has been removed
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2912424
* chore: add missing includes for network URLLoaderFactory
Refs: unknown, probably a side effect of header changes
* refactor: make convenience wrapper around AppendArg
There is no converter FromV8 for base::StringPiece (apparently its not
possible). So we now take in an std::string and use the construct for
StringPiece to do implicit conversion.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2905544
* chore: add patch
* chore: bump chromium in DEPS to 93.0.4525.0
* chore: update patches
* refactor: CanResize has been de-virtualized
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2485774
* chore: update resource integrity patch
* chore: add character encoding idl patch
* chore: bump chromium in DEPS to 93.0.4526.0
* chore: update patches
* chore: bump chromium in DEPS to 93.0.4527.0
* chore: bump chromium in DEPS to 93.0.4528.0
* chore: update patches
* chore: update idl encoding patch
* chore: bump chromium in DEPS to 93.0.4529.0
* chore: update patches
* chore: bump chromium in DEPS to 93.0.4530.0
* chore: update patches
* fix: only SetCanResize after the widget has been initialized
* chore: add patch for vr on windows gn gen
* spec: fix focus related tests on linux due to delay in focus swap
* chore: remove new usages of base::Optional from main
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
234 lines
8.6 KiB
Diff
234 lines
8.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: deepak1556 <hop2deep@gmail.com>
|
|
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 66e5a32ca6021a712a82d918a6dcb44039f71bf2..ce1559ea6020825ad0fa996e3148ff2744fa00c4 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
|
|
@@ -7,17 +7,21 @@
|
|
#include <stddef.h>
|
|
|
|
#include "base/cxx17_backports.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"
|
|
@@ -26,12 +30,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 {
|
|
|
|
@@ -41,6 +44,7 @@ const char* kPredefinedAllowedCrxFsOrigins[] = {
|
|
};
|
|
|
|
} // namespace
|
|
+#endif
|
|
|
|
// static
|
|
PepperIsolatedFileSystemMessageFilter*
|
|
@@ -68,8 +72,10 @@ PepperIsolatedFileSystemMessageFilter::PepperIsolatedFileSystemMessageFilter(
|
|
profile_directory_(profile_directory),
|
|
document_url_(document_url),
|
|
ppapi_host_(ppapi_host) {
|
|
+#if 0
|
|
for (size_t i = 0; i < base::size(kPredefinedAllowedCrxFsOrigins); ++i)
|
|
allowed_crxfs_origins_.insert(kPredefinedAllowedCrxFsOrigins[i]);
|
|
+#endif
|
|
}
|
|
|
|
PepperIsolatedFileSystemMessageFilter::
|
|
@@ -94,6 +100,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();
|
|
@@ -118,6 +125,7 @@ PepperIsolatedFileSystemMessageFilter::CreateCrxFileSystem(Profile* profile) {
|
|
return storage::IsolatedContext::ScopedFSHandle();
|
|
#endif
|
|
}
|
|
+#endif
|
|
|
|
int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
|
|
ppapi::host::HostMessageContext* context,
|
|
@@ -126,7 +134,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
|
|
case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_INVALID:
|
|
break;
|
|
case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_CRX:
|
|
- return OpenCrxFileSystem(context);
|
|
+ return PP_ERROR_NOTSUPPORTED;
|
|
case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_PLUGINPRIVATE:
|
|
return OpenPluginPrivateFileSystem(context);
|
|
}
|
|
@@ -136,6 +144,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
|
|
return PP_ERROR_FAILED;
|
|
}
|
|
|
|
+#if 0
|
|
int32_t PepperIsolatedFileSystemMessageFilter::OpenCrxFileSystem(
|
|
ppapi::host::HostMessageContext* context) {
|
|
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
|
@@ -176,6 +185,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OpenCrxFileSystem(
|
|
return PP_ERROR_NOTSUPPORTED;
|
|
#endif
|
|
}
|
|
+#endif
|
|
|
|
int32_t PepperIsolatedFileSystemMessageFilter::OpenPluginPrivateFileSystem(
|
|
ppapi::host::HostMessageContext* context) {
|
|
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 56a23e8f41bb418d414f11af5797b30571d4cc2b..6f9f577f16de80dd2ab194b557bbd9ec89599280 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;
|
|
@@ -54,6 +56,7 @@ class PepperIsolatedFileSystemMessageFilter
|
|
|
|
~PepperIsolatedFileSystemMessageFilter() override;
|
|
|
|
+#if 0
|
|
Profile* GetProfile();
|
|
|
|
// Returns filesystem id of isolated filesystem if valid, or empty string
|
|
@@ -61,10 +64,13 @@ 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);
|
|
+#endif
|
|
int32_t OpenPluginPrivateFileSystem(ppapi::host::HostMessageContext* context);
|
|
|
|
const int render_process_id_;
|
|
@@ -75,8 +81,10 @@ class PepperIsolatedFileSystemMessageFilter
|
|
// Not owned by this object.
|
|
ppapi::host::PpapiHost* ppapi_host_;
|
|
|
|
+#if 0
|
|
// Set of origins that can use CrxFs private APIs from NaCl.
|
|
std::set<std::string> allowed_crxfs_origins_;
|
|
+#endif
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(PepperIsolatedFileSystemMessageFilter);
|
|
};
|
|
diff --git a/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc b/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc
|
|
index 60cfd89dfd18eced6f6d103267b80d547d2e9f26..95d36e99832f434d878a2a2fc3101a611926acb2 100644
|
|
--- a/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc
|
|
+++ b/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc
|
|
@@ -7,8 +7,13 @@
|
|
#include "base/check_op.h"
|
|
#include "chrome/renderer/pepper/pepper_flash_font_file_host.h"
|
|
#include "chrome/renderer/pepper/pepper_flash_fullscreen_host.h"
|
|
+#if 0
|
|
#include "chrome/renderer/pepper/pepper_uma_host.h"
|
|
+#endif
|
|
+#include "electron/buildflags/buildflags.h"
|
|
+#if BUILDFLAG(ENABLE_PDF_VIEWER)
|
|
#include "components/pdf/renderer/pepper_pdf_host.h"
|
|
+#endif
|
|
#include "content/public/renderer/renderer_ppapi_host.h"
|
|
#include "pdf/buildflags.h"
|
|
#include "ppapi/host/ppapi_host.h"
|
|
@@ -37,6 +42,7 @@ ChromeRendererPepperHostFactory::CreateResourceHost(
|
|
if (!host_->IsValidInstance(instance))
|
|
return nullptr;
|
|
|
|
+#if 0
|
|
if (host_->GetPpapiHost()->permissions().HasPermission(
|
|
ppapi::PERMISSION_FLASH)) {
|
|
switch (message.type()) {
|
|
@@ -46,6 +52,7 @@ ChromeRendererPepperHostFactory::CreateResourceHost(
|
|
}
|
|
}
|
|
}
|
|
+#endif
|
|
|
|
// TODO(raymes): PDF also needs access to the FlashFontFileHost currently.
|
|
// We should either rename PPB_FlashFont_File to PPB_FontFile_Private or get
|
|
@@ -68,7 +75,7 @@ ChromeRendererPepperHostFactory::CreateResourceHost(
|
|
}
|
|
}
|
|
|
|
-#if BUILDFLAG(ENABLE_PDF)
|
|
+#if BUILDFLAG(ENABLE_PDF_VIEWER)
|
|
if (host_->GetPpapiHost()->permissions().HasPermission(
|
|
ppapi::PERMISSION_PDF)) {
|
|
switch (message.type()) {
|
|
@@ -79,6 +86,7 @@ ChromeRendererPepperHostFactory::CreateResourceHost(
|
|
}
|
|
#endif
|
|
|
|
+#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
|
|
@@ -88,6 +96,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 e021c964da3d467530775164a67d5cadaf6dc741..e035f0fb9e2baa6a9148b43765b09c52bc45599b 100644
|
|
--- a/chrome/renderer/pepper/pepper_helper.h
|
|
+++ b/chrome/renderer/pepper/pepper_helper.h
|
|
@@ -6,12 +6,14 @@
|
|
#define CHROME_RENDERER_PEPPER_PEPPER_HELPER_H_
|
|
|
|
#include "base/compiler_specific.h"
|
|
+#include "base/component_export.h"
|
|
#include "base/macros.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);
|
|
~PepperHelper() override;
|