WebKit Bugzilla
Attachment 356226 Details for
Bug 192093
: Web Inspector: REGRESSION(r238599): Multiple Selection: selecting a breakpoint will change the selection to it's parent on the first click
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-192093-20181130125616.patch (text/plain), 4.48 KB, created by
Matt Baker
on 2018-11-30 12:56:16 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Matt Baker
Created:
2018-11-30 12:56:16 PST
Size:
4.48 KB
patch
obsolete
>Subversion Revision: 238722 >diff --git a/Source/WebInspectorUI/ChangeLog b/Source/WebInspectorUI/ChangeLog >index a8e1de9a0cfd0c5e34ea4a1df1dcb17fe8067135..17b4f1d7fe8790675fb8fa3450b016af0c6408ae 100644 >--- a/Source/WebInspectorUI/ChangeLog >+++ b/Source/WebInspectorUI/ChangeLog >@@ -1,3 +1,25 @@ >+2018-11-30 Matt Baker <mattbaker@apple.com> >+ >+ Web Inspector: REGRESSION(r238599): Multiple Selection: selecting a breakpoint will change the selection to it's parent on the first click >+ https://bugs.webkit.org/show_bug.cgi?id=192093 >+ <rdar://problem/46318466> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UserInterface/Views/TreeElement.js: >+ (WI.TreeElement.prototype.select): >+ TreeElement shouldn't manage the TreeOutline's selection barrier. >+ >+ * UserInterface/Views/TreeOutline.js: >+ (WI.TreeOutline): >+ (WI.TreeOutline.prototype.get processingSelectionChange): >+ (WI.TreeOutline.prototype.selectionControllerSelectionDidChange): >+ (WI.TreeOutline.prototype.selectTreeElementInternal): >+ The selection re-entry barrier `processingSelectionChange` should be >+ managed internally by TreeOutline, and exposed as a read-only property. >+ Fix a bug where the barrier was cleared before dispatching the change >+ notification, which can cause re-entry as a side effect. >+ > 2018-11-29 Matt Baker <mattbaker@apple.com> > > Web Inspector: RTL: disclosure triangles should be flipped and aligned right >diff --git a/Source/WebInspectorUI/UserInterface/Views/TreeElement.js b/Source/WebInspectorUI/UserInterface/Views/TreeElement.js >index 545fc71db027b21484d95b29ba828a69ff7b812b..54d8bc00f5f37e9681be8b58258d03c15a182876 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/TreeElement.js >+++ b/Source/WebInspectorUI/UserInterface/Views/TreeElement.js >@@ -514,16 +514,12 @@ WI.TreeElement = class TreeElement extends WI.Object > if (!treeOutline) > return; > >- treeOutline.processingSelectionChange = true; >- > this.selected = true; > treeOutline.selectTreeElementInternal(this, suppressOnSelect, selectedByUser); > > if (!suppressOnSelect && this.onselect) > this.onselect(this, selectedByUser); > >- treeOutline.processingSelectionChange = false; >- > let treeOutlineGroup = WI.TreeOutlineGroup.groupForTreeOutline(treeOutline); > if (!treeOutlineGroup) > return; >diff --git a/Source/WebInspectorUI/UserInterface/Views/TreeOutline.js b/Source/WebInspectorUI/UserInterface/Views/TreeOutline.js >index 4bd90df9b81d8391022cab4a5b6b2a34594d1633..61a3c4187dca322326fad759880354b8ec62a59a 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/TreeOutline.js >+++ b/Source/WebInspectorUI/UserInterface/Views/TreeOutline.js >@@ -59,7 +59,7 @@ WI.TreeOutline = class TreeOutline extends WI.Object > this._treeElementIndexCache = new Map; > > this._itemWasSelectedByUser = false; >- this._processingSelectionControllerSelectionDidChange = false; >+ this._processingSelectionChange = false; > this._suppressNextSelectionDidChangeEvent = false; > > this._virtualizedVisibleTreeElements = null; >@@ -132,6 +132,8 @@ WI.TreeOutline = class TreeOutline extends WI.Object > return []; > } > >+ get processingSelectionChange() { return this._processingSelectionChange; } >+ > get hidden() > { > return this._hidden; >@@ -788,7 +790,7 @@ WI.TreeOutline = class TreeOutline extends WI.Object > > selectionControllerSelectionDidChange(controller, deselectedItems, selectedItems) > { >- this._processingSelectionControllerSelectionDidChange = true; >+ this._processingSelectionChange = true; > > for (let index of deselectedItems) { > let treeElement = this._treeElementAtIndex(index); >@@ -810,9 +812,9 @@ WI.TreeOutline = class TreeOutline extends WI.Object > } > } > >- this._processingSelectionControllerSelectionDidChange = false; >- > this._dispatchSelectionDidChangeEvent(); >+ >+ this._processingSelectionChange = false; > } > > selectionControllerNextSelectableIndex(controller, index) >@@ -855,7 +857,7 @@ WI.TreeOutline = class TreeOutline extends WI.Object > > selectTreeElementInternal(treeElement, suppressNotification = false, selectedByUser = false) > { >- if (this._processingSelectionControllerSelectionDidChange) >+ if (this._processingSelectionChange) > return; > > this._itemWasSelectedByUser = selectedByUser;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192093
: 356226