Index: third_party/WebKit/Source/devtools/front_end/components/EventListenersUtils.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/components/EventListenersUtils.js b/third_party/WebKit/Source/devtools/front_end/components/EventListenersUtils.js |
index 146a4bd9ad48aee87ba8c6fa5d7c7644359f0c1e..acd0e066a615de33669e2310dd553a73023bd6b8 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/components/EventListenersUtils.js |
+++ b/third_party/WebKit/Source/devtools/front_end/components/EventListenersUtils.js |
@@ -5,7 +5,7 @@ |
/** @typedef {{eventListeners:!Array<!WebInspector.EventListener>, internalHandlers:?WebInspector.RemoteArray}} */ |
WebInspector.FrameworkEventListenersObject; |
-/** @typedef {{type: string, useCapture: boolean, handler: function()}} */ |
+/** @typedef {{type: string, useCapture: boolean, passive: boolean, handler: function()}} */ |
WebInspector.EventListenerObjectInInspectedPage; |
/** |
@@ -74,6 +74,8 @@ WebInspector.EventListener.frameworkEventListeners = function(object) |
var type; |
/** @type {boolean} */ |
var useCapture; |
+ /** @type {boolean} */ |
+ var passive; |
/** @type {?WebInspector.RemoteObject} */ |
var handler = null; |
/** @type {?WebInspector.RemoteObject} */ |
@@ -89,20 +91,21 @@ WebInspector.EventListener.frameworkEventListeners = function(object) |
/** |
* @suppressReceiverCheck |
* @this {WebInspector.EventListenerObjectInInspectedPage} |
- * @return {!{type:string, useCapture:boolean}} |
+ * @return {!{type:string, useCapture:boolean, passive:boolean}} |
*/ |
function truncatePageEventListener() |
{ |
- return {type: this.type, useCapture: this.useCapture}; |
+ return {type: this.type, useCapture: this.useCapture, passive: this.passive}; |
} |
/** |
- * @param {!{type:string, useCapture: boolean}} truncatedListener |
+ * @param {!{type:string, useCapture: boolean, passive: boolean}} truncatedListener |
*/ |
function storeTruncatedListener(truncatedListener) |
{ |
type = truncatedListener.type; |
useCapture = truncatedListener.useCapture; |
+ passive = truncatedListener.passive; |
} |
promises.push(listenerObject.callFunctionPromise(handlerFunction).then(assertCallFunctionResult).then(storeOriginalHandler).then(toTargetFunction).then(storeFunctionWithDetails)); |
@@ -176,7 +179,7 @@ WebInspector.EventListener.frameworkEventListeners = function(object) |
{ |
if (!location) |
throw new Error("Empty event listener's location"); |
- return new WebInspector.EventListener(handler._target, type, useCapture, handler, originalHandler, location, removeFunctionObject, "frameworkUser"); |
+ return new WebInspector.EventListener(handler._target, type, useCapture, passive, handler, originalHandler, location, removeFunctionObject, "frameworkUser"); |
} |
} |
} |
@@ -271,8 +274,9 @@ WebInspector.EventListener.frameworkEventListeners = function(object) |
{ |
"handler": function(), |
"useCapture": true, |
+ "passive": false, |
"type": "change", |
- "remove": function(type, handler, useCapture) |
+ "remove": function(type, handler, useCapture, passive) |
}, |
... |
], |
@@ -358,6 +362,9 @@ WebInspector.EventListener.frameworkEventListeners = function(object) |
var useCapture = eventListener.useCapture; |
if (typeof useCapture !== "boolean") |
errorString += "event listener's useCapture isn't boolean or undefined, "; |
+ var passive = eventListener.passive; |
+ if (typeof passive !== "boolean") |
+ errorString += "event listener's passive isn't boolean or undefined, "; |
var handler = eventListener.handler; |
if (!handler || (typeof handler !== "function")) |
errorString += "event listener's handler isn't a function or empty, "; |
@@ -365,7 +372,7 @@ WebInspector.EventListener.frameworkEventListeners = function(object) |
if (remove && (typeof remove !== "function")) |
errorString += "event listener's remove isn't a function, "; |
if (!errorString){ |
- return {type: type, useCapture: useCapture, handler: handler, remove: remove}; |
+ return {type: type, useCapture: useCapture, passive: passive, handler: handler, remove: remove}; |
} else { |
errorLines.push(errorString.substr(0, errorString.length - 2)); |
return null; |
@@ -433,6 +440,7 @@ WebInspector.EventListener.frameworkEventListeners = function(object) |
var listener = { |
handler: frameworkListener.handler || frameworkListener, |
useCapture: true, |
+ passive: false, |
type: type |
}; |
listener.remove = jQueryRemove.bind(node, frameworkListener.selector); |
@@ -454,6 +462,7 @@ WebInspector.EventListener.frameworkEventListeners = function(object) |
var listener = { |
handler: events[key], |
useCapture: true, |
+ passive: false, |
type: type |
}; |
// We don't support removing for old version < 1.4 of jQuery because it doesn't provide API for getting "selector". |