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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/ui/treeoutline.js

Issue 2163893003: Start sending auxclick instead of click for non-primary buttons (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adding remote debugging auxclick polyfill Created 4 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
1 /* 1 /*
2 * Copyright (C) 2007 Apple Inc. All rights reserved. 2 * Copyright (C) 2007 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 this.previousSibling = null; 357 this.previousSibling = null;
358 this.nextSibling = null; 358 this.nextSibling = null;
359 359
360 this._listItemNode = createElement("li"); 360 this._listItemNode = createElement("li");
361 this._listItemNode.treeElement = this; 361 this._listItemNode.treeElement = this;
362 if (title) 362 if (title)
363 this.title = title; 363 this.title = title;
364 this._listItemNode.addEventListener("mousedown", this._handleMouseDown.bind( this), false); 364 this._listItemNode.addEventListener("mousedown", this._handleMouseDown.bind( this), false);
365 this._listItemNode.addEventListener("selectstart", this._treeElementSelectSt art.bind(this), false); 365 this._listItemNode.addEventListener("selectstart", this._treeElementSelectSt art.bind(this), false);
366 this._listItemNode.addEventListener("click", this._treeElementToggled.bind(t his), false); 366 this._listItemNode.addEventListener("click", this._treeElementToggled.bind(t his), false);
367 this._listItemNode.addEventListener("dblclick", this._handleDoubleClick.bind (this), false); 367 this._listItemNode.addEventListener("auxclick", this._treeElementToggled.bin d(this), false);
dgozman 2016/08/03 20:54:28 Why change this? Are you going to stop sending dbl
Navid Zolghadr 2016/08/03 21:35:20 We stopped sending dblclick for middle button but
dgozman 2016/08/03 22:31:49 I cannot repro the behavior you mention on linux.
Navid Zolghadr 2016/08/04 14:42:05 Sure. done.
368 368
369 this._childrenListNode = createElement("ol"); 369 this._childrenListNode = createElement("ol");
370 this._childrenListNode.parentTreeElement = this; 370 this._childrenListNode.parentTreeElement = this;
371 this._childrenListNode.classList.add("children"); 371 this._childrenListNode.classList.add("children");
372 372
373 this._hidden = false; 373 this._hidden = false;
374 this._selectable = true; 374 this._selectable = true;
375 this.expanded = false; 375 this.expanded = false;
376 this.selected = false; 376 this.selected = false;
377 this.setExpandable(expandable || false); 377 this.setExpandable(expandable || false);
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 { 777 {
778 event.currentTarget._selectionStarted = true; 778 event.currentTarget._selectionStarted = true;
779 }, 779 },
780 780
781 /** 781 /**
782 * @param {!Event} event 782 * @param {!Event} event
783 */ 783 */
784 _treeElementToggled: function(event) 784 _treeElementToggled: function(event)
785 { 785 {
786 var element = event.currentTarget; 786 var element = event.currentTarget;
787
788 // Handling dblclick
789 if (event.detail === 2) {
790 if (!element || element.treeElement !== this)
791 return;
792
793 var handled = this.ondblclick(event);
794 if (handled)
795 return;
796 if (this._expandable && !this.expanded)
797 this.expand();
798 return;
799 }
800
787 if (element._selectionStarted) { 801 if (element._selectionStarted) {
788 delete element._selectionStarted; 802 delete element._selectionStarted;
789 var selection = element.getComponentSelection(); 803 var selection = element.getComponentSelection();
790 if (selection && !selection.isCollapsed && element.isSelfOrAncestor( selection.anchorNode) && element.isSelfOrAncestor(selection.focusNode)) 804 if (selection && !selection.isCollapsed && element.isSelfOrAncestor( selection.anchorNode) && element.isSelfOrAncestor(selection.focusNode))
791 return; 805 return;
792 } 806 }
793 807
794 if (element.treeElement !== this) 808 if (element.treeElement !== this)
795 return; 809 return;
796 810
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 return; 844 return;
831 if (element.treeElement !== this) 845 if (element.treeElement !== this)
832 return; 846 return;
833 847
834 if (this.isEventWithinDisclosureTriangle(event)) 848 if (this.isEventWithinDisclosureTriangle(event))
835 return; 849 return;
836 850
837 this.selectOnMouseDown(event); 851 this.selectOnMouseDown(event);
838 }, 852 },
839 853
840 /**
841 * @param {!Event} event
842 */
843 _handleDoubleClick: function(event)
844 {
845 var element = event.currentTarget;
846 if (!element || element.treeElement !== this)
847 return;
848
849 var handled = this.ondblclick(event);
850 if (handled)
851 return;
852 if (this._expandable && !this.expanded)
853 this.expand();
854 },
855
856 _detach: function() 854 _detach: function()
857 { 855 {
858 this._listItemNode.remove(); 856 this._listItemNode.remove();
859 this._childrenListNode.remove(); 857 this._childrenListNode.remove();
860 }, 858 },
861 859
862 collapse: function() 860 collapse: function()
863 { 861 {
864 if (!this.expanded || !this._collapsible) 862 if (!this.expanded || !this._collapsible)
865 return; 863 return;
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
1163 isEventWithinDisclosureTriangle: function(event) 1161 isEventWithinDisclosureTriangle: function(event)
1164 { 1162 {
1165 // FIXME: We should not use getComputedStyle(). For that we need to get rid of using ::before for disclosure triangle. (http://webk.it/74446) 1163 // FIXME: We should not use getComputedStyle(). For that we need to get rid of using ::before for disclosure triangle. (http://webk.it/74446)
1166 var paddingLeftValue = window.getComputedStyle(this._listItemNode).paddi ngLeft; 1164 var paddingLeftValue = window.getComputedStyle(this._listItemNode).paddi ngLeft;
1167 console.assert(paddingLeftValue.endsWith("px")); 1165 console.assert(paddingLeftValue.endsWith("px"));
1168 var computedLeftPadding = parseFloat(paddingLeftValue); 1166 var computedLeftPadding = parseFloat(paddingLeftValue);
1169 var left = this._listItemNode.totalOffsetLeft() + computedLeftPadding; 1167 var left = this._listItemNode.totalOffsetLeft() + computedLeftPadding;
1170 return event.pageX >= left && event.pageX <= left + TreeElement._ArrowTo ggleWidth && this._expandable; 1168 return event.pageX >= left && event.pageX <= left + TreeElement._ArrowTo ggleWidth && this._expandable;
1171 } 1169 }
1172 } 1170 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698