Closed Bug 1347809 Opened 5 years ago Closed 5 years ago

Twitter's textbox is flicker after posing a Tweet

Categories

(Core :: DOM: Editor, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox52 --- unaffected
firefox-esr52 --- unaffected
firefox53 --- unaffected
firefox54 --- unaffected
firefox55 --- fixed

People

(Reporter: m_kato, Assigned: masayuki)

References

Details

(Keywords: regression)

Attachments

(1 file)

regresion range is 

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=6d38ad302429c98115c354d643e81987ecec5d3c&tochange=9a26ed658fdc1d14c6153451e7e45f6ec94292fb

But I think that this might be regression by bug 1318312.


- Step
1. Open twitter.com
2. Post a Tweet

- Result
tweet textbox is flicker.  height of textbox is always changed.
Summary: Twitter is flicker after posing a Tweet → Twitter's textbox is flicker after posing a Tweet
Assignee: nobody → masayuki
Status: NEW → ASSIGNED
Oh, okay, this is a simple mistake. When we move focus, we keep mCalledByJS true. Therefore, internal selection change causes nested focus move.
Hmm, I tried to write a test to call a method of nsISelection directly.  However, I cannot do that since even with QueryInterface or getting from nsISelectionController, a call of method causes running Selection::*JS() (i.e., defined by Selection.webidl). If somebody knows how to write such test, let me know.

# I'm going to request to review it without test because of a serious regression on major web service.
Ah, nsRange could have same bug. I'll work on it in follow up bug.
Comment on attachment 8848060 [details]
Bug 1347809 Set Selection::mCalledByJS to false before moving focus in NotifySelectionListeners() because non-*JS() methods don't set it to false

https://reviewboard.mozilla.org/r/120974/#review123122

::: commit-message-d57b3:1
(Diff revision 1)
> +Bug 1347809 Unmark selection change is caused by JS before moving focus r?smaug

I don't understand this commit message
Attachment #8848060 - Flags: review?(bugs) → review+
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/cfd64c2b4970
Set Selection::mCalledByJS to false before moving focus in NotifySelectionListeners() because non-*JS() methods don't set it to false r=smaug
https://hg.mozilla.org/mozilla-central/rev/cfd64c2b4970
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
You need to log in before you can comment on or make changes to this bug.