fix: remove InspectableWebContentsViewMac (#43033)
* Revert "refactor: remove InspectableWebContentsViewMac in favor of the Views version (#41326)" This reverts commite67ab9a93d
. * build: fix gn check * chore: implement setCornerRadii in inspectable_web_contents_view_mac Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: pass in cornerRadii value in setCornerRadii Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: forward declaration * 5578714: Remove 0-arg (default) constructor for views::Widget::InitParams.5578714
* fix: contents_web_view_ -> contents_view_ * chore: remove extraneous includes --------- Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
parent
b3d52c01e8
commit
8db1563d73
18 changed files with 989 additions and 310 deletions
|
@ -26,14 +26,29 @@
|
|||
#include "ui/views/view_class_properties.h"
|
||||
#include "ui/views/widget/widget.h"
|
||||
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
#include "shell/browser/ui/cocoa/delayed_native_view_host.h"
|
||||
#endif
|
||||
|
||||
namespace electron::api {
|
||||
|
||||
WebContentsView::WebContentsView(v8::Isolate* isolate,
|
||||
gin::Handle<WebContents> web_contents)
|
||||
: View(web_contents->inspectable_web_contents()->GetView()),
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
: View(new DelayedNativeViewHost(web_contents->inspectable_web_contents()
|
||||
->GetView()
|
||||
->GetNativeView())),
|
||||
#else
|
||||
: View(web_contents->inspectable_web_contents()->GetView()->GetView()),
|
||||
#endif
|
||||
web_contents_(isolate, web_contents.ToV8()),
|
||||
api_web_contents_(web_contents.get()) {
|
||||
#if !BUILDFLAG(IS_MAC)
|
||||
// On macOS the View is a newly-created |DelayedNativeViewHost| and it is our
|
||||
// responsibility to delete it. On other platforms the View is created and
|
||||
// managed by InspectableWebContents.
|
||||
set_delete_view(false);
|
||||
#endif
|
||||
view()->SetProperty(
|
||||
views::kFlexBehaviorKey,
|
||||
views::FlexSpecification(views::MinimumFlexSizeRule::kScaleToMinimum,
|
||||
|
@ -74,15 +89,8 @@ void WebContentsView::SetBorderRadius(int radius) {
|
|||
|
||||
void WebContentsView::ApplyBorderRadius() {
|
||||
if (border_radius().has_value() && api_web_contents_ && view()->GetWidget()) {
|
||||
auto* web_view = api_web_contents_->inspectable_web_contents()
|
||||
->GetView()
|
||||
->contents_web_view();
|
||||
|
||||
// WebView won't exist for offscreen rendering.
|
||||
if (web_view) {
|
||||
web_view->holder()->SetCornerRadii(
|
||||
gfx::RoundedCornersF(border_radius().value()));
|
||||
}
|
||||
auto* view = api_web_contents_->inspectable_web_contents()->GetView();
|
||||
view->SetCornerRadii(gfx::RoundedCornersF(border_radius().value()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue