Closed
Bug 960864
Opened 11 years ago
Closed 11 years ago
Placeholder text disappears in SearchBar after customize
Categories
(Firefox :: Search, defect)
Tracking
()
VERIFIED
FIXED
Firefox 29
People
(Reporter: alice0775, Assigned: dao)
References
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
1.88 KB,
patch
|
Gavin
:
review+
|
Details | Diff | Splinter Review |
This problem is reproduced in Firefox27b6 and Aurora28.0a2, Holly29.0a1 and Nightly29.0a1.
Steps To Reproduce:
1. Start Firefox with newly created profile
2. Enter Customize toolbar mode
3. Exit Customize toolbar mode
Actual Results:
Placeholder text disappears in SearchBar
Reporter | ||
Comment 1•11 years ago
|
||
Regression window(fx-team)
Good:
http://hg.mozilla.org/integration/fx-team/rev/18acca8fc681
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 ID:20140109080042
Bad:
http://hg.mozilla.org/integration/fx-team/rev/1c7b312a2a85
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 ID:20140109093219
http://hg.mozilla.org/integration/fx-team/rev/113e065a2803
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 ID:20140109100819
Pushlog:
http://hg.mozilla.org/integration/fx-team/pushloghtml?fromchange=18acca8fc681&tochange=1c7b312a2a85
f3e7fa7d9748 Gavin Sharp — Bug 903274: have the search bar binding's initialization callback bail out if the binding is destroyed, r=MattN
Blocks: 903274
Keywords: regression
Reporter | ||
Comment 2•11 years ago
|
||
Firefox24.2pre also regressed due to Bug 903274 on Jan/11/2014.
http://hg.mozilla.org/releases/mozilla-esr24/rev/0a9219e71d17
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20140116 Firefox/24.0 ID:20140116000501
tracking-firefox-esr24:
--- → ?
Reporter | ||
Updated•11 years ago
|
Component: Toolbars and Customization → Search
OS: Windows 7 → All
Hardware: x86_64 → All
Updated•11 years ago
|
Blocks: fxdesktopbacklog
Whiteboard: [triage] [defect] p=0
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → dao
Assignee | ||
Comment 3•11 years ago
|
||
This makes _destroyed the exact opposite of _addedObserver. I started unifying them, but ended up removing the latter, since bug 722332 made it so that the observer is added directly in the constructor rather than asynchronously.
Attachment #8361624 -
Flags: review?(gavin.sharp)
Updated•11 years ago
|
Comment 4•11 years ago
|
||
We should just back out bug 903274 on early branches, and only take this followup on trunk.
status-firefox-esr24:
--- → affected
Comment 5•11 years ago
|
||
(In reply to Dão Gottwald [:dao] from comment #3)
> since bug 722332 made it so that the observer is added directly in the constructor
> rather than asynchronously.
(https://hg.mozilla.org/mozilla-central/rev/9f3af99c8297 for the record)
Updated•11 years ago
|
Attachment #8361624 -
Flags: review?(gavin.sharp) → review+
Updated•11 years ago
|
Flags: needinfo?(ryanvm)
Comment 6•11 years ago
|
||
Bug 903274 backed out from the release branches.
status-b2g-v1.2:
--- → fixed
Flags: needinfo?(ryanvm)
Assignee | ||
Comment 7•11 years ago
|
||
Comment 8•11 years ago
|
||
(In reply to Dão Gottwald [:dao] from comment #7)
> https://hg.mozilla.org/integration/fx-team/rev/4d2cefab5e0f
This broke all the mochitest-browser-chrome tests that open customize mode, on all platforms, because the constructor's addObserver doesn't get run in customize mode, and your change means the destructor unconditionally tries to call removeObserver, which throws NS_ERROR_FAILURE in this case. Maybe:
- var os = Components.classes["@mozilla.org/observer-service;1"]
- .getService(Components.interfaces.nsIObserverService);
- os.removeObserver(this, "browser-search-engine-modified");
+ if (this.parentNode.parentNode.localName != "toolbarpaletteitem")
+ var os = Components.classes["@mozilla.org/observer-service;1"]
+ .getService(Components.interfaces.nsIObserverService);
+ os.removeObserver(this, "browser-search-engine-modified");
+ }
? Or would you prefer to back out?
(that seems to fix it locally - but locally I'm also seeing leaks, which aren't fixed by that change. I don't know why that is.)
Flags: needinfo?(dao)
Comment 9•11 years ago
|
||
In particular: https://tbpl.mozilla.org/?tree=Fx-Team&rev=f8b4174ffc65 with e.g. https://tbpl.mozilla.org/php/getParsedLog.php?id=33228928 as an example log.
Comment 10•11 years ago
|
||
Flags: needinfo?(dao)
Comment 11•11 years ago
|
||
Is there a better way in Australis for a node to know whether it's being customized rather than actually used? That's what that parentNode check was intended to do. At the very least we should use a more descriptive getter in the searchbar binding rather than calling getAttribute in both the destructor and constructor.
Comment 12•11 years ago
|
||
I don't know if it's related but the search bar is currently broken in customize mode without any text appearing in the palette and with the image half cut.
Comment 13•11 years ago
|
||
(In reply to :Gavin Sharp (email gavin@gavinsharp.com) from comment #11)
> Is there a better way in Australis for a node to know whether it's being
> customized rather than actually used? That's what that parentNode check was
> intended to do. At the very least we should use a more descriptive getter in
> the searchbar binding rather than calling getAttribute in both the
> destructor and constructor.
document.documentElement.getAttribute("customizing") == "true"
is probably the easiest, assuming that's accessible in the destructor. If we're guaranteed to be in a browser window (is this binding used anywhere else?) then (window.) CustomizationHandler.isCustomizing() will also give you what you want.
Assignee | ||
Comment 14•11 years ago
|
||
Attachment #8361624 -
Attachment is obsolete: true
Assignee | ||
Updated•11 years ago
|
Attachment #8363706 -
Flags: review?(gavin.sharp)
Comment 15•11 years ago
|
||
Comment on attachment 8363706 [details] [diff] [review]
patch v2
thanks
Attachment #8363706 -
Flags: review?(gavin.sharp) → review+
Assignee | ||
Comment 16•11 years ago
|
||
Comment 17•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 29
Comment 19•11 years ago
|
||
Verified as fixed on FF 27 beta 9 (build ID: 20140123185438).
Comment 21•11 years ago
|
||
Verified as fixed with the steps from comment 0 (steps I previously reproduced the bug with) on the latest Firefox 28.0a2, Firefox 29.0a1 and Firefox 24.2.0esrpre (January 26th and 27th builds), on Windows 7 64bit, Mac OS X 10.7.5 and Ubuntu 13.04 32bit.
Status: RESOLVED → VERIFIED
Keywords: verifyme
Updated•11 years ago
|
No longer blocks: fxdesktopbacklog
Whiteboard: [triage] [defect] p=0
You need to log in
before you can comment on or make changes to this bug.
Description
•