After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 685940 - GENERATE_TREEVIEW breaks the back button in several browsers
GENERATE_TREEVIEW breaks the back button in several browsers
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.2-SVN
Other Linux
: Normal major
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2012-10-11 09:15 UTC by Philipp Moeller
Modified: 2017-01-17 15:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
A Doxyfile an example class to reproduce the issue. (22.43 KB, application/zip)
2012-10-11 09:15 UTC, Philipp Moeller
Details

Description Philipp Moeller 2012-10-11 09:15:00 UTC
Created attachment 226239 [details]
A Doxyfile an example class to reproduce the issue.

When GENERATE_TREEVIEW is enabled the back button in several browsers (Firefox, Chrome, Safari) doesn't behave as intended after jumping to a detailed member description. The exact steps to reproduce are as follows:

unzip treeview_breaks_backbutton.zip
doxygen Doxyfile
firefox html/index.html
Navigate to "Class", then to "X"
click the "what" member of X (jumps down to the detailed description of what)
click the back button of the browser (nothing happens)
click the back button again (jumps back to "Classes")

The expected behavior after using the Back Button would be to jump to the position the window was at before clicking the member. The correct behavior can be observed with GENERATE_TREEVIEW = NO. 

This is a major annoyance in class documentation with many members.

Attached is an example with a lot of pseudo-text in a class documentation and an enabled treeview where this can be reproduced in classX.html.

As far as I can tell this is related to the rewriting of $(window).location performed by navtree.js.
Comment 1 Philipp Moeller 2012-10-12 16:46:26 UTC
The issue seems to be that overflow: auto used in navtree.css for #doc-content. Removing it breaks the layout, but restores the back button functionality. This is also reproducible in smaller layouts. Is this the expected behavior?
Comment 2 Philipp Moeller 2012-10-18 15:47:57 UTC
My current workaround is to rewrite the css for the top and footer divs using position: fixed. After that it is necessary to pad the doc-content div with the header and footer height. A css trick has to be applied to make the anchors respect the padding (This could be avoided by having two divs just for padding inside doc-contents). This has the drawback of not working on IE6, but this is not really a problem for me. This also makes some of the code in resize.js (which should be merged into navtree.js and the main NAVTREE variable should be moved to a separate file to enable colocation of more js files) unnecessary.

All this is currently done through external stylesheets and overwriting of some of the javascript code, but could be factored into the generator code.
Comment 3 Dimitri van Heesch 2012-10-28 09:15:49 UTC
I think I found a better solution which only impacts the navtree.js. I will include this in the next subversion update.
Comment 4 Dimitri van Heesch 2012-12-26 16:09:11 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.3. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.
Comment 5 LorenaGdL 2016-07-28 20:53:14 UTC
Hello Dimitri,

This is still an issue. I can reproduce it with your own Doxygen documentation, in Chrome and IE. Others have told me they have reproduced the issue in Firefox too. Did you finally apply the patch? If you need extra information, please let me know.

Thanks in advance