refactor: move set_owned_by_client calls to base View (#22739)
* refactor: move set_owned_by_client() to WebContentsView * refactor: do set_owned_by_client() in View
This commit is contained in:
parent
aa15a2cc03
commit
42f138282f
6 changed files with 9 additions and 18 deletions
|
@ -12,12 +12,12 @@ namespace electron {
|
||||||
|
|
||||||
namespace api {
|
namespace api {
|
||||||
|
|
||||||
View::View(views::View* view) : view_(view) {}
|
View::View(views::View* view) : view_(view) {
|
||||||
|
|
||||||
View::View() : view_(new views::View()) {
|
|
||||||
view_->set_owned_by_client();
|
view_->set_owned_by_client();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
View::View() : View(new views::View()) {}
|
||||||
|
|
||||||
View::~View() {
|
View::~View() {
|
||||||
if (delete_view_)
|
if (delete_view_)
|
||||||
delete view_;
|
delete view_;
|
||||||
|
|
|
@ -53,12 +53,10 @@ WebContentsView::WebContentsView(v8::Isolate* isolate,
|
||||||
#endif
|
#endif
|
||||||
web_contents_(isolate, web_contents->GetWrapper()),
|
web_contents_(isolate, web_contents->GetWrapper()),
|
||||||
api_web_contents_(web_contents.get()) {
|
api_web_contents_(web_contents.get()) {
|
||||||
#if defined(OS_MACOSX)
|
#if !defined(OS_MACOSX)
|
||||||
// On macOS a View is created to wrap the NSView, and its lifetime is managed
|
// On macOS the View is a newly-created |DelayedNativeViewHost| and it is our
|
||||||
// by us.
|
// responsibility to delete it. On other platforms the View is created and
|
||||||
view()->set_owned_by_client();
|
// managed by InspectableWebContents.
|
||||||
#else
|
|
||||||
// On other platforms the View is managed by InspectableWebContents.
|
|
||||||
set_delete_view(false);
|
set_delete_view(false);
|
||||||
#endif
|
#endif
|
||||||
WebContentsViewRelay::CreateForWebContents(web_contents->web_contents());
|
WebContentsViewRelay::CreateForWebContents(web_contents->web_contents());
|
||||||
|
|
|
@ -13,7 +13,6 @@ namespace electron {
|
||||||
namespace api {
|
namespace api {
|
||||||
|
|
||||||
Button::Button(views::Button* impl) : View(impl) {
|
Button::Button(views::Button* impl) : View(impl) {
|
||||||
view()->set_owned_by_client();
|
|
||||||
// Make the button focusable as per the platform.
|
// Make the button focusable as per the platform.
|
||||||
button()->SetFocusForPlatform();
|
button()->SetFocusForPlatform();
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,9 +12,7 @@ namespace electron {
|
||||||
|
|
||||||
namespace api {
|
namespace api {
|
||||||
|
|
||||||
ResizeArea::ResizeArea() : View(new views::ResizeArea(this)) {
|
ResizeArea::ResizeArea() : View(new views::ResizeArea(this)) {}
|
||||||
view()->set_owned_by_client();
|
|
||||||
}
|
|
||||||
|
|
||||||
ResizeArea::~ResizeArea() {}
|
ResizeArea::~ResizeArea() {}
|
||||||
|
|
||||||
|
|
|
@ -13,9 +13,7 @@ namespace electron {
|
||||||
|
|
||||||
namespace api {
|
namespace api {
|
||||||
|
|
||||||
TextField::TextField() : View(new views::Textfield()) {
|
TextField::TextField() : View(new views::Textfield()) {}
|
||||||
view()->set_owned_by_client();
|
|
||||||
}
|
|
||||||
|
|
||||||
TextField::~TextField() {}
|
TextField::~TextField() {}
|
||||||
|
|
||||||
|
|
|
@ -87,8 +87,6 @@ InspectableWebContentsViewViews::InspectableWebContentsViewViews(
|
||||||
devtools_visible_(false),
|
devtools_visible_(false),
|
||||||
devtools_window_delegate_(nullptr),
|
devtools_window_delegate_(nullptr),
|
||||||
title_(base::ASCIIToUTF16("Developer Tools")) {
|
title_(base::ASCIIToUTF16("Developer Tools")) {
|
||||||
set_owned_by_client();
|
|
||||||
|
|
||||||
if (!inspectable_web_contents_->IsGuest() &&
|
if (!inspectable_web_contents_->IsGuest() &&
|
||||||
inspectable_web_contents_->GetWebContents()->GetNativeView()) {
|
inspectable_web_contents_->GetWebContents()->GetNativeView()) {
|
||||||
views::WebView* contents_web_view = new views::WebView(nullptr);
|
views::WebView* contents_web_view = new views::WebView(nullptr);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue