Closed Bug 1150780 Opened 9 years ago Closed 9 years ago

Rule view editors regression when deleting all contents in value and pressing enter

Categories

(DevTools :: Inspector, defect, P1)

defect

Tracking

(firefox40 verified)

VERIFIED FIXED
Firefox 40
Tracking Status
firefox40 --- verified

People

(Reporter: bgrins, Assigned: bgrins)

References

Details

(Keywords: regression, Whiteboard: [polish-backlog][difficulty=medium][bugday-20150805])

Attachments

(2 files, 1 obsolete file)

Open any page (in this case http://bgrins.github.io/devtools-demos/inspector/positions.html)
Open inspector
Select the "#F3F3F3 none repeat scroll 0% 0%" string next to 'background'
Delete all the contents
Press Enter

Something very weird happens: the rule is deleted but then a new editor is opened in front of the 'padding' rule that has 'padding'.  Pressing enter again causes things to get in a very bad state.
I could have sworn this worked more recently, but I've confirmed even in 36 that the bug is happening
Narrowed nightly regression window from [2014-01-16, 2014-01-18] (2 days) to [2014-01-17, 2014-01-18] (1 days) (~0 steps left)

Last good revision: 9bcc52594322
First bad revision: 298f262f21ff

Pushlog:

http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=9bcc52594322&tochange=298f262f21ff
That was a bad regression window - here is the right one: [2014-01-21, 2014-01-22]

http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=1b52aa569ced&tochange=8f4ecbf938cd

Just scanning those commits it must have been Bug 913630
Blocks: 913630
Whiteboard: [devedition-40]
Whiteboard: [devedition-40] → [devedition-40][difficulty=medium]
Setting devedition-40 bugs to p3, filter on FB20EAC4-3FC3-48D9-B15F-0587C3987C25
Priority: -- → P3
Priority: P3 → P1
After investigating a bit, it looks like a second inplace editor is being created at the call to editClosestTextProperty.
Attached patch inplace-editor-multi-init.patch (obsolete) — Splinter Review
I think this will do the trick
Assignee: nobody → bgrinstead
Status: NEW → ASSIGNED
Don't create a second inplace editor if there is already one active on the element.  What happens is rule-view is calling nextProp.editor.nameSpan.click() (after a tick), but the inplace-editor is doing it's own moveFocus that was activating the editor before the click.  Then the click would create a second inplace editor and wreak havoc on the rule view frontend.

Pushed to try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=0afbb0f0b1c5
Attachment #8595025 - Attachment is obsolete: true
Comment on attachment 8595384 [details] [diff] [review]
inplace-editor-multi-init.patch

Forgot the flag - see Comment 7
Attachment #8595384 - Flags: review?(pbrosset)
Comment on attachment 8595384 [details] [diff] [review]
inplace-editor-multi-init.patch

Review of attachment 8595384 [details] [diff] [review]:
-----------------------------------------------------------------

It's probably worth also adding a new test in devtools/styleinspector/test along the lines of the STR in this bug.
Attachment #8595384 - Flags: review?(pbrosset) → review+
Adds a rule view test case, and also gets rid of CPOW usage and reorganizes the two other ruleview_edit-property tests a bit.

Try push with both patches: https://treeherder.mozilla.org/#/jobs?repo=try&revision=1a96f1191481
Attachment #8597774 - Flags: review?(pbrosset)
Comment on attachment 8597774 [details] [diff] [review]
ruleview-editor-tests.patch

Review of attachment 8597774 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks for adding the new test and cleaning up the 2 other ones.
Attachment #8597774 - Flags: review?(pbrosset) → review+
remote:   https://hg.mozilla.org/integration/fx-team/rev/07fc39863e51
remote:   https://hg.mozilla.org/integration/fx-team/rev/cfa861300f6c
Whiteboard: [devedition-40][difficulty=medium] → [fixed-in-fx-team][devedition-40][difficulty=medium]
https://hg.mozilla.org/mozilla-central/rev/07fc39863e51
https://hg.mozilla.org/mozilla-central/rev/cfa861300f6c
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team][devedition-40][difficulty=medium] → [devedition-40][difficulty=medium]
Target Milestone: --- → Firefox 40
QA Whiteboard: [good first verify]
Whiteboard: [devedition-40][difficulty=medium] → [polish-backlog][difficulty=medium]
Successfully reproduce this bug on Firefox nightly 40.0a1 (2015-04-02)(20150402030207) as comment "0" on windows 7 64 bit

I found this bug fixed on latest Firefox aurora 41.0a2 (2015-08-05)

Build ID   : (20150805004014)
User Agent : Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:41.0) Gecko/20100101 Firefox/41.0
QA Whiteboard: [good first verify] → [good first verify] [bugday-20150805]
Reproduced with Nightly 40.0a1 (2015-04-02) (Build ID: 20150402030207) on Linux x64 by following comment 0's instruction!

This Bug is now verified as fixed on Latest Firefox Beta 40.0b9

Build ID: 20150804131237
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0
Whiteboard: [polish-backlog][difficulty=medium] → [polish-backlog][difficulty=medium][bugday-20150805]
It's verified on windows and Linux as (comment 14) and (comment 15)
Status: RESOLVED → VERIFIED
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: