webview: will-navigate and page-favicon-set navigation events
This commit is contained in:
parent
c424d0e9f3
commit
9b585458c1
9 changed files with 72 additions and 3 deletions
|
@ -18,6 +18,7 @@ WEB_VIEW_EVENTS =
|
|||
'crashed': []
|
||||
'destroyed': []
|
||||
'page-title-set': ['title', 'explicitSet']
|
||||
'page-favicon-set': ['favicons']
|
||||
|
||||
dispatchEvent = (webView, event, args...) ->
|
||||
throw new Error("Unkown event #{event}") unless WEB_VIEW_EVENTS[event]?
|
||||
|
|
|
@ -154,6 +154,14 @@ class SrcAttribute extends WebViewAttribute
|
|||
not @.getValue()
|
||||
return
|
||||
|
||||
domEvent = new Event('will-navigate')
|
||||
domEvent['url'] = @getValue()
|
||||
domEvent.cancelable = true
|
||||
self = @
|
||||
domEvent.preventDefault = () ->
|
||||
self.setValueIgnoreMutation ''
|
||||
@webViewImpl.webviewNode.dispatchEvent domEvent
|
||||
|
||||
unless @webViewImpl.guestInstanceId?
|
||||
if @webViewImpl.beforeFirstNavigation
|
||||
@webViewImpl.beforeFirstNavigation = false
|
||||
|
@ -161,9 +169,10 @@ class SrcAttribute extends WebViewAttribute
|
|||
return
|
||||
|
||||
# Navigate to |this.src|.
|
||||
httpreferrer = @webViewImpl.attributes[webViewConstants.ATTRIBUTE_HTTPREFERRER].getValue()
|
||||
urlOptions = if httpreferrer then {httpreferrer} else {}
|
||||
remote.getGuestWebContents(@webViewImpl.guestInstanceId).loadUrl @getValue(), urlOptions
|
||||
if @getValue()
|
||||
httpreferrer = @webViewImpl.attributes[webViewConstants.ATTRIBUTE_HTTPREFERRER].getValue()
|
||||
urlOptions = if httpreferrer then {httpreferrer} else {}
|
||||
remote.getGuestWebContents(@webViewImpl.guestInstanceId).loadUrl @getValue(), urlOptions
|
||||
|
||||
# Attribute specifies HTTP referrer.
|
||||
class HttpReferrerAttribute extends WebViewAttribute
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue