d02c9f8bc6
* chore: bump chromium in DEPS to 111.0.5522.0 * chore: bump chromium in DEPS to 111.0.5524.0 * chore: bump chromium in DEPS to 111.0.5526.0 * chore: bump chromium in DEPS to 111.0.5528.0 * chore: update patches/chromium/mas_avoid_usage_of_private_macos_apis.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4132807 Fix simple code shear * chore: update patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4130675 Fix simple code shear * chore: update patches/chromium/hack_plugin_response_interceptor_to_point_to_electron.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4144281 Fix simple code shear; applied cleanly w/patch-fuzz * chore: update patches/chromium/disable_unload_metrics.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4126173 Fix simple code shear; applied cleanly w/patch-fuzz * chore: update patches/chromium/feat_add_data_parameter_to_processsingleton.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4144281 Fix simple code shear; applied cleanly w/patch-fuzz * chore: update patches/chromium/preconnect_manager.patch https://chromium-review.googlesource.com/c/chromium/src/+/4144281 Fix simple code shear; applied cleanly w/patch-fuzz * chore: update patches/v8/force_cppheapcreateparams_to_be_noncopyable.patch https://chromium-review.googlesource.com/c/v8/v8/+/3533019 Fix simple code shear; applied cleanly w/patch-fuzz * chore: update patches * chore: update patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4128765 Upstream added a new call to HeaderContext(), whose signature we have patched * chore: bump chromium in DEPS to 111.0.5530.0 * chore: update patches * Move ChildProcessHost* from content/common to content/browser Xref: Move ChildProcessHost* from content/common to content/browser * Remove RenderViewHostChanged Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4134103 [upstream removal of RenderViewHostChanged] Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4092763 Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4093234 Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4133892 Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4134103 [examples of upstream code adjusting to the change] Upstream handles this change in roughly two approaches: 1. Move the code over to RenderFrameHostChanged(old_host, new_host) but test for new_host->IsInPrimaryMainFrame() before acting 2. Migrate to the PrimaryPageChanged(page) API and use page.GetMainDocument() to get the RenderFrameHost. I've chosen 1. because electron_api_web_contents needed that pointer to old_host to call RemoveInputEventListener(), but I may be missing some context & would appreciate review on this commit. * Make electron/shell/browser/relauncher_win.cc use <winternl.h> Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4129135 Many internal Windows types are now available in winternl.h so upstrem no longer defines the types themselves. * Move ChildProcessHost* from content/common to content/browser Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4134795 * fixup! Make electron/shell/browser/relauncher_win.cc use <winternl.h> winternl.h does not define the field we need, so clone the struct Chromium was using into unnamed namespace * fixup! Move ChildProcessHost* from content/common to content/browser chore: update #includes too * chore: bump chromium in DEPS to 111.0.5532.0 * chore: sync patches/chromium/pepper_plugin_support.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4133323 manually reync patch; no code changes * chore: sync patches/chromium/mas_no_private_api.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4143865 the content/common/pseudonymization_salt.cc patch is no longer needed * chore: sync patches/chromium/mas_disable_remote_accessibility.patch patch-fuzz update; no manual changes * chore: sync patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4111725 manually reync patch; no code changes * chore: sync patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4133323 manually reync patch; no code changes * chore: sync patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch Xref: https://chromium-review.googlesource.com/c/v8/v8/+/4127230 patch-fuzz update; no manual changes * chore: rebuild patches * fixup! Remove RenderViewHostChanged Use PrimaryPageChanged() * chore: remove unused method TabsUpdateFunction::OnExecuteCodeFinished() Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4133991 This private, already-unused function showed up as a FTBFS because it took a base::ListValue parameter and ListValue was removed upstream. * task posting v3: remove includes of runner handles and IWYU task runners Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4133323 * chore: lint * chore: more lint * fixup! task posting v3: remove includes of runner handles and IWYU task runners macOS, too * fixup! task posting v3: remove includes of runner handles and IWYU task runners * chore: bump chromium in DEPS to 111.0.5534.0 * chore: sync patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4141862 patch-fuzz update; no manual changes * chore: sync patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4153110 Sync to minor upstream changes. Add const correctness. * chore: sync electron/patches/chromium/feat_configure_launch_options_for_service_process.patch https://chromium-review.googlesource.com/c/chromium/src/+/4141862 patch-fuzz update; no manual changes * chore: patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch sync https://chromium-review.googlesource.com/c/v8/v8/+/4147787 patch-fuzz update; no manual changes * chore: update patches * chore: bump chromium in DEPS to 111.0.5536.0 * chore: sync patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4141863 Sync with upstream code changes. Minor code golf for readability. Note: upstream is laying groundwork for being able to work off of env vars instead of switches. Doesn't affect us yet but worth being aware of. > + // Environment variables could be supported in the future, but are not > + // currently supported when launching with the zygote. * chore: update patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4126836 patch-fuzz update; no manual changes * chore: sync electron/patches/chromium/feat_configure_launch_options_for_service_process.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4141863 manual sync * chore: sync electron/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch https://chromium-review.googlesource.com/c/v8/v8/+/4147788 fuzz-patch * chore: rebuild patches * chore: bump chromium in DEPS to 111.0.5538.0 * chore: bump chromium in DEPS to 111.0.5540.0 * chore: update patches * Remove sdk_forward_declarations https://chromium-review.googlesource.com/c/chromium/src/+/4166680 * task posting v3: Remove task runner handles from codebase entirely Refs https://chromium-review.googlesource.com/c/chromium/src/+/4150928 * Cleanup child_process_launcher_helper* Refs https://chromium-review.googlesource.com/c/chromium/src/+/4141863 * fix: utilityprocess spec on macOS * fix: build on windows Refs https://chromium-review.googlesource.com/c/chromium/src/+/4141863 * chore: fix lint * chore: bump chromium 111.0.5544.3 * chore: gen filenames.libcxx.gni * Add check for Executable+Writable handles in renderer processes. Refs https://chromium-review.googlesource.com/c/chromium/src/+/3774416 * fixup! Add check for Executable+Writable handles in renderer processes. * 4143761: [110] Disable SwiftShader for WebGL on M1 Macs. https://chromium-review.googlesource.com/c/chromium/src/+/4143761 (cherry picked from commit 2f74db3c2139424c416f92d9169aeaa8a2f9c1ec) * chore: bump chromium to 111.0.5555.0 * 56085: Remove hmac.h include from ssl.h. https://boringssl-review.googlesource.com/c/boringssl/+/56085 * 4167020: Remove forwarding headers https://chromium-review.googlesource.com/c/chromium/src/+/4167020 * chore: bump chromium to 111.0.5559.0 * 4181044: Restrict WebCursor usage to RenderWidgetHostViewAura https://chromium-review.googlesource.com/c/chromium/src/+/4181044 * 4189437: views: rename ink_drop_host_view to ink_drop_host https://chromium-review.googlesource.com/c/chromium/src/+/4189437 * chore: bump chromium to 111.0.5560.0 * 4167016: win7dep: remove non aeroglass code https://chromium-review.googlesource.com/c/chromium/src/+/4167016 * fixup after rebase: Remove forwarding header s https://chromium-review.googlesource.com/c/chromium/src/+/4167020 * 4125755: Reland "Reject getDisplayMedia calls without user activation" https://chromium-review.googlesource.com/c/chromium/src/+/4125755 * test: add workaround * chore: update patches * fix: alter coreModuleRegExp to prevent arm crash * Revert "fix: alter coreModuleRegExp to prevent arm crash" This reverts commit 7e50630c98137831a711c5abdbc8809e60cf1d73. * 4218354: Disable the use of preserve_most on arm64 Windows https://chromium-review.googlesource.com/c/v8/v8/+/4218354 * chore: review changes --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: deepak1556 <hop2deep@gmail.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
206 lines
7.6 KiB
Diff
206 lines
7.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 7004be59929ebe573e304c7e4dfb529f54889b80..99f0edae518ad00c04ce2120eca30d6cd53e7a20 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/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"
|
|
@@ -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*
|
|
@@ -64,11 +68,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::
|
|
@@ -93,6 +102,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();
|
|
@@ -117,6 +127,7 @@ PepperIsolatedFileSystemMessageFilter::CreateCrxFileSystem(Profile* profile) {
|
|
return storage::IsolatedContext::ScopedFSHandle();
|
|
#endif
|
|
}
|
|
+#endif
|
|
|
|
int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
|
|
ppapi::host::HostMessageContext* context,
|
|
@@ -125,7 +136,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 =
|
|
@@ -133,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)
|
|
@@ -173,3 +185,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);
|
|
|