
* chore: bump chromium in DEPS to 115.0.5772.0 * chore: update disable_color_correct_rendering.patch no manual changes; patch succeeded with fuzz 2. * chore: update chromium/build_libc_as_static_library.patch no manual changes; patch succeeded with fuzz 2 (offset 1 line). * chore: update chromium/feat_configure_launch_options_for_service_process.patch Xref:4518747
patch manually reapplied due to upstream code shear * chore: update chromium/chore_patch_out_profile_methods_in_profile_selections_cc.patch4502965
patch manually reapplied due to upstream code shear * chore: update bundle_locations #include location Xref:4525355
* chore: Remove `extension_name` from DesktopStreamsRegistry Xref:4514081
* chore: bump chromium in DEPS to 115.0.5778.0 * chore: add chromium/chore_patch_out_profile_methods_in_chrome_browser_pdf.patch Xref:4482679
Another instance of patching out upstream references to Profile code * refactor: add WebViewGuestDelegate::GetGuestDelegateWeakPtr() Xref:4515455
This approach copied from GuestViewBase::GetGuestDelegateWeakPtr() approach in that same commit. * fixup! chore: update bundle_locations #include location Xref:4525355
Sync namespace use to upstream base::mac -> base::apple changes * fixup! chore: update bundle_locations #include location Xref:4525355
Sync namespace use to upstream base::mac -> base::apple changes * chore: update chromium/mas_disable_remote_accessibility.patch Xref:4530546
patch manually reapplied due to upstream code shear * chore: update chromium/printing.patch no manual changes; patch succeeded with fuzz * chore: update chromium/build_add_electron_tracing_category.patch Xref:4517872
no manual changes; patch succeeded with fuzz * chore: update chromium/feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch Xref:4529098
patch manually reapplied due to upstream code shear * chromium/build_only_use_the_mas_build_config_in_the_required_components.patch4529098
patch manually reapplied due to upstream code shear * chore: update chromium/mas-cgdisplayusesforcetogray.patch Xref:4529475
no manual changes; patch succeeded with fuzz * chore: update chromium/build_only_use_the_mas_build_config_in_the_required_components.patch Xref:4429011
no manual changes; patch succeeded with fuzz * chore: remove chromium/cherry-pick-48a136e77e6d.patch already present upstream * chore: remove chromium/cherry-pick-e6e23ba00379.patch already present upstream * [Code Health] Remove value based RegisterPref for Dict and List Xref:4533537
* Remove `cxx17_backports.h` and adjust unittest file Xref:4534916
Notes: mostly just removing #include and s/base::clamp/std::clamp/ * refactor: add FakeBrowserProcess helper class Xref:4424072
Used in ElectronBrowserMainParts' fake_browser_process_ field. Previously this was an BrowserProcessImpl instance, but upstream 4424072 makes that an abstract base class. `FakeBrowserProcess` is a thin subclass with the minimum code needed to make it concrete. `ElectronBrowserMainParts::fake_browser_process_` is now a `shared_ptr` instead of a `unique_ptr` so we can avoid exposing `FakeBrowserProcess` in the header. * fixup! refactor: add FakeBrowserProcess helper class remove unnecessary unique_ptr * fix: Browser::SetDockIcon() when !Browser.is_ready() Xref:4410741
An alternative fix for https://github.com/electron/electron/pull/36279 . The previous fix was to call `SetSupportedScales()` ourselves (1b1609a
), but upstream has removed this API. CC @codebytere * fixup! chore: remove chromium/cherry-pick-e6e23ba00379.patch * chore: update chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch Xref:4517404
patch manually reapplied due to upstream code shear * chore: update patches * chore: add dep: resource_coordinator:mojo_bindings Xref:4521464
* fixup! chore: add dep: resource_coordinator:mojo_bindings chore: make lint happy * chore: patch out Profile methods in titlebar_config Xref:4508143
(primary) Xref:4534461
(followup) * chore: bump chromium in DEPS to 115.0.5780.0 * chore: update chromium/disable_hidden.patch no manual changes; patch succeeded with fuzz * chore: update chromium/sysroot.patch Xref:4535715
no manual changes; patch succeeded with fuzz * chore: update chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch Xref:4403623
patch manually reapplied due to upstream code shear * chore: update chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch Xref:4547380
patch manually reapplied due to upstream code shear * chore: update patches * fixup! fix: Browser::SetDockIcon() when !Browser.is_ready() chore: iwyu image.h * chore: bump chromium in DEPS to 115.0.5782.0 * chore: bump chromium in DEPS to 115.0.5784.0 * 4514181: CR2023: Update filled cr-input styles.4514181
* 4521894: Remove SiteInstanceDeleting usage outside of tests.4521894
* 4525355: Move backup_util and bundle_locations to base/apple4525355
* 4484743: webauthn: add underlying support for calling iCloud Keychain on macOS.4484743
* chore: fixup patch indices * 4546398: Convert /chrome/browser to use ARC4546398
* chore: bump chromium in DEPS to 115.0.5786.0 * chore: update patches * 4540682: Initialize PDF SDK with policy in chrome_pdf::RenderPDFPageToDC()4540682
* Don't import ObjC++ fn headers into electron_api_app * 4535715: Refactor sysroot-creator.sh4535715
* fixup! refactor: add FakeBrowserProcess helper class * 4531903: [string][test] Create/Copy strings to old space before externalization4531903
* 59645: Add APIs to support RSA keys with large e. https://boringssl-review.googlesource.com/c/boringssl/+/59645 --------- Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
67 lines
2.2 KiB
C++
67 lines
2.2 KiB
C++
// Copyright (c) 2015 GitHub, Inc.
|
|
// Use of this source code is governed by the MIT license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef ELECTRON_SHELL_BROWSER_WEB_VIEW_GUEST_DELEGATE_H_
|
|
#define ELECTRON_SHELL_BROWSER_WEB_VIEW_GUEST_DELEGATE_H_
|
|
|
|
#include <memory>
|
|
|
|
#include "base/memory/raw_ptr.h"
|
|
#include "content/public/browser/browser_plugin_guest_delegate.h"
|
|
#include "shell/browser/web_contents_zoom_controller.h"
|
|
|
|
namespace electron {
|
|
|
|
namespace api {
|
|
class WebContents;
|
|
}
|
|
|
|
class WebViewGuestDelegate : public content::BrowserPluginGuestDelegate,
|
|
public WebContentsZoomController::Observer {
|
|
public:
|
|
WebViewGuestDelegate(content::WebContents* embedder,
|
|
api::WebContents* api_web_contents);
|
|
~WebViewGuestDelegate() override;
|
|
|
|
// disable copy
|
|
WebViewGuestDelegate(const WebViewGuestDelegate&) = delete;
|
|
WebViewGuestDelegate& operator=(const WebViewGuestDelegate&) = delete;
|
|
|
|
// Attach to the iframe.
|
|
void AttachToIframe(content::WebContents* embedder_web_contents,
|
|
int embedder_frame_id);
|
|
void WillDestroy();
|
|
|
|
protected:
|
|
// content::BrowserPluginGuestDelegate:
|
|
content::WebContents* GetOwnerWebContents() final;
|
|
std::unique_ptr<content::WebContents> CreateNewGuestWindow(
|
|
const content::WebContents::CreateParams& create_params) final;
|
|
base::WeakPtr<content::BrowserPluginGuestDelegate> GetGuestDelegateWeakPtr()
|
|
final;
|
|
|
|
// WebContentsZoomController::Observer:
|
|
void OnZoomLevelChanged(content::WebContents* web_contents,
|
|
double level,
|
|
bool is_temporary) override;
|
|
void OnZoomControllerWebContentsDestroyed() override;
|
|
|
|
private:
|
|
void ResetZoomController();
|
|
|
|
// The WebContents that attaches this guest view.
|
|
raw_ptr<content::WebContents> embedder_web_contents_ = nullptr;
|
|
|
|
// The zoom controller of the embedder that is used
|
|
// to subscribe for zoom changes.
|
|
raw_ptr<WebContentsZoomController> embedder_zoom_controller_ = nullptr;
|
|
|
|
raw_ptr<api::WebContents> api_web_contents_ = nullptr;
|
|
|
|
base::WeakPtrFactory<WebViewGuestDelegate> weak_ptr_factory_{this};
|
|
};
|
|
|
|
} // namespace electron
|
|
|
|
#endif // ELECTRON_SHELL_BROWSER_WEB_VIEW_GUEST_DELEGATE_H_
|