Closed Bug 405774 Opened 17 years ago Closed 17 years ago

Using the Arrows to navigate 'Back' - folder does not follow along

Categories

(Firefox :: Bookmarks & History, defect, P3)

x86
Other
defect

Tracking

()

VERIFIED FIXED
Firefox 3 beta3

People

(Reporter: jmjjeffery, Assigned: asaf)

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b2pre) Gecko/2007112802 Minefield/3.0b2pre Firefox/3.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b2pre) Gecko/2007112802 Minefield/3.0b2pre Firefox/3.0

1. Open the Organizer (Show all Bookmarks)
2. Click any Folder in the left pane
3. Click the Green 'Back Arrow'
4. Note that the info in the right panel goes 'back' to the previous folder but the highlighted folder in the left pane does not follow along.



Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Actual Results:  
Highlighted Folder does not follow the back/forward command to match with contents in the right-pane. 

Expected Results:  
Highlighted Folder should follow the back/forward command to match with contents in the right-pane. 

Also if you have a mouse with forward/back buttons, they are ignored and do not function. 

Vista HP 
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b2pre) Gecko/2007112802 Minefield/3.0b2pre Firefox/3.0 ID:2007112802
Flags: blocking-firefox3?
Version: unspecified → Trunk
It was also noted in the MZ Builds Forum, that this does not work in an 1119 build either (before new Places Organizer) 
confirmed with Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b2pre) Gecko/2007112805
Severity: major → normal
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Windows Vista → All
Assignee: nobody → mano
Flags: blocking-firefox3? → blocking-firefox3+
Priority: -- → P3
Target Milestone: --- → Firefox 3 M11
Attached patch patchSplinter Review
Attachment #292332 - Flags: review?(dietrich)
Comment on attachment 292332 [details] [diff] [review]
patch



>-            // If the specified child could not be located, just select the first
>-            // item in the list. 
>-            if (this.view.rowCount)
>-              this.view.selection.select(0);
>+            // If the specified child could not be located, clear the selection
>+            var selection = this.view.selection;
>+            selection.clearSelection();
>           }

does this break how the organizer selects the first row by default when opened? do we care now that the default view is no longer a folder's contents?

>Index: browser/components/places/content/places.js
>===================================================================
>RCS file: /cvsroot/mozilla/browser/components/places/content/places.js,v
>retrieving revision 1.116
>diff -u -p -8 -r1.116 places.js
>--- browser/components/places/content/places.js	2 Dec 2007 20:08:24 -0000	1.116
>+++ browser/components/places/content/places.js	9 Dec 2007 21:32:07 -0000
>@@ -59,16 +59,19 @@ var PlacesOrganizer = {
>     this._content = document.getElementById("placeContent");
>     this._initFolderTree();
> 
>     var leftPaneSelection = "AllBookmarks"; // default to all-bookmarks
>     if ("arguments" in window && window.arguments.length > 0)
>       leftPaneSelection = window.arguments[0];
> 
>     this.selectLeftPaneQuery(leftPaneSelection);
>+    // clear the back-stack
>+    this._backHistory.splice(0);
>+    document.getElementById("OrganizerCommand:Back").setAttribute("disabled", true);

why? if the organizer is already open, navigating back seems a valid action.


>   forward: function PO_forward() {
>+    this._backHistory.unshift(this.location);
>     var historyEntry = this._forwardHistory.shift();
>+    this._location = null;
>     this.location = historyEntry;
>   },

why this change? from looking at the location setter, seems that you could remove both of these changes and the code would function the same. i must be missing something.

> 
>   /**
>    * Called when a place folder is selected in the left pane.
>    * @param   resetSearchBox
>    *          true if the search box should also be reset, false if it should
>    *          be left alone.
>    */
>   onPlaceSelected: function PO_onPlaceSelected(resetSearchBox) {
>+    // Don't change the right-hand pane contents when there's no selection
>     if (!this._places.hasSelection)
>       return;
> 
>-    var node = asQuery(this._places.selectedNode);
>-
>-    var queries = node.getQueries({});
>+    var node = this._places.selectedNode;
>+    var queries = asQuery(node).getQueries({});
> 

nit: can you remove the whitespace in the previous couple of empty lines while you're here
(In reply to comment #4)
> (From update of attachment 292332 [details] [diff] [review])
> 
> 
> >-            // If the specified child could not be located, just select the first
> >-            // item in the list. 
> >-            if (this.view.rowCount)
> >-              this.view.selection.select(0);
> >+            // If the specified child could not be located, clear the selection
> >+            var selection = this.view.selection;
> >+            selection.clearSelection();
> >           }
> 
> does this break how the organizer selects the first row by default when opened?
> do we care now that the default view is no longer a folder's contents?
> 

which first row is selected by default? selectPlaceURI is not called for the left pane AFAICT.

> >Index: browser/components/places/content/places.js
> >===================================================================
> >RCS file: /cvsroot/mozilla/browser/components/places/content/places.js,v
> >retrieving revision 1.116
> >diff -u -p -8 -r1.116 places.js
> >--- browser/components/places/content/places.js	2 Dec 2007 20:08:24 -0000	1.116
> >+++ browser/components/places/content/places.js	9 Dec 2007 21:32:07 -0000
> >@@ -59,16 +59,19 @@ var PlacesOrganizer = {
> >     this._content = document.getElementById("placeContent");
> >     this._initFolderTree();
> > 
> >     var leftPaneSelection = "AllBookmarks"; // default to all-bookmarks
> >     if ("arguments" in window && window.arguments.length > 0)
> >       leftPaneSelection = window.arguments[0];
> > 
> >     this.selectLeftPaneQuery(leftPaneSelection);
> >+    // clear the back-stack
> >+    this._backHistory.splice(0);
> >+    document.getElementById("OrganizerCommand:Back").setAttribute("disabled", true);
> 
> why? if the organizer is already open, navigating back seems a valid action.
> 
> 
Init is only called on winodw-open, there's no much point in allowing to go back from the initial selection to "".

> >   forward: function PO_forward() {
> >+    this._backHistory.unshift(this.location);
> >     var historyEntry = this._forwardHistory.shift();
> >+    this._location = null;
> >     this.location = historyEntry;
> >   },
> 
> why this change? from looking at the location setter, seems that you could
> remove both of these changes and the code would function the same. i must be
> missing something.
> 

the location setter now clears the forward stack if this._location is still set.
Attachment #292332 - Flags: review?(dietrich) → review+
mozilla/browser/components/places/content/places.js 1.118
mozilla/browser/components/places/content/tree.xml 1.88
Status: NEW → RESOLVED
Closed: 17 years ago
Flags: in-litmus?
Resolution: --- → FIXED
This is fixed, however - the forward/back buttons on the mouse are still non-functional.  I feel they should work as well..  

comments ?

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b3pre) Gecko/2007121307 Minefield/3.0b3pre Firefox/3.0 ID:2007121307
File a new bug please.
verified with Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b3pre)
Gecko/2007121805 Minefield/3.0b3pre and the equivalent Mac nightly build. 

Status: RESOLVED → VERIFIED
Test case https://litmus.mozilla.org/show_test.cgi?searchType=by_id&id=7459 has been added for regression testing.
Flags: in-litmus? → in-litmus+
After rummaging through the library subgroup on 3.1 and 3.0 test runs, test case https://litmus.mozilla.org/show_test.cgi?id=6934 just had to be updated. I've deleted the test case 7459 and have updated the aforementioned test case to the test runs.

for 3.0,
https://litmus.mozilla.org/show_test.cgi?id=5322

for 3.1,
https://litmus.mozilla.org/show_test.cgi?id=6934
Bug 451915 - move Firefox/Places bugs to Firefox/Bookmarks and History. Remove all bugspam from this move by filtering for the string "places-to-b-and-h".

In Thunderbird 3.0b, you do that as follows:
Tools | Message Filters
Make sure the correct account is selected. Click "New"
Conditions: Body   contains   places-to-b-and-h
Change the action to "Delete Message".
Select "Manually Run" from the dropdown at the top.
Click OK.

Select the filter in the list, make sure "Inbox" is selected at the bottom, and click "Run Now". This should delete all the bugspam. You can then delete the filter.

Gerv
Component: Places → Bookmarks & History
QA Contact: places → bookmarks
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: