From: Cheng Zhao Date: Mon, 23 Sep 2013 11:59:00 +0000 (+0800) Subject: Make dialog.showSaveDialog accept no parent window. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=30ca085fd889267e44e8f46de98c7c8527acb6a0;p=platform%2Fframework%2Fweb%2Fcrosswalk-tizen.git Make dialog.showSaveDialog accept no parent window. --- diff --git a/browser/api/atom_api_dialog.cc b/browser/api/atom_api_dialog.cc index 6f4bfdc..5200a78 100644 --- a/browser/api/atom_api_dialog.cc +++ b/browser/api/atom_api_dialog.cc @@ -189,20 +189,24 @@ v8::Handle ShowOpenDialog(const v8::Arguments &args) { v8::Handle ShowSaveDialog(const v8::Arguments &args) { v8::HandleScope scope; - if (!args[0]->IsObject() || // window - !args[1]->IsString() || // title - !args[2]->IsString()) // default_path + if (!args[0]->IsString() || // title + !args[1]->IsString()) // default_path return node::ThrowTypeError("Bad argument"); - Window* window = Window::Unwrap(args[0]->ToObject()); - if (!window || !window->window()) - return node::ThrowError("Invalid window"); + NativeWindow* native_window = NULL; + if (args[2]->IsObject()) { + Window* window = Window::Unwrap(args[2]->ToObject()); + if (!window || !window->window()) + return node::ThrowError("Invalid window"); - std::string title(*v8::String::Utf8Value(args[1])); - base::FilePath default_path(V8ValueToFilePath(args[2])); + native_window = window->window(); + } + + std::string title(*v8::String::Utf8Value(args[0])); + base::FilePath default_path(V8ValueToFilePath(args[1])); base::FilePath path; - if (!file_dialog::ShowSaveDialog(window->window(), + if (!file_dialog::ShowSaveDialog(native_window, title, default_path, &path)) diff --git a/browser/api/lib/dialog.coffee b/browser/api/lib/dialog.coffee index 069858a..7cf538b 100644 --- a/browser/api/lib/dialog.coffee +++ b/browser/api/lib/dialog.coffee @@ -31,16 +31,21 @@ module.exports = window, callback - showSaveDialog: (window, options) -> - throw new TypeError('Invalid window') unless window?.constructor is BrowserWindow + showSaveDialog: (window, options, callback) -> + unless window?.constructor is BrowserWindow + # Shift. + callback = options + options = window + window = null options ?= title: 'Save' options.title ?= '' options.defaultPath ?= '' - binding.showSaveDialog window, - String(options.title), - String(options.defaultPath) + binding.showSaveDialog String(options.title), + String(options.defaultPath), + window, + callback showMessageBox: (window, options, callback) -> unless window?.constructor is BrowserWindow