Closed
Bug 853691
Opened 11 years ago
Closed 11 years ago
Some SelectionHandler cleanup
Categories
(Firefox for Android Graveyard :: Text Selection, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
Firefox 22
People
(Reporter: Margaret, Assigned: Margaret)
Details
Attachments
(1 file, 2 obsolete files)
14.23 KB,
patch
|
bnicholson
:
review+
|
Details | Diff | Splinter Review |
Doing some housekeeping before major surgery! In this first patch, we really only need to be setting _activeType = TYPE_NONE in one place. The assignment in endSelection() looks like it was just a hack to bail out when ending up in a recursive loop from notififySelectionChanged. Removing the listener earlier fixes this issue. And the second assignment in hideThumb is unnecessary because we always call _cleanUp() right after.
Attachment #727984 -
Flags: review?(bnicholson)
Assignee | ||
Comment 1•11 years ago
|
||
We never want to keep certain handles visible, so sending specific handles along with the "TextSelection:HideHandles" message feels like unnecessary overhead. And this lets our _cleanUp() function be _activeType-agnostic.
Attachment #727986 -
Flags: review?(bnicholson)
Assignee | ||
Comment 2•11 years ago
|
||
I decided to fold these patches together because when I wrote a third patch, it just changed what I had put in these first two patches :) In most of the places we call endSelection() right now, we really just want to end the selection. Factoring out the copy/share code paths makes this more straightforward. Since what's left after that is basically _cleanUp, we can just have one method to handle shutting down SelectionHandler. I decided to name this _closeSelection, since that's consistent with the name for this function in metro's SelectionHandler, but I'm open to changing that (_cleanUp feels kind of like the wrong name now that this also clears the selection).
Attachment #727984 -
Attachment is obsolete: true
Attachment #727986 -
Attachment is obsolete: true
Attachment #727984 -
Flags: review?(bnicholson)
Attachment #727986 -
Flags: review?(bnicholson)
Attachment #729121 -
Flags: review?(bnicholson)
Assignee | ||
Comment 3•11 years ago
|
||
Comment on attachment 729121 [details] [diff] [review] Reorganize SelectionHandler cleanup code paths Review of attachment 729121 [details] [diff] [review]: ----------------------------------------------------------------- Some review comments for myself... ::: mobile/android/chrome/content/SelectionHandler.js @@ +78,5 @@ > } > break; > } > case "Tab:Selected": > if (this._activeType == this.TYPE_CURSOR) { This check seems unnecessary, since we fall through for the TYPE_SELECTION case. We could just call _closeSelection() here then break. @@ +149,3 @@ > case "compositionend": > // If the handles are displayed during user input, hide them. > if (this._activeType == this.TYPE_CURSOR) { And this check is redundant, since we only add these listeners in showThumb().
Assignee | ||
Comment 4•11 years ago
|
||
(In reply to :Margaret Leibovic from comment #3) > @@ +149,3 @@ > > case "compositionend": > > // If the handles are displayed during user input, hide them. > > if (this._activeType == this.TYPE_CURSOR) { > > And this check is redundant, since we only add these listeners in > showThumb(). Nevermind, this was wrong.
Comment 5•11 years ago
|
||
Comment on attachment 729121 [details] [diff] [review] Reorganize SelectionHandler cleanup code paths Review of attachment 729121 [details] [diff] [review]: ----------------------------------------------------------------- ::: mobile/android/chrome/content/SelectionHandler.js @@ +84,3 @@ > } > // fall through > case "Window:Resize": { Yeah, since Tab:Selected and Window:Resize do the same thing, I would just have Tab:Selected fall through and remove the selection type check from Window:Resize.
Attachment #729121 -
Flags: review?(bnicholson) → review+
Assignee | ||
Comment 6•11 years ago
|
||
Comment on attachment 729121 [details] [diff] [review] Reorganize SelectionHandler cleanup code paths Review of attachment 729121 [details] [diff] [review]: ----------------------------------------------------------------- ::: mobile/android/chrome/content/SelectionHandler.js @@ +399,2 @@ > > this._activeType = this.TYPE_NONE; I also just found a problem here. I shouldn't be setting _activeType right before checking if it's TYPE_SELECTION, so I need to move this below the if statement.
Assignee | ||
Comment 7•11 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/c8d7e2709f01
Comment 8•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c8d7e2709f01
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 22
Updated•3 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•