Skip to content

Commit 08991a1

Browse files
committed
nw2: fix Window.title schema error; get title with window id
Ref nwjs#5875
1 parent d7d390e commit 08991a1

File tree

3 files changed

+14
-16
lines changed

3 files changed

+14
-16
lines changed

src/api/nw_current_window_internal.idl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ namespace nw.currentWindowInternal {
4141
static double getZoom();
4242
static void setZoom(double level);
4343
static void setShowInTaskbar(boolean show);
44-
static DOMString getTitleInternal();
45-
static void setTitleInternal(DOMString title);
44+
static DOMString getTitleInternal(optional long winId);
45+
static void setTitleInternal(DOMString title, optional long winId);
4646
static object getWinParamInternal();
4747
static object getCurrent(long id, optional object getInfo);
4848
static void getPrinters(GetPrintersCallback callback);

src/api/nw_window_api.cc

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -786,20 +786,17 @@ bool NwCurrentWindowInternalGetTitleInternalFunction::RunNWSync(base::ListValue*
786786
response->AppendString(window->title_override());
787787
return true;
788788
}
789-
Browser* browser = nullptr;
790-
std::string error;
791-
if (!windows_util::GetBrowserFromWindowID(
792-
this, extension_misc::kCurrentWindowId, WindowController::GetAllWindowFilter(),
793-
&browser, &error)) {
794-
*ret_error = error;
795-
return false;
796-
}
797-
if (!browser) {
798-
*ret_error = "no window found";
799-
return false;
789+
if (base::FeatureList::IsEnabled(::features::kNWNewWin)) {
790+
int id = 0;
791+
args_->GetInteger(0, &id);
792+
Browser* browser = getBrowser(this, id);
793+
if (browser) {
794+
response->AppendString(browser->GetWindowTitleForCurrentTab(false));
795+
return true;
796+
}
800797
}
801-
response->AppendString(browser->GetWindowTitleForCurrentTab(false));
802-
return true;
798+
*ret_error = "no window found";
799+
return false;
803800
}
804801

805802
ExtensionFunction::ResponseAction
@@ -826,6 +823,7 @@ bool NwCurrentWindowInternalSetTitleInternalFunction::RunNWSync(base::ListValue*
826823
return false;
827824
browser->set_title_override(title);
828825
browser->window()->UpdateTitleBar();
826+
return true;
829827
}
830828
AppWindow* window = getAppWindow(this);
831829
window->set_title_override(title);

src/resources/api_nw_newwin.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ Object.defineProperty(NWWindow.prototype, 'height', {
566566
});
567567
Object.defineProperty(NWWindow.prototype, 'title', {
568568
get: function() {
569-
return currentNWWindowInternal.getTitleInternal();
569+
return currentNWWindowInternal.getTitleInternal(this.cWindow.id);
570570
},
571571
set: function(val) {
572572
currentNWWindowInternal.setTitleInternal(val, this.cWindow.id);

0 commit comments

Comments
 (0)