Closed
Bug 626791
Opened 14 years ago
Closed 14 years ago
Add the Panorama button to the toolbar automatically after the user has entered Panorama for the first time
Categories
(Firefox :: Toolbars and Customization, defect, P1)
Firefox
Toolbars and Customization
Tracking
()
VERIFIED
FIXED
Firefox 4.0b12
Tracking | Status | |
---|---|---|
blocking2.0 | --- | final+ |
People
(Reporter: ehsan.akhgari, Assigned: ttaubert)
References
Details
(Whiteboard: [softblocker][pre-approved by beltzner])
Attachments
(1 file, 11 obsolete files)
(deleted),
patch
|
dao
:
review+
|
Details | Diff | Splinter Review |
Spinoff from bug 626500 comment 9.
A WIP patch can be found in attachment 504593 [details] [diff] [review].
Reporter | ||
Updated•14 years ago
|
blocking2.0: --- → ?
Updated•14 years ago
|
OS: Mac OS X → All
Hardware: x86 → All
Assignee | ||
Updated•14 years ago
|
Assignee: nobody → tim.taubert
Status: NEW → ASSIGNED
Version: unspecified → Trunk
Assignee | ||
Comment 2•14 years ago
|
||
Attachment #505573 -
Flags: review?(ian)
Updated•14 years ago
|
Comment 3•14 years ago
|
||
Comment on attachment 505573 [details] [diff] [review]
patch v1
Looks good to me, but it's outside my realm; can you please review, Dao?
Attachment #505573 -
Flags: review?(ian) → review?(dao)
Assignee | ||
Comment 4•14 years ago
|
||
Passed try.
Updated•14 years ago
|
Priority: -- → P1
Updated•14 years ago
|
blocking2.0: ? → final+
Whiteboard: [hardblocker]
Comment 5•14 years ago
|
||
Will this change the position of the panorama button if the user has added it from the toolbar customization palette? If so, I think we probably just want a pref to control if the button is displayed or not.
Slightly more obscure consideration: if every user places the button in a different location, we're going to have some difficulty transitioning them all over to the correct location for the button in Firefox 5 (not that we can't still do that).
Assignee | ||
Comment 6•14 years ago
|
||
(In reply to comment #5)
> Will this change the position of the panorama button if the user has added it
> from the toolbar customization palette? If so, I think we probably just want a
> pref to control if the button is displayed or not.
This button will not be inserted if the button already exists in the target toolbar. We should also check that it does not exist in any other toolbar.
> Slightly more obscure consideration: if every user places the button in a
> different location, we're going to have some difficulty transitioning them all
> over to the correct location for the button in Firefox 5 (not that we can't
> still do that).
We would have to search for the button in every toolbar and remove it if it's there. This should not be too difficult if we decide to do that.
Assignee | ||
Comment 7•14 years ago
|
||
The patch does now check if the toolbar button is already included in any of the available toolbars.
Attachment #505573 -
Attachment is obsolete: true
Attachment #506295 -
Flags: review?(dao)
Attachment #505573 -
Flags: review?(dao)
Assignee | ||
Comment 8•14 years ago
|
||
Passed try (but hit bug 626956).
Comment 9•14 years ago
|
||
Since I can't see any screenshot or description of where the button shows up here: We should make sure it doesn't show up in the same position as the List All Tabs button does right now, to not break people's habits.
In other words, the rightmost (in LTR) button should be List All Tabs at all times. If the Panorama button is added, it should be to the left of List All Tabs.
And I'd like to say that I presonally dislike that we add it automatically — just because a user visits Panorama once to see what it's for, doesn't mean (s)he necessarily want the button there afterwards.
I'd rather we just leave it in the customization palette for the people that want it — or have something you can click in the Panorama screen itself to add the button. But I realize it's probably way too late to do something like that, so let's get this in, and then I can file a follow-up if needed. :)
Comment 10•14 years ago
|
||
(In reply to comment #9)
> And I'd like to say that I presonally dislike that we add it automatically —
> just because a user visits Panorama once to see what it's for, doesn't mean
> (s)he necessarily want the button there afterwards.
More precisely, what I'm worried about is that opening Panorama once doesn't mean you're going to use it (let alone that you want the button on the tab bar). You need to open it before you can even make that decision.
Comment 11•14 years ago
|
||
(In reply to comment #10)
> More precisely, what I'm worried about is that opening Panorama once doesn't
> mean you're going to use it (let alone that you want the button on the tab
> bar). You need to open it before you can even make that decision.
Exactly. It seems to violate the principle of least surprise, and veer into "adaptive UI" territory in a way that makes me uncomfortable.
Comment 12•14 years ago
|
||
>And I'd like to say that I presonally dislike that we add it automatically —
>just because a user visits Panorama once to see what it's for, doesn't mean
>(s)he necessarily want the button there afterwards.
I'm not a big fan of adaptive UI either (at least when it comes to visual targets you hit with the mouse). However, I think this is the best approach, because then we can give the user clear instructions for how to start using panorama (menu command, keyboard shortcut), and the control will likely end up in a consistent position, since we are adding it instead of them.
If the primary path is the user adding the control, every user is going to have the panorama button in a different location. And this location won't line up with support documents and videos, the control to exit panorama, or where the panorama button is going to be placed in future versions of Firefox.
So proactively adding the control is a bit strange, but at least we get to place it in the correct location :)
Comment 13•14 years ago
|
||
>More precisely, what I'm worried about is that opening Panorama once doesn't
>mean you're going to use it (let alone that you want the button on the tab
>bar). You need to open it before you can even make that decision.
Sure, but that also would have been true if we had fully shipped the feature and added the control by default. Also, 72% of users aren't going to access the List All Tabs menu (and even fewer, will accidentally hit accel-shift-e), so Panorama will fly under the radar a bit for our mainstream users.
Comment 14•14 years ago
|
||
Adding Frank Yan, who pointed out that we should only add the button once - if the user removes it, we shouldn't re-add it. Can use the "has Panorama been run at least once" flag to do this, he figures.
Assignee | ||
Comment 15•14 years ago
|
||
(In reply to comment #14)
> Adding Frank Yan, who pointed out that we should only add the button once - if
> the user removes it, we shouldn't re-add it. Can use the "has Panorama been run
> at least once" flag to do this, he figures.
The button is only inserted when panorama is run the first time. So when removed after the first panorama experience it does not get re-added.
So what's the result of all this? Is this patch still going to be considered? If so, should the button be added right or left of the 'List all tabs' button?
Comment 16•14 years ago
|
||
(In reply to comment #14)
> Adding Frank Yan, who pointed out that we should only add the button once - if
> the user removes it, we shouldn't re-add it. Can use the "has Panorama been run
> at least once" flag to do this, he figures.
Just to clarify, the code to insert the toolbar button only when panorama is run for the first time at all, not the first time each browser session. If I understand the code correctly, the patch already does this, which is awesome.
(In reply to comment #15)
> So what's the result of all this? Is this patch still going to be considered?
Yes, we have it as a hard blocker, meaning that we won't ship without it. Thanks for creating a patch. I'll give the patch a non-final feedback review if Dao doesn't get to it first.
> If so, should the button be added right or left of the 'List all tabs' button?
The panorama button should be added to the right of the 'List all tabs' button.
Assignee | ||
Comment 17•14 years ago
|
||
(In reply to comment #16)
> Just to clarify, the code to insert the toolbar button only when panorama is
> run for the first time at all, not the first time each browser session. If I
> understand the code correctly, the patch already does this, which is awesome.
Yep.
> The panorama button should be added to the right of the 'List all tabs' button.
Perfect, the patch does this already.
Comment 18•14 years ago
|
||
(In reply to comment #11)
> (In reply to comment #10)
> > More precisely, what I'm worried about is that opening Panorama once doesn't
> > mean you're going to use it (let alone that you want the button on the tab
> > bar). You need to open it before you can even make that decision.
>
> Exactly. It seems to violate the principle of least surprise, and veer into
> "adaptive UI" territory in a way that makes me uncomfortable.
Perhaps a better heuristic would be to add the button when you've created an orphan tab or a new tab group, not just gone into Panorama. That way, people who look at "tab groups" and it looks scary and close it, will not get the button.
Comment 19•14 years ago
|
||
(In reply to comment #18)
(In reply to comment #9)
> I'd rather we just leave it in the customization palette for the people that
> want it — or have something you can click in the Panorama screen itself to add
> the button.
I actually concur with Limi; I was just making sure that, if we stick with the current approach of automatically adding in the toolbar button, we do it right.
Comment 20•14 years ago
|
||
>Perhaps a better heuristic would be to add the button when you've created an
>orphan tab or a new tab group, not just gone into Panorama. That way, people
>who look at "tab groups" and it looks scary and close it, will not get the
>button.
yeah, I think that is probably the best heuristic. Also, it makes sense in that the icon itself is an indicator of groups (so the first time it shows up it also indicates groups).
Comment 21•14 years ago
|
||
>The panorama button should be added to the right of the 'List all tabs' button.
What Frank means to say here is that it should be to the left of the list all tabs button :) considerations:
-we don't want list all tabs moving position (right most item, no longer rightmost item)
-if this is viewed as a combo button (it kind of is), then the arrow needs to be on the right side of the main control, which in this case is the panorama button
Comment 22•14 years ago
|
||
The logical place is right of "List all tabs", as "List all tabs" correlates with the current set of tabs to its left, whereas the panorama button is the "zoom out" control.
Comment 23•14 years ago
|
||
They both technically mean "all", so that doesn't really help to differentiate which one should be on the outside more than the other. But with the first item in list all tabs the same as the panorama button (tab groups), it seems like the standard [main command] + [quick options including main command] makes sense.
Comment 24•14 years ago
|
||
(In reply to comment #21)
> >The panorama button should be added to the right of the 'List all tabs' button.
>
> What Frank means to say here is that it should be to the left of the list all
> tabs button :)
I meant what I said, because as long as the panorama button in tab view is aligned to the right edge of the window, so the toolbar button should be there too. Ideally, the panorama button should not appear to move when toggling tab view. (It still moves a few pixels, depending on the platform and configuration.) Given the current behavior of the buttons, I also concur with Dao's comment 22.
Comment 25•14 years ago
|
||
Ah, I'm usually maximized on windows, so I've got the control moving so far right now that I hadn't considered that part.
Comment 26•14 years ago
|
||
(In reply to comment #25)
> Ah, I'm usually maximized on windows, so I've got the control moving so far
> right now that I hadn't considered that part.
Yeah, we should keep the control from moving. :|
Not easy to do that when it's in the titlebar though.
I could file a bug for that, if one isn't filed already.
Comment 27•14 years ago
|
||
Is there a bug to make the control and icon like the screenshot here instead of just a toolbar icon or is that still future work? http://www.stephenhorlander.com/images/blog-posts/incontent-ui/win7-tabcandy-glass.jpg
Comment 28•14 years ago
|
||
(In reply to comment #27)
> Is there a bug to make the control and icon like the screenshot here instead of
> just a toolbar icon or is that still future work?
> http://www.stephenhorlander.com/images/blog-posts/incontent-ui/win7-tabcandy-glass.jpg
Once Panorama is a bit less experimental, we'll re-evaluate how central it'll be in the UI. Right now, our main concern is to make sure it's not something you'll accidentally activate, since it has the possibility of (perceived) data loss to the user.
Comment 29•14 years ago
|
||
Comment on attachment 506295 [details] [diff] [review]
patch v2
I think there was consensus that we want a better heuristic.
Attachment #506295 -
Flags: review?(dao) → review-
Comment 30•14 years ago
|
||
Based on other UX comments, I'm moving this to a soft blocker. I still think we should do it, and I agree that if the user enters & exits, we shouldn't add the UI. If they do anything, then it should be added (just the once).
Yes, this is somewhat adaptive UI, but I also think that due to the reliance of Panorama on being quickly activated by the button, it makes sense.
Whiteboard: [hardblocker] → [softblocker]
Comment 31•14 years ago
|
||
We should put the Panorama button in the UI if the user:
* Named a group
* Created a group
(based on discussion in the UX meeting)
Comment 32•14 years ago
|
||
(In reply to comment #31)
> We should put the Panorama button in the UI if the user:
>
> * Named a group
> * Created a group
It would also make sense to run when the user creates an orphan, as this is functionally equivalent to creating a group, i.e., the user is using Panorama and there's then a potential for tabs being hidden.
Assignee | ||
Comment 33•14 years ago
|
||
(In reply to comment #32)
> (In reply to comment #31)
> > We should put the Panorama button in the UI if the user:
> >
> > * Named a group
> > * Created a group
>
> It would also make sense to run when the user creates an orphan, as this is
> functionally equivalent to creating a group, i.e., the user is using Panorama
> and there's then a potential for tabs being hidden.
This patch has the following behavior:
* When creating a group, add the button.
* When naming a group, add the button.
* When dragging a tab out of a group and creating an orphan, add the button.
* When adding the button, store a pref so that the button is not re-added when explicitly removed by the user.
A test is attached to ensure that everything works as intended.
Attachment #506295 -
Attachment is obsolete: true
Attachment #508660 -
Flags: review?(dao)
Assignee | ||
Updated•14 years ago
|
Attachment #508660 -
Flags: review?(ian)
Assignee | ||
Comment 34•14 years ago
|
||
Test corrected.
Attachment #508660 -
Attachment is obsolete: true
Attachment #508757 -
Flags: review?(dao)
Attachment #508660 -
Flags: review?(ian)
Attachment #508660 -
Flags: review?(dao)
Assignee | ||
Updated•14 years ago
|
Attachment #508757 -
Flags: review?(ian)
Assignee | ||
Comment 35•14 years ago
|
||
(In reply to comment #34)
> Created attachment 508757 [details] [diff] [review]
> patch v4
Passed try.
Comment 36•14 years ago
|
||
Comment on attachment 508757 [details] [diff] [review]
patch v4
Looking good so far from the Panorama side (I don't know that much about tool bars). Comments:
* It's also possible to create a group by dropping a tab onto an orphan tab; please cover that case as well.
>+ addToolbarButton: function UI_addToolbarButton() {
>+ let buttonId = "tabview-button";
>+ if (this._toolbarButtonExists(buttonId))
>+ return;
>+
>+ if (gPrefBranch.prefHasUserValue("toolbar_button_added") &&
>+ gPrefBranch.getBoolPref("toolbar_button_added"))
>+ return;
I think the logic should instead be to check the pref (which you then cache), and then check the tool bar if appropriate. Then set the pref regardless of whether you added the button or it was already there.
Attachment #508757 -
Flags: review?(ian) → review-
Assignee | ||
Comment 37•14 years ago
|
||
(In reply to comment #36)
> * It's also possible to create a group by dropping a tab onto an orphan tab;
> please cover that case as well.
I already implemented that an removed it because the precondition is that we have an orphan tab. That is covered, right? By talking about that I realize that I forgot to cover the case when creating an orphan via double click on the background.
> I think the logic should instead be to check the pref (which you then cache),
> and then check the tool bar if appropriate. Then set the pref regardless of
> whether you added the button or it was already there.
Yeah, that's better.
Comment 38•14 years ago
|
||
> Comment on attachment 508757 [details] [diff] [review]
> patch v4
> >+ if (gPrefBranch.prefHasUserValue("toolbar_button_added") &&
> >+ gPrefBranch.getBoolPref("toolbar_button_added"))
> >+ return;
Perhaps this pref should just be called "used_panorama" or somesuch, and also be used in bug 626525?
Comment 39•14 years ago
|
||
(In reply to comment #37)
> > * It's also possible to create a group by dropping a tab onto an orphan tab;
> > please cover that case as well.
>
> I already implemented that an removed it because the precondition is that we
> have an orphan tab. That is covered, right? By talking about that I realize
> that I forgot to cover the case when creating an orphan via double click on the
> background.
Good points, both! Do that then. :)
Comment 40•14 years ago
|
||
(In reply to comment #38)
> > Comment on attachment 508757 [details] [diff] [review]
> > patch v4
> > >+ if (gPrefBranch.prefHasUserValue("toolbar_button_added") &&
> > >+ gPrefBranch.getBoolPref("toolbar_button_added"))
> > >+ return;
>
> Perhaps this pref should just be called "used_panorama" or somesuch, and also
> be used in bug 626525?
Yes. If experienced_first_run isn't used for anything else, we can just keep using this.
Comment 41•14 years ago
|
||
(In reply to comment #40)
> Yes. If experienced_first_run isn't used for anything else, we can just keep
> using this.
experienced_first_run is used for something else; it keeps track of whether we need to run the reset() code to create the initial group on startup. The new pref for this bug would have to be based on the heuristic from comment 33.
Tim, I think the ball's in your court, yes?
Comment 42•14 years ago
|
||
> experienced_first_run is used for something else; it keeps track of whether we
> need to run the reset() code to create the initial group on startup.
Why would you need to treat a startup for a user having opened panorama once without doing anything differently from a startup for a user not having opened panorama?
Assignee | ||
Comment 43•14 years ago
|
||
Changes:
1.) The pref is now called "experienced_first_use".
2.) Handling now the case of orphans being created with double-click on the background.
3.)
> I think the logic should instead be to check the pref (which you then cache),
> and then check the tool bar if appropriate. Then set the pref regardless of
> whether you added the button or it was already there.
Fixed.
> Why would you need to treat a startup for a user having opened panorama once
> without doing anything differently from a startup for a user not having opened
> panorama?
In fact we don't need it at the moment because when there is no group information we create a default group anyway (regardless of whether panorama is launched for the first time). We need this again when bug 626926 is hopefully fixed for Firefox.Next.
Attachment #508757 -
Attachment is obsolete: true
Attachment #511013 -
Flags: review?(dao)
Attachment #508757 -
Flags: review?(dao)
Assignee | ||
Updated•14 years ago
|
Attachment #511013 -
Flags: review?(ian)
Comment 44•14 years ago
|
||
(In reply to comment #43)
> In fact we don't need it at the moment because when there is no group
> information we create a default group anyway (regardless of whether panorama is
> launched for the first time). We need this again when bug 626926 is hopefully
> fixed for Firefox.Next.
Sounds like this should be handled in that bug, then.
Comment 45•14 years ago
|
||
Comment on attachment 511013 [details] [diff] [review]
patch v5
What ever the pref is called, we should use the same pref for this and the changes from bug 626525. This patch doesn't seem to do that.
Attachment #511013 -
Flags: review?(dao) → review-
Comment 46•14 years ago
|
||
(In reply to comment #45)
> Comment on attachment 511013 [details] [diff] [review]
> patch v5
>
> What ever the pref is called, we should use the same pref for this and the
> changes from bug 626525. This patch doesn't seem to do that.
+1. Please fix this first. I would opt to change all instances of first_run, in its usage for bug 626525, to be called first_use.
If first_run isn't going to be used at all for fx4, as is the plan, then we should just remove the code which sets its pref for the time being. We could reintroduce it in the future in bug 626926.
Assignee | ||
Comment 48•14 years ago
|
||
Attachment #511013 -
Attachment is obsolete: true
Attachment #511879 -
Flags: review?(dao)
Attachment #511013 -
Flags: review?(ian)
Comment 49•14 years ago
|
||
Comment on attachment 511879 [details] [diff] [review]
patch v6
>+ _addToolbarButton: function TabView__addToolbarButton() {
>+ let buttonId = "tabview-button";
>+
>+ if (this._toolbarButtonExists(buttonId))
>+ return;
>+ // ----------
>+ // Function: _toolbarButtonExists
>+ // Check if the panorama toolbar button is currently included in any of the
>+ // available toolbars.
>+ _toolbarButtonExists: function TabView__toolbarButtonExists(buttonId) {
>+ let toolbars = document.getElementsByTagName("toolbar");
>+
>+ for (let i=0; i<toolbars.length; i++) {
>+ let currentSet = toolbars[i].currentSet.split(",");
>+ if (-1 < currentSet.indexOf(buttonId)) {
>+ return true;
>+ }
>+ }
>+
>+ return false;
> }
This can be simplified to:
if (document.getElementById(buttonId)
return;
>+ try {
>+ let toolbar = document.getElementById("TabsToolbar");
>+ let currentSet = toolbar.currentSet.split(",");
>+
>+ currentSet.splice(-1, 0, buttonId);
This seems to assume that the currentset equals the defaultset, but that's a bogus assumption, which means that -1 as a fixed insertion point will lead to random results.
>+ toolbar.setAttribute("currentset", currentSet.join(","));
>+ toolbar.currentSet = currentSet.join(",");
>+ document.persist(toolbar.id, "currentset");
>+ BrowserToolboxCustomizeDone(true);
Calling BrowserToolboxCustomizeDone without BrowserCustomizeToolbar having been called can break stuff.
>+ }
>+ catch (e) {}
Why would this throw? Don't try/catch arbitrarily.
Attachment #511879 -
Flags: review?(dao) → review-
Assignee | ||
Comment 50•14 years ago
|
||
(In reply to comment #49)
> >+ try {
> >+ let toolbar = document.getElementById("TabsToolbar");
> >+ let currentSet = toolbar.currentSet.split(",");
> >+
> >+ currentSet.splice(-1, 0, buttonId);
>
> This seems to assume that the currentset equals the defaultset, but that's a
> bogus assumption, which means that -1 as a fixed insertion point will lead to
> random results.
You mean because we want the panorama button right of the alltabs button? I thought we want the panorama button at roughly the same place when panorama is opened (comment #24)? So that would be at the right-most (LTR) / left-most (RTL) position?
Comment 51•14 years ago
|
||
(In reply to comment #50)
> I thought we want the panorama button at roughly the same place when panorama is
> opened (comment #24)?
-1 won't necessarily do that, depending on what the last element in the currentset is. But then the idea of keeping the icon in the same spot when opening panorama is broken anyway...
The simplest approach is probably to just move it next to the all-tabs button, and do nothing if the all-tabs button isn't in the currentset.
Assignee | ||
Comment 52•14 years ago
|
||
(In reply to comment #51)
> The simplest approach is probably to just move it next to the all-tabs button,
> and do nothing if the all-tabs button isn't in the currentset.
Ok, will do that. Thanks!
Assignee | ||
Comment 53•14 years ago
|
||
(In reply to comment #49)
> This can be simplified to:
>
> if (document.getElementById(buttonId)
> return;
OMG, this is so obvious, sorry :) Fixed.
> This seems to assume that the currentset equals the defaultset, but that's a
> bogus assumption, which means that -1 as a fixed insertion point will lead to
> random results.
Fixed.
> Calling BrowserToolboxCustomizeDone without BrowserCustomizeToolbar having been
> called can break stuff.
Fixed.
> >+ }
> >+ catch (e) {}
>
> Why would this throw? Don't try/catch arbitrarily.
You're right. I copied that from some MDC snippet - removed.
Attachment #511879 -
Attachment is obsolete: true
Attachment #511940 -
Flags: review?(dao)
Comment 54•14 years ago
|
||
Comment on attachment 511940 [details] [diff] [review]
patch v7
>+ if (-1 === alltabsPos)
==
>+ BrowserCustomizeToolbar().close();
Um. This is awful, you can't do that.
Attachment #511940 -
Flags: review?(dao) → review-
Assignee | ||
Comment 55•14 years ago
|
||
(In reply to comment #54)
> >+ BrowserCustomizeToolbar().close();
>
> Um. This is awful, you can't do that.
Do you just want me to remove that call to BrowserToolboxCustomizeDone()? Seems to work fine without it. If that's really not needed we should correct the example I used to write this patch:
https://developer.mozilla.org/en/Code_snippets/Toolbar#Example
Attachment #511940 -
Attachment is obsolete: true
Attachment #511963 -
Flags: review?(dao)
Assignee | ||
Comment 56•14 years ago
|
||
Comment on attachment 511963 [details] [diff] [review]
patch v8
Passed try: http://tbpl.mozilla.org/?tree=MozillaTry&pusher=tim.taubert@gmx.de&rev=2f497d6b048a
Comment 57•14 years ago
|
||
If this passes reviews, it has a=beltzner
Whiteboard: [softblocker] → [softblocker][pre-approved by beltzner]
Comment 58•14 years ago
|
||
Comment on attachment 511963 [details] [diff] [review]
patch v8
>+ /* DISABLED BY BUG 626754. To be reenabled via bug 626926.
> if (firstTime) {
> gPrefBranch.setBoolPref("experienced_first_run", true);
> // ensure that the first run pref is flushed to the file, in case a crash
> // or force quit happens before the pref gets flushed automatically.
> Services.prefs.savePrefFile(null);
>
>- /* DISABLED BY BUG 626754. To be reenabled via bug 626926.
> let url = gPrefBranch.getCharPref("welcome_url");
> let newTab = gBrowser.loadOneTab(url, {inBackground: true});
> let newTabItem = newTab._tabViewTabItem;
> let parent = newTabItem.parent;
> Utils.assert(parent, "should have a parent");
>
> newTabItem.parent.remove(newTabItem);
> let aspect = TabItems.tabHeight / TabItems.tabWidth;
> let welcomeBounds = new Rect(UI.rtl ? pageBounds.left : box.right, box.top,
> welcomeWidth, welcomeWidth * aspect);
> newTabItem.setBounds(welcomeBounds, true);
>
> // Remove the newly created welcome-tab from the tab bar
> if (!this.isTabViewVisible())
> GroupItems._updateTabBar();
>- */
>- }
>+ }*/
Please remove this whole block and this method's unused firstTime parameter.
Assignee | ||
Comment 59•14 years ago
|
||
(In reply to comment #58)
> Please remove this whole block and this method's unused firstTime parameter.
Removed.
Attachment #511963 -
Attachment is obsolete: true
Attachment #512741 -
Flags: review?(dao)
Attachment #511963 -
Flags: review?(dao)
Comment 60•14 years ago
|
||
Comment on attachment 512741 [details] [diff] [review]
patch v9
>+ currentSet.splice(alltabsPos + 1, 0, buttonId);
I think I'd prefer this:
currentSet[alltabsPos] += "," + buttonId;
>+ toolbar.setAttribute("currentset", currentSet.join(","));
>+ toolbar.currentSet = currentSet.join(",");
You're joining twice, just do currentSet = currentSet.join(",") once.
> XPCOMUtils.defineLazyGetter(this, "gWindow", function() {
> return window.parent;
> });
>
> XPCOMUtils.defineLazyGetter(this, "gBrowser", function() gWindow.gBrowser);
>
>+XPCOMUtils.defineLazyGetter(this, "gTabView", function() {
>+ return window.parent.TabView;
>+});
>+
> XPCOMUtils.defineLazyGetter(this, "gTabViewDeck", function() {
> return gWindow.document.getElementById("tab-view-deck");
> });
>
> XPCOMUtils.defineLazyGetter(this, "gTabViewFrame", function() {
> return gWindow.document.getElementById("tab-view");
> });
This stuff is cheap, so you can just do it this way:
var gWindow = window.parent;
var gBrowser = gWindow.gBrowser;
var gTabView = gWindow.TabView;
var gTabViewDeck = gWindow.document.getElementById("tab-view-deck");
var gTabViewFrame = gWindow.document.getElementById("tab-view");
>- reset: function UI_reset(firstTime) {
>+ reset: function UI_reset() {
There's still one call to this method with the argument passed in. Please drop it there as well.
Attachment #512741 -
Flags: review?(dao) → review+
Assignee | ||
Comment 61•14 years ago
|
||
(In reply to comment #60)
> >+ currentSet.splice(alltabsPos + 1, 0, buttonId);
>
> I think I'd prefer this:
>
> currentSet[alltabsPos] += "," + buttonId;
Fixed.
> >+ toolbar.setAttribute("currentset", currentSet.join(","));
> >+ toolbar.currentSet = currentSet.join(",");
>
> You're joining twice, just do currentSet = currentSet.join(",") once.
Fixed.
> > XPCOMUtils.defineLazyGetter(this, "gWindow", function() {
> > return window.parent;
> > });
>
> This stuff is cheap, so you can just do it this way:
>
> var gWindow = window.parent;
Fixed.
> >- reset: function UI_reset(firstTime) {
> >+ reset: function UI_reset() {
>
> There's still one call to this method with the argument passed in. Please drop
> it there as well.
Oops.
Sent to try again:
http://tbpl.mozilla.org/?tree=MozillaTry&pusher=tim.taubert@gmx.de&rev=ae3c2af38a8c
Attachment #512741 -
Attachment is obsolete: true
Comment 62•14 years ago
|
||
Comment on attachment 512801 [details] [diff] [review]
patch for checkin
this doesn't set the currentset attribute anymore
Attachment #512801 -
Flags: review-
Assignee | ||
Comment 63•14 years ago
|
||
(In reply to comment #62)
> this doesn't set the currentset attribute anymore
Sorry, I misunderstood you.
Attachment #512801 -
Attachment is obsolete: true
Attachment #512807 -
Flags: review?(dao)
Comment 64•14 years ago
|
||
Comment on attachment 512807 [details] [diff] [review]
patch for checkin
>+ toolbar.currentSet = currentSet.join(",");
>+ toolbar.setAttribute("currentset", toolbar.currentSet);
The toolbar.currentSet getter is expensive. You should do currentSet = currentSet.join(",").
Attachment #512807 -
Flags: review?(dao) → review-
Assignee | ||
Comment 65•14 years ago
|
||
(In reply to comment #64)
> The toolbar.currentSet getter is expensive. You should do currentSet =
> currentSet.join(",").
Sorry :/
Attachment #512807 -
Attachment is obsolete: true
Attachment #512810 -
Flags: review?(dao)
Updated•14 years ago
|
Attachment #512810 -
Flags: review?(dao) → review+
Assignee | ||
Comment 66•14 years ago
|
||
Passed try with some intermittent oranges:
http://tbpl.mozilla.org/?tree=MozillaTry&pusher=tim.taubert@gmx.de&rev=ae3c2af38a8c
Keywords: checkin-needed
Comment 67•14 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Flags: in-testsuite+
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 4.0b12
Comment 68•14 years ago
|
||
Not seeing this behavior with today's Minefield nightly.
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b12pre) Gecko/20110217 Firefox/4.0b12pre
New profile, hitting CMD-Shift-E twice, expected to see the toolbar button added but did not.
Assignee | ||
Comment 69•14 years ago
|
||
(In reply to comment #68)
> Not seeing this behavior with today's Minefield nightly.
You'll need to wait a little bit as this just landed about 5 hours ago.
> New profile, hitting CMD-Shift-E twice, expected to see the toolbar button
> added but did not.
This will not add the button to the toolbar. Please use the behavior as described in comment #33 and comment #36.
Comment 70•14 years ago
|
||
(In reply to comment #69)
> (In reply to comment #68)
> > Not seeing this behavior with today's Minefield nightly.
>
> You'll need to wait a little bit as this just landed about 5 hours ago.
>
> > New profile, hitting CMD-Shift-E twice, expected to see the toolbar button
> > added but did not.
>
> This will not add the button to the toolbar. Please use the behavior as
> described in comment #33 and comment #36.
Seeing this behaviour in the nightly now, was misled from simply the bug title.
Comment 71•14 years ago
|
||
We probably should have test(s) in Litmus to cover the scenarios indicated in comment 33 and 36. We should also create a Mozmill test for this. Tracy, can you add the Litmus test(s) and add rows to the Mozmill spreadsheet for any tests you add? Thanks.
Flags: in-litmus?(twalker)
Comment 72•14 years ago
|
||
Mozilla/5.0 (X11; Linux i686; rv:2.0b12pre) Gecko/20110220 Firefox/4.0b12pre
Verified issue with latest trunk.
Status: RESOLVED → VERIFIED
Comment 73•14 years ago
|
||
After offline discussion with Tracy, we've identified that the existing Litmus tests cover this sufficiently; it doesn't need its own testcase.
Flags: in-litmus?(twalker) → in-litmus-
You need to log in
before you can comment on or make changes to this bug.
Description
•