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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/elements/ElementsTreeOutline.js

Issue 2138123003: DevTools: remove panel-based clipboard events dispatching. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: lcean Created 4 years, 5 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
1 /* 1 /*
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com> 3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
4 * Copyright (C) 2009 Joseph Pecoraro 4 * Copyright (C) 2009 Joseph Pecoraro
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 this._element.classList.add("elements-tree-outline", "source-code"); 50 this._element.classList.add("elements-tree-outline", "source-code");
51 this._element.addEventListener("mousedown", this._onmousedown.bind(this), fa lse); 51 this._element.addEventListener("mousedown", this._onmousedown.bind(this), fa lse);
52 this._element.addEventListener("mousemove", this._onmousemove.bind(this), fa lse); 52 this._element.addEventListener("mousemove", this._onmousemove.bind(this), fa lse);
53 this._element.addEventListener("mouseleave", this._onmouseleave.bind(this), false); 53 this._element.addEventListener("mouseleave", this._onmouseleave.bind(this), false);
54 this._element.addEventListener("dragstart", this._ondragstart.bind(this), fa lse); 54 this._element.addEventListener("dragstart", this._ondragstart.bind(this), fa lse);
55 this._element.addEventListener("dragover", this._ondragover.bind(this), fals e); 55 this._element.addEventListener("dragover", this._ondragover.bind(this), fals e);
56 this._element.addEventListener("dragleave", this._ondragleave.bind(this), fa lse); 56 this._element.addEventListener("dragleave", this._ondragleave.bind(this), fa lse);
57 this._element.addEventListener("drop", this._ondrop.bind(this), false); 57 this._element.addEventListener("drop", this._ondrop.bind(this), false);
58 this._element.addEventListener("dragend", this._ondragend.bind(this), false) ; 58 this._element.addEventListener("dragend", this._ondragend.bind(this), false) ;
59 this._element.addEventListener("contextmenu", this._contextMenuEventFired.bi nd(this), false); 59 this._element.addEventListener("contextmenu", this._contextMenuEventFired.bi nd(this), false);
60 this._element.addEventListener("clipboard-beforecopy", this._onBeforeCopy.bi nd(this), false);
61 this._element.addEventListener("clipboard-copy", this._onCopyOrCut.bind(this , false), false);
62 this._element.addEventListener("clipboard-cut", this._onCopyOrCut.bind(this, true), false);
63 this._element.addEventListener("clipboard-paste", this._onPaste.bind(this), false);
60 64
61 outlineDisclosureElement.appendChild(this._element); 65 outlineDisclosureElement.appendChild(this._element);
62 this.element = element; 66 this.element = element;
63 67
64 this._includeRootDOMNode = !omitRootDOMNode; 68 this._includeRootDOMNode = !omitRootDOMNode;
65 this._selectEnabled = selectEnabled; 69 this._selectEnabled = selectEnabled;
66 /** @type {?WebInspector.DOMNode} */ 70 /** @type {?WebInspector.DOMNode} */
67 this._rootDOMNode = null; 71 this._rootDOMNode = null;
68 /** @type {?WebInspector.DOMNode} */ 72 /** @type {?WebInspector.DOMNode} */
69 this._selectedDOMNode = null; 73 this._selectedDOMNode = null;
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 /** 219 /**
216 * @param {!WebInspector.DOMNode} removedNode 220 * @param {!WebInspector.DOMNode} removedNode
217 */ 221 */
218 resetClipboardIfNeeded: function(removedNode) 222 resetClipboardIfNeeded: function(removedNode)
219 { 223 {
220 if (this._clipboardNodeData && this._clipboardNodeData.node === removedN ode) 224 if (this._clipboardNodeData && this._clipboardNodeData.node === removedN ode)
221 this._setClipboardData(null); 225 this._setClipboardData(null);
222 }, 226 },
223 227
224 /** 228 /**
229 * @param {!Event} event
230 */
231 _onBeforeCopy: function(event)
232 {
233 event.handled = true;
234 },
235
236 /**
225 * @param {boolean} isCut 237 * @param {boolean} isCut
226 * @param {!Event} event 238 * @param {!Event} event
227 */ 239 */
228 handleCopyOrCutKeyboardEvent: function(isCut, event) 240 _onCopyOrCut: function(isCut, event)
229 { 241 {
230 this._setClipboardData(null); 242 this._setClipboardData(null);
243 var originalEvent = event["original"];
231 244
232 // Don't prevent the normal copy if the user has a selection. 245 // Don't prevent the normal copy if the user has a selection.
233 if (!event.target.isComponentSelectionCollapsed()) 246 if (!originalEvent.target.isComponentSelectionCollapsed())
234 return; 247 return;
235 248
236 // Do not interfere with text editing. 249 // Do not interfere with text editing.
237 if (WebInspector.isEditing()) 250 if (WebInspector.isEditing())
238 return; 251 return;
239 252
240 var targetNode = this.selectedDOMNode(); 253 var targetNode = this.selectedDOMNode();
241 if (!targetNode) 254 if (!targetNode)
242 return; 255 return;
243 256
244 event.clipboardData.clearData(); 257 originalEvent.clipboardData.clearData();
245 event.preventDefault(); 258 event.handled = true;
246 259
247 this.performCopyOrCut(isCut, targetNode); 260 this.performCopyOrCut(isCut, targetNode);
248 }, 261 },
249 262
250 /** 263 /**
251 * @param {boolean} isCut 264 * @param {boolean} isCut
252 * @param {?WebInspector.DOMNode} node 265 * @param {?WebInspector.DOMNode} node
253 */ 266 */
254 performCopyOrCut: function(isCut, node) 267 performCopyOrCut: function(isCut, node)
255 { 268 {
(...skipping 30 matching lines...) Expand all
286 */ 299 */
287 pasteNode: function(targetNode) 300 pasteNode: function(targetNode)
288 { 301 {
289 if (this.canPaste(targetNode)) 302 if (this.canPaste(targetNode))
290 this._performPaste(targetNode); 303 this._performPaste(targetNode);
291 }, 304 },
292 305
293 /** 306 /**
294 * @param {!Event} event 307 * @param {!Event} event
295 */ 308 */
296 handlePasteKeyboardEvent: function(event) 309 _onPaste: function(event)
297 { 310 {
298 // Do not interfere with text editing. 311 // Do not interfere with text editing.
299 if (WebInspector.isEditing()) 312 if (WebInspector.isEditing())
300 return; 313 return;
301 314
302 var targetNode = this.selectedDOMNode(); 315 var targetNode = this.selectedDOMNode();
303 if (!targetNode || !this.canPaste(targetNode)) 316 if (!targetNode || !this.canPaste(targetNode))
304 return; 317 return;
305 318
306 event.preventDefault(); 319 event.handled = true;
307 this._performPaste(targetNode); 320 this._performPaste(targetNode);
308 }, 321 },
309 322
310 /** 323 /**
311 * @param {!WebInspector.DOMNode} targetNode 324 * @param {!WebInspector.DOMNode} targetNode
312 */ 325 */
313 _performPaste: function(targetNode) 326 _performPaste: function(targetNode)
314 { 327 {
315 if (this._clipboardNodeData.isCut) { 328 if (this._clipboardNodeData.isCut) {
316 this._clipboardNodeData.node.moveTo(targetNode, null, expandCallback .bind(this)); 329 this._clipboardNodeData.node.moveTo(targetNode, null, expandCallback .bind(this));
(...skipping 1463 matching lines...) Expand 10 before | Expand all | Expand 10 after
1780 if (node) { 1793 if (node) {
1781 this.treeOutline._selectedDOMNode = node; 1794 this.treeOutline._selectedDOMNode = node;
1782 this.treeOutline._selectedNodeChanged(); 1795 this.treeOutline._selectedNodeChanged();
1783 } 1796 }
1784 } 1797 }
1785 return true; 1798 return true;
1786 }, 1799 },
1787 1800
1788 __proto__: TreeElement.prototype 1801 __proto__: TreeElement.prototype
1789 } 1802 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698