Merge pull request #1029 from atom/editing-commands

Add editing commands for <webview> and WebContents
This commit is contained in:
Cheng Zhao 2015-01-19 12:40:30 -08:00
commit 79a233436b
5 changed files with 166 additions and 4 deletions

View file

@ -412,6 +412,46 @@ bool WebContents::IsDevToolsOpened() {
return storage_->IsDevToolsViewShowing();
}
void WebContents::Undo() {
web_contents()->Undo();
}
void WebContents::Redo() {
web_contents()->Redo();
}
void WebContents::Cut() {
web_contents()->Cut();
}
void WebContents::Copy() {
web_contents()->Copy();
}
void WebContents::Paste() {
web_contents()->Paste();
}
void WebContents::Delete() {
web_contents()->Delete();
}
void WebContents::SelectAll() {
web_contents()->SelectAll();
}
void WebContents::Unselect() {
web_contents()->Unselect();
}
void WebContents::Replace(const base::string16& word) {
web_contents()->Replace(word);
}
void WebContents::ReplaceMisspelling(const base::string16& word) {
web_contents()->ReplaceMisspelling(word);
}
bool WebContents::SendIPCMessage(const base::string16& channel,
const base::ListValue& args) {
return Send(new AtomViewMsg_Message(routing_id(), channel, args));
@ -482,13 +522,23 @@ mate::ObjectTemplateBuilder WebContents::GetObjectTemplateBuilder(
.SetMethod("setUserAgent", &WebContents::SetUserAgent)
.SetMethod("insertCSS", &WebContents::InsertCSS)
.SetMethod("_executeJavaScript", &WebContents::ExecuteJavaScript)
.SetMethod("openDevTools", &WebContents::OpenDevTools)
.SetMethod("closeDevTools", &WebContents::CloseDevTools)
.SetMethod("isDevToolsOpened", &WebContents::IsDevToolsOpened)
.SetMethod("undo", &WebContents::Undo)
.SetMethod("redo", &WebContents::Redo)
.SetMethod("cut", &WebContents::Cut)
.SetMethod("copy", &WebContents::Copy)
.SetMethod("paste", &WebContents::Paste)
.SetMethod("delete", &WebContents::Delete)
.SetMethod("selectAll", &WebContents::SelectAll)
.SetMethod("unselect", &WebContents::Unselect)
.SetMethod("replace", &WebContents::Replace)
.SetMethod("replaceMisspelling", &WebContents::ReplaceMisspelling)
.SetMethod("_send", &WebContents::SendIPCMessage)
.SetMethod("setAutoSize", &WebContents::SetAutoSize)
.SetMethod("setAllowTransparency", &WebContents::SetAllowTransparency)
.SetMethod("isGuest", &WebContents::is_guest)
.SetMethod("openDevTools", &WebContents::OpenDevTools)
.SetMethod("closeDevTools", &WebContents::CloseDevTools)
.SetMethod("isDevToolsOpened", &WebContents::IsDevToolsOpened)
.Build());
return mate::ObjectTemplateBuilder(

View file

@ -67,6 +67,20 @@ class WebContents : public mate::EventEmitter,
void OpenDevTools();
void CloseDevTools();
bool IsDevToolsOpened();
// Editing commands.
void Undo();
void Redo();
void Cut();
void Copy();
void Paste();
void Delete();
void SelectAll();
void Unselect();
void Replace(const base::string16& word);
void ReplaceMisspelling(const base::string16& word);
// Sending messages to browser.
bool SendIPCMessage(const base::string16& channel,
const base::ListValue& args);

View file

@ -254,6 +254,16 @@ registerWebViewElement = ->
"openDevTools"
"closeDevTools"
"isDevToolsOpened"
"undo"
"redo"
"cut"
"copy"
"paste"
"delete"
"selectAll"
"unselect"
"replace"
"replaceMisspelling"
"send"
"getId"
]

View file

@ -743,7 +743,51 @@ Injects CSS into this page.
* `code` String
Evaluate `code` in page.
Evaluates `code` in page.
### WebContents.undo()
Executes editing command `undo` in page.
### WebContents.redo()
Executes editing command `redo` in page.
### WebContents.cut()
Executes editing command `cut` in page.
### WebContents.copy()
Executes editing command `copy` in page.
### WebContents.paste()
Executes editing command `paste` in page.
### WebContents.delete()
Executes editing command `delete` in page.
### WebContents.selectAll()
Executes editing command `selectAll` in page.
### WebContents.unselect()
Executes editing command `unselect` in page.
### WebContents.replace(text)
* `text` String
Executes editing command `replace` in page.
### WebContents.replaceMisspelling(text)
* `text` String
Executes editing command `replaceMisspelling` in page.
### WebContents.send(channel[, args...])

View file

@ -219,6 +219,50 @@ Closes the devtools window of guest page.
Returns whether guest page has a devtools window attached.
### `<webview>`.undo()
Executes editing command `undo` in page.
### `<webview>`.redo()
Executes editing command `redo` in page.
### `<webview>`.cut()
Executes editing command `cut` in page.
### `<webview>`.copy()
Executes editing command `copy` in page.
### `<webview>`.paste()
Executes editing command `paste` in page.
### `<webview>`.delete()
Executes editing command `delete` in page.
### `<webview>`.selectAll()
Executes editing command `selectAll` in page.
### `<webview>`.unselect()
Executes editing command `unselect` in page.
### `<webview>`.replace(text)
* `text` String
Executes editing command `replace` in page.
### `<webview>`.replaceMisspelling(text)
* `text` String
Executes editing command `replaceMisspelling` in page.
### `<webview>`.send(channel[, args...])
* `channel` String