diff --git a/browser/api/atom_api_window.cc b/browser/api/atom_api_window.cc index a74ab5b44c17..794fa79eb301 100644 --- a/browser/api/atom_api_window.cc +++ b/browser/api/atom_api_window.cc @@ -257,6 +257,15 @@ v8::Handle Window::SetTitle(const v8::Arguments &args) { return v8::Undefined(); } +// static +v8::Handle Window::GetTitle(const v8::Arguments &args) { + Window *self = ObjectWrap::Unwrap(args.This()); + + std::string title = self->window_->GetTitle(); + + return v8::String::New(title.c_str(), title.size()); +} + // static v8::Handle Window::FlashFrame(const v8::Arguments &args) { Window *self = ObjectWrap::Unwrap(args.This()); @@ -331,6 +340,7 @@ void Window::Initialize(v8::Handle target) { NODE_SET_PROTOTYPE_METHOD(t, "setPosition" , SetPosition); NODE_SET_PROTOTYPE_METHOD(t, "getPosition" , GetPosition); NODE_SET_PROTOTYPE_METHOD(t, "setTitle" , SetTitle); + NODE_SET_PROTOTYPE_METHOD(t, "getTitle" , GetTitle); NODE_SET_PROTOTYPE_METHOD(t, "flashFrame" , FlashFrame); NODE_SET_PROTOTYPE_METHOD(t, "setKiosk" , SetKiosk); NODE_SET_PROTOTYPE_METHOD(t, "isKiosk" , IsKiosk); diff --git a/browser/api/atom_api_window.h b/browser/api/atom_api_window.h index 1bab825788b9..7f473754dfef 100644 --- a/browser/api/atom_api_window.h +++ b/browser/api/atom_api_window.h @@ -53,6 +53,7 @@ class Window : public EventEmitter { static v8::Handle SetPosition(const v8::Arguments &args); static v8::Handle GetPosition(const v8::Arguments &args); static v8::Handle SetTitle(const v8::Arguments &args); + static v8::Handle GetTitle(const v8::Arguments &args); static v8::Handle FlashFrame(const v8::Arguments &args); static v8::Handle SetKiosk(const v8::Arguments &args); static v8::Handle IsKiosk(const v8::Arguments &args); diff --git a/browser/native_window.h b/browser/native_window.h index ec2c3b865b40..25aec9d2b16e 100644 --- a/browser/native_window.h +++ b/browser/native_window.h @@ -63,6 +63,7 @@ class NativeWindow : public content::WebContentsDelegate { virtual void SetPosition(const gfx::Point& position) = 0; virtual gfx::Point GetPosition() = 0; virtual void SetTitle(const std::string& title) = 0; + virtual std::string GetTitle() = 0; virtual void FlashFrame(bool flash) = 0; virtual void SetKiosk(bool kiosk) = 0; virtual bool IsKiosk() = 0; diff --git a/browser/native_window_mac.h b/browser/native_window_mac.h index af1ec253e125..f9cb788729bf 100644 --- a/browser/native_window_mac.h +++ b/browser/native_window_mac.h @@ -40,6 +40,7 @@ class NativeWindowMac : public NativeWindow { virtual void SetPosition(const gfx::Point& position) OVERRIDE; virtual gfx::Point GetPosition() OVERRIDE; virtual void SetTitle(const std::string& title) OVERRIDE; + virtual std::string GetTitle() OVERRIDE; virtual void FlashFrame(bool flash) OVERRIDE; virtual void SetKiosk(bool kiosk) OVERRIDE; virtual bool IsKiosk() OVERRIDE; diff --git a/browser/native_window_mac.mm b/browser/native_window_mac.mm index 9f33b4be98a5..9adb7be4e237 100644 --- a/browser/native_window_mac.mm +++ b/browser/native_window_mac.mm @@ -265,6 +265,10 @@ void NativeWindowMac::SetTitle(const std::string& title) { [window() setTitle:base::SysUTF8ToNSString(title)]; } +std::string NativeWindowMac::GetTitle() { + return base::SysNSStringToUTF8([window() title]); +} + void NativeWindowMac::FlashFrame(bool flash) { if (flash) { attention_request_id_ = [NSApp requestUserAttention:NSInformationalRequest];