Closed
Bug 1101122
Opened 10 years ago
Closed 10 years ago
Update about:home search styling
Categories
(Firefox :: General, defect)
Firefox
General
Tracking
()
VERIFIED
FIXED
Firefox 36
People
(Reporter: mossop, Assigned: mossop)
References
Details
Attachments
(5 files, 6 obsolete files)
34.65 KB,
patch
|
mossop
:
review+
|
Details | Diff | Splinter Review |
34.11 KB,
patch
|
Felipe
:
review+
|
Details | Diff | Splinter Review |
26.47 KB,
patch
|
Details | Diff | Splinter Review | |
24.38 KB,
patch
|
mossop
:
review+
Gavin
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
1.56 KB,
patch
|
Unfocused
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Comment 1•10 years ago
|
||
Going to need some tinkering once we have the icon but this is functional. Also adds the popup by adding a panel to browser.xul that a message from content makes us open. Using a CPOW is the simplest, can probably clean up with co-ordinate passing later.
Assignee: nobody → dtownsend+bugmail
Status: NEW → ASSIGNED
Attachment #8524911 -
Flags: review?(felipc)
Assignee | ||
Comment 2•10 years ago
|
||
This includes the new icon and is functional. Apparently we want to move the magnifying glass inside the search box though so waiting on mockups for that before I can do anymore. The main code should be reviewable though.
Attachment #8524911 -
Attachment is obsolete: true
Attachment #8524911 -
Flags: review?(felipc)
Attachment #8524950 -
Flags: review?(felipc)
Comment 3•10 years ago
|
||
Comment on attachment 8524911 [details] [diff] [review]
patch
Review of attachment 8524911 [details] [diff] [review]:
-----------------------------------------------------------------
::: browser/base/content/browser.xul
@@ +237,5 @@
> mousethrough="always">
> <box id="UITourHighlight"></box>
> </panel>
>
> + <panel id="abouthome-search-panel" orient="vertical" type="arrow">
cool, I guess it would be nice for me to use this same panel in the about:newtab work and remove the duplicated panel defined there. I'll see about doing this after I finish the other tasks
::: browser/modules/AboutHome.jsm
@@ +207,5 @@
> +
> + case "AboutHome:OpenSearchPanel":
> + let panel = window.document.getElementById("abouthome-search-panel");
> + let anchor = aMessage.objects.anchor;
> + panel.openPopup(anchor);
I think the CPOW won't work in real e10s, because openPopup is not JS-implemented. This should be enough for non-e10s users but I believe not for Nightly.
Attachment #8524911 -
Attachment is obsolete: false
Comment 4•10 years ago
|
||
Comment on attachment 8524911 [details] [diff] [review]
patch
(fixing mid-air)
Attachment #8524911 -
Attachment is obsolete: true
Comment 5•10 years ago
|
||
Comment on attachment 8524950 [details] [diff] [review]
patch
Review of attachment 8524950 [details] [diff] [review]:
-----------------------------------------------------------------
Only question is about the CPOW mentioned in comment 3. Not sure if it's important to handle that now or not.
Attachment #8524950 -
Flags: review?(felipc) → review+
Assignee | ||
Comment 6•10 years ago
|
||
(In reply to :Felipe Gomes from comment #3)
> Comment on attachment 8524911 [details] [diff] [review]
> patch
>
> Review of attachment 8524911 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: browser/base/content/browser.xul
> @@ +237,5 @@
> > mousethrough="always">
> > <box id="UITourHighlight"></box>
> > </panel>
> >
> > + <panel id="abouthome-search-panel" orient="vertical" type="arrow">
>
> cool, I guess it would be nice for me to use this same panel in the
> about:newtab work and remove the duplicated panel defined there. I'll see
> about doing this after I finish the other tasks
Maybe? I don't think it's strictly necessary. Though if we do we should probably rename it.
> ::: browser/modules/AboutHome.jsm
> @@ +207,5 @@
> > +
> > + case "AboutHome:OpenSearchPanel":
> > + let panel = window.document.getElementById("abouthome-search-panel");
> > + let anchor = aMessage.objects.anchor;
> > + panel.openPopup(anchor);
>
> I think the CPOW won't work in real e10s, because openPopup is not
> JS-implemented. This should be enough for non-e10s users but I believe not
> for Nightly.
That is a good point. I'll try to figure out what our other options are.
Assignee | ||
Comment 7•10 years ago
|
||
I've filed bug 1101269 to track being able to anchor a panel to a child element. I don't think we'll get it in time for this though so we may just disable the panel when in e10s.
Assignee | ||
Comment 8•10 years ago
|
||
Updated with the new styling tweaks
Attachment #8524950 -
Attachment is obsolete: true
Attachment #8525545 -
Flags: review+
Assignee | ||
Comment 9•10 years ago
|
||
Fixes the test
Attachment #8525545 -
Attachment is obsolete: true
Attachment #8525547 -
Flags: review+
Updated•10 years ago
|
Group: mozilla-employee-confidential
Assignee | ||
Comment 10•10 years ago
|
||
This updates the patch to just move the icons to the shared directory as they are all the same across platforms.
Attachment #8525547 -
Attachment is obsolete: true
Attachment #8525674 -
Flags: review+
Assignee | ||
Comment 11•10 years ago
|
||
The search settings part of this patch depends on bug 1088660
Depends on: fx34-searchui
Comment 12•10 years ago
|
||
Comment on attachment 8525674 [details] [diff] [review]
patch
Review of attachment 8525674 [details] [diff] [review]:
-----------------------------------------------------------------
::: browser/themes/windows/jar.mn
@@ +40,5 @@
> skin/classic/browser/keyhole-forward-mask.svg
> skin/classic/browser/KUI-background.png
> skin/classic/browser/livemark-folder.png
> + skin/classic/browser/magnifier.png (../shared/magnifier.png)
> + skin/classic/browser/magnifier@2px.png (../shared/magnifier@2px.png)
just remembered that windows' jar.mn has two sections where files have to be listed
Assignee | ||
Comment 13•10 years ago
|
||
Right. Fixed.
Attachment #8525674 -
Attachment is obsolete: true
Attachment #8525693 -
Flags: review+
Comment 14•10 years ago
|
||
Gavin asked to to take a peek at this and other bugs.
Generally looks fine, although similar question as bug 1101147 comment 12 -- any plan to eventually use the new bug 1088660 search UI here? You can't currently change the search engine directly in about:home, but it would seem nice to have consistent UX for performing a search but with a one-off different engine.
Comment 15•10 years ago
|
||
Comment on attachment 8525693 [details] [diff] [review]
beta patch
Review of attachment 8525693 [details] [diff] [review]:
-----------------------------------------------------------------
::: browser/base/content/browser.css
@@ +1222,5 @@
> + -moz-padding-start: 0;
> + -moz-padding-end: 0;
> + padding-top: 0;
> + padding-bottom: 0;
> + background: rgb(248, 250, 251);
Nano nit: the background color here differs slightly from the color of the panel's arrow, at least on OS X.
Assignee | ||
Comment 16•10 years ago
|
||
(In reply to Justin Dolske [:Dolske] from comment #14)
> Gavin asked to to take a peek at this and other bugs.
>
> Generally looks fine, although similar question as bug 1101147 comment 12 --
> any plan to eventually use the new bug 1088660 search UI here? You can't
> currently change the search engine directly in about:home, but it would seem
> nice to have consistent UX for performing a search but with a one-off
> different engine.
This patch does add a way to get to the search poreferences to change the default search engine. I agree though it would be nice to have a way to do one-off searches here.
Comment 17•10 years ago
|
||
Updated•10 years ago
|
status-firefox34:
--- → fixed
status-firefox35:
--- → affected
status-firefox36:
--- → affected
tracking-firefox34:
--- → +
Updated•10 years ago
|
tracking-firefox35:
--- → +
tracking-firefox36:
--- → +
Comment 19•10 years ago
|
||
Comment on attachment 8526480 [details] [diff] [review]
naming fix
This has no functional impact, right? Can we move to a followup (post-34)?
Assignee | ||
Comment 20•10 years ago
|
||
(In reply to :Gavin Sharp [email: gavin@gavinsharp.com] from comment #19)
> Comment on attachment 8526480 [details] [diff] [review]
> naming fix
>
> This has no functional impact, right? Can we move to a followup (post-34)?
It doesn't have to land on 34 no
Assignee | ||
Comment 21•10 years ago
|
||
This patch applies to trunk and everything works in non-e10s windows. The only change was to support in-content prefs, we have to manually hide the popup when it is clicked and the test has to detect a new tab rather than a new window.
This patch also includes the file renames.
Attachment #8526480 -
Attachment is obsolete: true
Attachment #8526480 -
Flags: review?(dolske)
Attachment #8526909 -
Flags: review?(felipc)
Assignee | ||
Updated•10 years ago
|
Attachment #8525693 -
Attachment description: patch → beta patch
Comment 22•10 years ago
|
||
Comment on attachment 8526909 [details] [diff] [review]
trunk patch
Review of attachment 8526909 [details] [diff] [review]:
-----------------------------------------------------------------
::: browser/base/content/test/general/browser_aboutHome.js
@@ +628,5 @@
> + let tab = event.target;
> + yield promiseTabLoadEvent(tab);
> + is(tab.linkedBrowser.currentURI.spec, "about:preferences#search", "Should have seen the prefs tab");
> + gBrowser.removeTab(tab);
> +});
Nice, this will be useful for my test too!
::: browser/modules/AboutHome.jsm
@@ +207,5 @@
> +
> + case "AboutHome:OpenSearchPanel":
> + let panel = window.document.getElementById("abouthome-search-panel");
> + let anchor = aMessage.objects.anchor;
> + panel.openPopup(anchor);
just check if this will simply fail, and not cause a crash in e10s
Attachment #8526909 -
Flags: review?(felipc) → review+
Assignee | ||
Comment 23•10 years ago
|
||
(In reply to :Felipe Gomes (behind on reviews until the end of the week) from comment #22)
> ::: browser/modules/AboutHome.jsm
> @@ +207,5 @@
> > +
> > + case "AboutHome:OpenSearchPanel":
> > + let panel = window.document.getElementById("abouthome-search-panel");
> > + let anchor = aMessage.objects.anchor;
> > + panel.openPopup(anchor);
>
> just check if this will simply fail, and not cause a crash in e10s
Yeah it just does nothing. Not even an error in the console.
Assignee | ||
Comment 24•10 years ago
|
||
Note that the trunk patch does not include the patch from bug 1103163 (might be needed on 35) or the potential patch in bug 1103127
Comment 25•10 years ago
|
||
Notes:
- this is basically your patch from before, with main changes in aboutHome.css and aboutHome.js, plus the attribute setting in browser/base/content/content.js
- Since the css between #searchLogoContainer and #searchIcon is significantly different, instead of using the same element, I kept both in the xhtml file, and hide one and unhide the other depending on the pref.
- I didn't notice any flickering with this approach. I tried both directions and it worked fine. I settled with going with the new UI by default, and replacing it with the old, because _if_ any flickering happens it's slightly better to first see the magnifying glass and then see the engine logo appear, than the opposite.
- I haven't tried the tests yet. I suppose they will work out of the box because we had just removed testcases that were not relevant. Ideally I would want to do the same as I did with newtab: copy the old test file and toggle the pref, so that we can continue testing the old UI too. But I'm not gonna block on that at the moment
Attachment #8527110 -
Flags: review?(dtownsend+bugmail)
Assignee | ||
Comment 26•10 years ago
|
||
Comment on attachment 8527110 [details] [diff] [review]
New patch for beta, flare UI conditioned to the oneOffButtons pref
Review of attachment 8527110 [details] [diff] [review]:
-----------------------------------------------------------------
A couple of comments here, I can take another look when the search bits are done.
::: browser/base/content/abouthome/aboutHome.css
@@ +88,5 @@
> +}
> +
> +#searchIcon[hidden] {
> + display: none;
> +}
So rather than controlling the hidden state programmatically how about something like:
html[searchUIConfiguration="oldsearchui"] #searchIcon {
display: none;
}
html:not([searchUIConfiguration="oldsearchui"]) #searchLogoContainer {
display: none;
}
I think you can get away without the mutation listener for this part then.
::: browser/base/content/abouthome/aboutHome.js
@@ +166,5 @@
> gInitialized = true;
> }
> return;
> + } else if (mutation.attributeName == "searchUIConfiguration") {
> + console.log("mutated!");
Debugging?
@@ +168,5 @@
> return;
> + } else if (mutation.attributeName == "searchUIConfiguration") {
> + console.log("mutated!");
> + let useOldSearchUI =
> + "oldsearchui" == document.documentElement.getAttribute("searchUIConfiguration");
Nit, whitespace at end of line
::: browser/themes/windows/jar.mn
@@ +42,5 @@
> skin/classic/browser/keyhole-forward-mask.svg
> skin/classic/browser/KUI-background.png
> skin/classic/browser/livemark-folder.png
> + skin/classic/browser/magnifier.png (../shared/magnifier.png)
> + skin/classic/browser/magnifier@2px.png (../shared/magnifier@2px.png)
Want to correct the icon name while you're here?
Attachment #8527110 -
Flags: review?(dtownsend+bugmail)
Comment 27•10 years ago
|
||
New patch, using the CSS instead of mutation observer.
The only issue is that to hide the placeholder text, I had to use ::-moz-placeholder, and display:none doesn't seem to work with it, so I had to use color: transparent.
Fixed the other nits and ran the test, it passed.
Attachment #8527119 -
Flags: review?(dtownsend+bugmail)
Assignee | ||
Updated•10 years ago
|
Attachment #8527119 -
Flags: review?(dtownsend+bugmail) → review+
Comment 28•10 years ago
|
||
Comment 29•10 years ago
|
||
Since the search engine logo will be hidden, it would be nice to have a place where the user can see which search engine currently is the default. Perhaps one or more of the following:
(1) #abouthome-search-panel - create a second button with a label such as "Search using <current engine>" which dismisses the panel and focuses the input
(2) tooltip text such as "Search using <current engine>" (Search Bar will use a tooltip)
(3) placeholder text in the input such as "Search using <current engine>"
Comment 30•10 years ago
|
||
Comment on attachment 8527119 [details] [diff] [review]
Patch for beta, flare UI conditioned to the oneOffButtons pref
I wanted to land this patch soon because it contains the fix from bug 1103127. I said I was going to include the fix here in this new patch so we didn't land 1103127 by itself to avoid conflicts.
Attachment #8527119 -
Attachment description: New patch for beta, flare UI conditioned to the oneOffButtons pref → Patch for beta, flare UI conditioned to the oneOffButtons pref
Attachment #8527119 -
Flags: approval-mozilla-beta?
Updated•10 years ago
|
Attachment #8527119 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 31•10 years ago
|
||
Pushed the new version with the switchable UI based on browser.search.showOneOffButtons
It also includes the patch from bug 1103127.
https://hg.mozilla.org/releases/mozilla-beta/rev/ca40bcdc68ae
https://hg.mozilla.org/releases/mozilla-beta/rev/27505b6035ef
Updated•10 years ago
|
QA Contact: petruta.rasa
Comment 32•10 years ago
|
||
The search field in about:home page only contains the magnifier glass with the "Manage Search Engines.." when clicked, the field is empty. Verified using Firefox 34.0 RC build (20141124205320) under Win 7 64-bit, Ubuntu 14.04 32-bit and Mac OSX 10.9.5.
Comment 33•10 years ago
|
||
Comment 34•10 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 37
Updated•10 years ago
|
Target Milestone: Firefox 37 → Firefox 36
Comment 35•10 years ago
|
||
Comment 36•10 years ago
|
||
browser_aboutHome.js exercises this aboutaccounts.js function, and closes the window too quickly before getSignedInUser() resolves, causing window.location to be null and the test failing due to the rejected promise
Attachment #8530473 -
Flags: review?(bmcbride)
Updated•10 years ago
|
Attachment #8530473 -
Flags: review?(bmcbride) → review+
Comment 37•10 years ago
|
||
Comment 38•10 years ago
|
||
Verified 35 and 36 versions - all platforms.
You need to log in
before you can comment on or make changes to this bug.
Description
•