Add win.getParentWindow() API
This commit is contained in:
parent
fb7e7b315c
commit
22513efd55
2 changed files with 21 additions and 3 deletions
|
@ -650,8 +650,23 @@ void Window::SetAspectRatio(double aspect_ratio, mate::Arguments* args) {
|
||||||
window_->SetAspectRatio(aspect_ratio, extra_size);
|
window_->SetAspectRatio(aspect_ratio, extra_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::SetParentWindow(NativeWindow* parent) {
|
void Window::SetParentWindow(mate::Arguments* args) {
|
||||||
window_->SetParentWindow(parent);
|
v8::Local<v8::Value> value;
|
||||||
|
NativeWindow* parent;
|
||||||
|
if (args->GetNext(&value) &&
|
||||||
|
mate::ConvertFromV8(isolate(), value, &parent)) {
|
||||||
|
parent_window_.Reset(isolate(), value);
|
||||||
|
window_->SetParentWindow(parent);
|
||||||
|
} else {
|
||||||
|
args->ThrowError("Must pass BrowserWindow instance or null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
v8::Local<v8::Value> Window::GetParentWindow() {
|
||||||
|
if (parent_window_.IsEmpty())
|
||||||
|
return v8::Null(isolate());
|
||||||
|
else
|
||||||
|
return v8::Local<v8::Value>::New(isolate(), parent_window_);
|
||||||
}
|
}
|
||||||
|
|
||||||
v8::Local<v8::Value> Window::GetNativeWindowHandle() {
|
v8::Local<v8::Value> Window::GetNativeWindowHandle() {
|
||||||
|
@ -702,6 +717,7 @@ void Window::BuildPrototype(v8::Isolate* isolate,
|
||||||
.SetMethod("isFullScreen", &Window::IsFullscreen)
|
.SetMethod("isFullScreen", &Window::IsFullscreen)
|
||||||
.SetMethod("setAspectRatio", &Window::SetAspectRatio)
|
.SetMethod("setAspectRatio", &Window::SetAspectRatio)
|
||||||
.SetMethod("setParentWindow", &Window::SetParentWindow)
|
.SetMethod("setParentWindow", &Window::SetParentWindow)
|
||||||
|
.SetMethod("getParentWindow", &Window::GetParentWindow)
|
||||||
.SetMethod("getNativeWindowHandle", &Window::GetNativeWindowHandle)
|
.SetMethod("getNativeWindowHandle", &Window::GetNativeWindowHandle)
|
||||||
.SetMethod("getBounds", &Window::GetBounds)
|
.SetMethod("getBounds", &Window::GetBounds)
|
||||||
.SetMethod("setBounds", &Window::SetBounds)
|
.SetMethod("setBounds", &Window::SetBounds)
|
||||||
|
|
|
@ -159,7 +159,8 @@ class Window : public mate::TrackableObject<Window>,
|
||||||
void SetMenuBarVisibility(bool visible);
|
void SetMenuBarVisibility(bool visible);
|
||||||
bool IsMenuBarVisible();
|
bool IsMenuBarVisible();
|
||||||
void SetAspectRatio(double aspect_ratio, mate::Arguments* args);
|
void SetAspectRatio(double aspect_ratio, mate::Arguments* args);
|
||||||
void SetParentWindow(NativeWindow* parent);
|
void SetParentWindow(mate::Arguments* args);
|
||||||
|
v8::Local<v8::Value> GetParentWindow();
|
||||||
v8::Local<v8::Value> GetNativeWindowHandle();
|
v8::Local<v8::Value> GetNativeWindowHandle();
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
|
@ -189,6 +190,7 @@ class Window : public mate::TrackableObject<Window>,
|
||||||
|
|
||||||
v8::Global<v8::Value> web_contents_;
|
v8::Global<v8::Value> web_contents_;
|
||||||
v8::Global<v8::Value> menu_;
|
v8::Global<v8::Value> menu_;
|
||||||
|
v8::Global<v8::Value> parent_window_;
|
||||||
|
|
||||||
api::WebContents* api_web_contents_;
|
api::WebContents* api_web_contents_;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue