From 3c873736d7014a6f3c07c95552384f55b65b214f Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 7 Jun 2016 15:56:19 +0900 Subject: [PATCH] Add update-target-url event --- atom/browser/api/atom_api_web_contents.cc | 5 +++++ atom/browser/api/atom_api_web_contents.h | 1 + docs/api/web-contents.md | 9 +++++++++ docs/api/web-view-tag.md | 8 ++++++++ lib/browser/guest-view-manager.js | 3 ++- lib/renderer/web-view/guest-view-internal.js | 9 +++++---- 6 files changed, 30 insertions(+), 5 deletions(-) diff --git a/atom/browser/api/atom_api_web_contents.cc b/atom/browser/api/atom_api_web_contents.cc index 9d93d980be4a..c33b9f1d9bd9 100644 --- a/atom/browser/api/atom_api_web_contents.cc +++ b/atom/browser/api/atom_api_web_contents.cc @@ -389,6 +389,11 @@ void WebContents::ActivateContents(content::WebContents* source) { Emit("activate"); } +void WebContents::UpdateTargetURL(content::WebContents* source, + const GURL& url) { + Emit("update-target-url", url); +} + bool WebContents::IsPopupOrPanel(const content::WebContents* source) const { return type_ == BROWSER_WINDOW; } diff --git a/atom/browser/api/atom_api_web_contents.h b/atom/browser/api/atom_api_web_contents.h index 85c43f1486aa..dfaac8791fb4 100644 --- a/atom/browser/api/atom_api_web_contents.h +++ b/atom/browser/api/atom_api_web_contents.h @@ -182,6 +182,7 @@ class WebContents : public mate::TrackableObject, const gfx::Rect& pos) override; void CloseContents(content::WebContents* source) override; void ActivateContents(content::WebContents* contents) override; + void UpdateTargetURL(content::WebContents* source, const GURL& url) override; bool IsPopupOrPanel(const content::WebContents* source) const override; void HandleKeyboardEvent( content::WebContents* source, diff --git a/docs/api/web-contents.md b/docs/api/web-contents.md index c3f1f82366c7..b9ff9d7c4863 100644 --- a/docs/api/web-contents.md +++ b/docs/api/web-contents.md @@ -288,6 +288,15 @@ a meta tag: ``` +### Event: 'update-target-url' + +Returns: + +* `event` Event +* `url` String + +Emitted when mouse moves over a link or the keyboard moves the focus to a link. + ### Event: 'cursor-changed' Returns: diff --git a/docs/api/web-view-tag.md b/docs/api/web-view-tag.md index f99bb4fdb5a1..d00f64d4eb53 100644 --- a/docs/api/web-view-tag.md +++ b/docs/api/web-view-tag.md @@ -782,6 +782,14 @@ Emitted when a page's theme color changes. This is usually due to encountering a ``` +### Event: 'update-target-url' + +Returns: + +* `url` String + +Emitted when mouse moves over a link or the keyboard moves the focus to a link. + ### Event: 'devtools-opened' Emitted when DevTools is opened. diff --git a/lib/browser/guest-view-manager.js b/lib/browser/guest-view-manager.js index 6876a8d22c12..c5c075b28bb7 100644 --- a/lib/browser/guest-view-manager.js +++ b/lib/browser/guest-view-manager.js @@ -36,7 +36,8 @@ var supportedWebViewEvents = [ 'media-started-playing', 'media-paused', 'found-in-page', - 'did-change-theme-color' + 'did-change-theme-color', + 'update-target-url' ] var nextInstanceId = 0 diff --git a/lib/renderer/web-view/guest-view-internal.js b/lib/renderer/web-view/guest-view-internal.js index 7432444c6da6..c4741fc1b77f 100644 --- a/lib/renderer/web-view/guest-view-internal.js +++ b/lib/renderer/web-view/guest-view-internal.js @@ -27,15 +27,16 @@ var WEB_VIEW_EVENTS = { 'crashed': [], 'gpu-crashed': [], 'plugin-crashed': ['name', 'version'], - 'media-started-playing': [], - 'media-paused': [], - 'did-change-theme-color': ['themeColor'], 'destroyed': [], 'page-title-updated': ['title', 'explicitSet'], 'page-favicon-updated': ['favicons'], 'enter-html-full-screen': [], 'leave-html-full-screen': [], - 'found-in-page': ['result'] + 'media-started-playing': [], + 'media-paused': [], + 'found-in-page': ['result'], + 'did-change-theme-color': ['themeColor'], + 'update-target-url': ['url'] } var DEPRECATED_EVENTS = {