Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: Source/devtools/front_end/framework_support/EventListeners.js

Issue 1268353005: [DevTools] Support JQuery event listeners (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Added missing files Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright 2015 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
5 */
6
7 WebInspector.FrameworksSupport = {}
dgozman 2015/08/14 19:02:25 EventListenersFrameworkSupport
kozy 2015/08/14 20:20:38 Done.
8
9 /**
10 * @return {string}
11 */
12 WebInspector.FrameworksSupport.eventListenersInitializeFunction = function()
dgozman 2015/08/14 19:02:25 Let's make this |initializeOnExecutionContext(cont
kozy 2015/08/14 20:20:38 Done.
13 {
14 return ["(function(){",
15 WebInspector.FrameworksSupport.initializeFrameworkUserEventListeners.toS tring(),
16 "initializeFrameworkUserEventListeners();",
17 WebInspector.FrameworksSupport.initializeFrameworkInternalEventHandlers. toString(),
18 "initializeFrameworkInternalEventHandlers();",
19 "})();"].join("\n");
20 }
21
22 WebInspector.FrameworksSupport.initializeFrameworkUserEventListeners = function initializeFrameworkUserEventListeners()
23 {
24 // We should call this function once per context.
25 self.devtoolsFrameworkUserEventListeners = self.devtoolsFrameworkUserEventLi steners || [];
26 self.devtoolsFrameworkUserEventListeners.push(jQueryUserEventListeners);
27
28 /**
29 * @param {!Object} node
30 * @return {!Array<!{type: string, listener: function(), useCapture: boolean }>}
31 */
32 function jQueryUserEventListeners(node)
33 {
34 if (!(node instanceof Node))
35 return [];
36 var hasJQuery = (typeof jQuery !== 'undefined') && jQuery.fn;
37 if (!hasJQuery)
38 return [];
39 var listeners = [];
40 var data = jQuery._data || jQuery.data;
41 if (typeof data === "function") {
42 var events = data(node, "events");
43 for (var type in events) {
44 for (var key in events[type]) {
45 var frameworkListener = events[type][key];
46 if (typeof frameworkListener === "object" || typeof framewor kListener === "function") {
47 var listener = {
48 handler: frameworkListener.handler || frameworkListe ner,
49 useCapture: true,
50 type: type
51 };
52 listeners.push(listener);
53 }
54 }
55 }
56 }
57 var entry = jQuery(node)[0];
58 if (entry) {
59 var entryEvents = entry["$events"];
60 for (var type in entryEvents) {
61 var events = entryEvents[type];
62 for (var key in events) {
63 if (typeof events[key] === "function") {
64 var listener = {
65 handler: events[key],
66 useCapture: true,
67 type: type
68 };
69 listeners.push(listener);
70 }
71 }
72 }
73 }
74 return listeners;
75 }
76 }
77
78 WebInspector.FrameworksSupport.initializeFrameworkInternalEventHandlers = functi on initializeFrameworkInternalEventHandlers()
79 {
80 // We should call this function once per context.
81 self.devtoolsFrameworkInternalEventHandlers = self.devtoolsFrameworkInternal EventHandlers || [];
82 self.devtoolsFrameworkInternalEventHandlers.push(jQueryInternalEventHandlers );
83
84 /**
85 * @param {!Object} node
86 * @return {!Array<function()>}
87 */
88 function jQueryInternalEventHandlers(node)
89 {
90 if (!(node instanceof Node))
91 return [];
92 var hasJQuery = (typeof jQuery !== 'undefined') && jQuery.fn;
93 if (!hasJQuery)
94 return [];
95 var handlers = [];
96 var data = jQuery._data || jQuery.data;
97 if (typeof data === "function") {
98 var nodeData = data(node);
99 if (typeof nodeData.handle === "function")
100 handlers.push(nodeData.handle);
101 }
102 var entry = jQuery(node)[0];
103 if (entry && entry["$handle"])
104 handlers.push(entry["$handle"]);
105 return handlers;
106 }
107 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698