Merge pull request #5921 from electron/webview-show-definition-for-selection
Add showDefinitionForSelection to webContents/webview
This commit is contained in:
commit
f4c1cd11a0
13 changed files with 25 additions and 33 deletions
|
@ -1094,6 +1094,14 @@ void WebContents::StopFindInPage(content::StopFindAction action) {
|
||||||
web_contents()->StopFinding(action);
|
web_contents()->StopFinding(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WebContents::ShowDefinitionForSelection() {
|
||||||
|
#if defined(OS_MACOSX)
|
||||||
|
const auto view = web_contents()->GetRenderWidgetHostView();
|
||||||
|
if (view)
|
||||||
|
view->ShowDefinitionForSelection();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void WebContents::Focus() {
|
void WebContents::Focus() {
|
||||||
web_contents()->Focus();
|
web_contents()->Focus();
|
||||||
}
|
}
|
||||||
|
@ -1289,6 +1297,8 @@ void WebContents::BuildPrototype(v8::Isolate* isolate,
|
||||||
.SetMethod("_printToPDF", &WebContents::PrintToPDF)
|
.SetMethod("_printToPDF", &WebContents::PrintToPDF)
|
||||||
.SetMethod("addWorkSpace", &WebContents::AddWorkSpace)
|
.SetMethod("addWorkSpace", &WebContents::AddWorkSpace)
|
||||||
.SetMethod("removeWorkSpace", &WebContents::RemoveWorkSpace)
|
.SetMethod("removeWorkSpace", &WebContents::RemoveWorkSpace)
|
||||||
|
.SetMethod("showDefinitionForSelection",
|
||||||
|
&WebContents::ShowDefinitionForSelection)
|
||||||
.SetProperty("id", &WebContents::ID)
|
.SetProperty("id", &WebContents::ID)
|
||||||
.SetProperty("session", &WebContents::Session)
|
.SetProperty("session", &WebContents::Session)
|
||||||
.SetProperty("hostWebContents", &WebContents::HostWebContents)
|
.SetProperty("hostWebContents", &WebContents::HostWebContents)
|
||||||
|
|
|
@ -116,6 +116,7 @@ class WebContents : public mate::TrackableObject<WebContents>,
|
||||||
void ReplaceMisspelling(const base::string16& word);
|
void ReplaceMisspelling(const base::string16& word);
|
||||||
uint32_t FindInPage(mate::Arguments* args);
|
uint32_t FindInPage(mate::Arguments* args);
|
||||||
void StopFindInPage(content::StopFindAction action);
|
void StopFindInPage(content::StopFindAction action);
|
||||||
|
void ShowDefinitionForSelection();
|
||||||
|
|
||||||
// Focus.
|
// Focus.
|
||||||
void Focus();
|
void Focus();
|
||||||
|
|
|
@ -623,12 +623,6 @@ void Window::UnhookAllWindowMessages() {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(OS_MACOSX)
|
|
||||||
void Window::ShowDefinitionForSelection() {
|
|
||||||
window_->ShowDefinitionForSelection();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(TOOLKIT_VIEWS)
|
#if defined(TOOLKIT_VIEWS)
|
||||||
void Window::SetIcon(mate::Handle<NativeImage> icon) {
|
void Window::SetIcon(mate::Handle<NativeImage> icon) {
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
|
@ -760,10 +754,6 @@ void Window::BuildPrototype(v8::Isolate* isolate,
|
||||||
.SetMethod("unhookWindowMessage", &Window::UnhookWindowMessage)
|
.SetMethod("unhookWindowMessage", &Window::UnhookWindowMessage)
|
||||||
.SetMethod("unhookAllWindowMessages", &Window::UnhookAllWindowMessages)
|
.SetMethod("unhookAllWindowMessages", &Window::UnhookAllWindowMessages)
|
||||||
#endif
|
#endif
|
||||||
#if defined(OS_MACOSX)
|
|
||||||
.SetMethod("showDefinitionForSelection",
|
|
||||||
&Window::ShowDefinitionForSelection)
|
|
||||||
#endif
|
|
||||||
#if defined(TOOLKIT_VIEWS)
|
#if defined(TOOLKIT_VIEWS)
|
||||||
.SetMethod("setIcon", &Window::SetIcon)
|
.SetMethod("setIcon", &Window::SetIcon)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -169,10 +169,6 @@ class Window : public mate::TrackableObject<Window>,
|
||||||
void UnhookAllWindowMessages();
|
void UnhookAllWindowMessages();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(OS_MACOSX)
|
|
||||||
void ShowDefinitionForSelection();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(TOOLKIT_VIEWS)
|
#if defined(TOOLKIT_VIEWS)
|
||||||
void SetIcon(mate::Handle<NativeImage> icon);
|
void SetIcon(mate::Handle<NativeImage> icon);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -334,10 +334,6 @@ void NativeWindow::CapturePage(const gfx::Rect& rect,
|
||||||
kBGRA_8888_SkColorType);
|
kBGRA_8888_SkColorType);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NativeWindow::ShowDefinitionForSelection() {
|
|
||||||
NOTIMPLEMENTED();
|
|
||||||
}
|
|
||||||
|
|
||||||
void NativeWindow::SetAutoHideMenuBar(bool auto_hide) {
|
void NativeWindow::SetAutoHideMenuBar(bool auto_hide) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -179,9 +179,6 @@ class NativeWindow : public base::SupportsUserData,
|
||||||
virtual void CapturePage(const gfx::Rect& rect,
|
virtual void CapturePage(const gfx::Rect& rect,
|
||||||
const CapturePageCallback& callback);
|
const CapturePageCallback& callback);
|
||||||
|
|
||||||
// Show popup dictionary.
|
|
||||||
virtual void ShowDefinitionForSelection();
|
|
||||||
|
|
||||||
// Toggle the menu bar.
|
// Toggle the menu bar.
|
||||||
virtual void SetAutoHideMenuBar(bool auto_hide);
|
virtual void SetAutoHideMenuBar(bool auto_hide);
|
||||||
virtual bool IsMenuBarAutoHide();
|
virtual bool IsMenuBarAutoHide();
|
||||||
|
|
|
@ -83,7 +83,6 @@ class NativeWindowMac : public NativeWindow {
|
||||||
void SetProgressBar(double progress) override;
|
void SetProgressBar(double progress) override;
|
||||||
void SetOverlayIcon(const gfx::Image& overlay,
|
void SetOverlayIcon(const gfx::Image& overlay,
|
||||||
const std::string& description) override;
|
const std::string& description) override;
|
||||||
void ShowDefinitionForSelection() override;
|
|
||||||
|
|
||||||
void SetVisibleOnAllWorkspaces(bool visible) override;
|
void SetVisibleOnAllWorkspaces(bool visible) override;
|
||||||
bool IsVisibleOnAllWorkspaces() override;
|
bool IsVisibleOnAllWorkspaces() override;
|
||||||
|
|
|
@ -933,15 +933,6 @@ void NativeWindowMac::SetOverlayIcon(const gfx::Image& overlay,
|
||||||
const std::string& description) {
|
const std::string& description) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void NativeWindowMac::ShowDefinitionForSelection() {
|
|
||||||
if (!web_contents())
|
|
||||||
return;
|
|
||||||
auto rwhv = web_contents()->GetRenderWidgetHostView();
|
|
||||||
if (!rwhv)
|
|
||||||
return;
|
|
||||||
rwhv->ShowDefinitionForSelection();
|
|
||||||
}
|
|
||||||
|
|
||||||
void NativeWindowMac::SetVisibleOnAllWorkspaces(bool visible) {
|
void NativeWindowMac::SetVisibleOnAllWorkspaces(bool visible) {
|
||||||
SetCollectionBehavior(visible, NSWindowCollectionBehaviorCanJoinAllSpaces);
|
SetCollectionBehavior(visible, NSWindowCollectionBehaviorCanJoinAllSpaces);
|
||||||
}
|
}
|
||||||
|
|
|
@ -885,7 +885,7 @@ The `flags` is an array that can include following `String`s:
|
||||||
|
|
||||||
### `win.showDefinitionForSelection()` _OS X_
|
### `win.showDefinitionForSelection()` _OS X_
|
||||||
|
|
||||||
Shows pop-up dictionary that searches the selected word on the page.
|
Same as `webContents.showDefinitionForSelection()`.
|
||||||
|
|
||||||
### `win.setIcon(icon)` _Windows_ _Linux_
|
### `win.setIcon(icon)` _Windows_ _Linux_
|
||||||
|
|
||||||
|
|
|
@ -957,6 +957,10 @@ win.webContents.on('did-finish-load', () => {
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### `webContents.showDefinitionForSelection()` _OS X_
|
||||||
|
|
||||||
|
Shows pop-up dictionary that searches the selected word on the page.
|
||||||
|
|
||||||
## Instance Properties
|
## Instance Properties
|
||||||
|
|
||||||
`WebContents` objects also have the following properties:
|
`WebContents` objects also have the following properties:
|
||||||
|
|
|
@ -490,6 +490,10 @@ Sends an input `event` to the page.
|
||||||
See [webContents.sendInputEvent](web-contents.md##webcontentssendinputeventevent)
|
See [webContents.sendInputEvent](web-contents.md##webcontentssendinputeventevent)
|
||||||
for detailed description of `event` object.
|
for detailed description of `event` object.
|
||||||
|
|
||||||
|
### `<webview>.showDefinitionForSelection()` _OS X_
|
||||||
|
|
||||||
|
Shows pop-up dictionary that searches the selected word on the page.
|
||||||
|
|
||||||
### `<webview>.getWebContents()`
|
### `<webview>.getWebContents()`
|
||||||
|
|
||||||
Returns the [WebContents](web-contents.md) associated with this `webview`.
|
Returns the [WebContents](web-contents.md) associated with this `webview`.
|
||||||
|
|
|
@ -151,6 +151,9 @@ Object.assign(BrowserWindow.prototype, {
|
||||||
},
|
},
|
||||||
inspectServiceWorker () {
|
inspectServiceWorker () {
|
||||||
return this.webContents.inspectServiceWorker()
|
return this.webContents.inspectServiceWorker()
|
||||||
|
},
|
||||||
|
showDefinitionForSelection () {
|
||||||
|
return this.webContents.showDefinitionForSelection()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -379,7 +379,8 @@ var registerWebViewElement = function () {
|
||||||
'downloadURL',
|
'downloadURL',
|
||||||
'inspectServiceWorker',
|
'inspectServiceWorker',
|
||||||
'print',
|
'print',
|
||||||
'printToPDF'
|
'printToPDF',
|
||||||
|
'showDefinitionForSelection'
|
||||||
]
|
]
|
||||||
nonblockMethods = [
|
nonblockMethods = [
|
||||||
'insertCSS',
|
'insertCSS',
|
||||||
|
|
Loading…
Reference in a new issue