#15496 closed defect (wontfix)
TabContainer: ScrollingTabControllerMenuButton freezes in Firefox 4 - 14b8
Reported by: | Sotiris Tassis | Owned by: | bill |
---|---|---|---|
Priority: | undecided | Milestone: | future |
Component: | Dijit | Version: | 1.7.2 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
I recently by accident found an issue of the TabContainer? in Firefox (It exists both in Firefox 12 and in Firefox 13).
I have a TabContainer? and a toolbar with buttons and each button adds a Tab in the TabContainer?. The first tab of the TabContainer? has a Datagrid. Each of the new Tabs has as children, created programmatically, one or more of the following BorderContainers?, ContePanes?, Editors, FilteringSelects?, Uploader and Buttons. I should point out that I do not have parseonLoad: true but false and I call manually the parser.parse when required. I should point out that in the ContentPanes? in the content attribute I put also declarative filteringSelects and ValidationTexts? and Uploader I hope that is not a problem.
Everything is working great in all browsers even in IE9 besides one thing in Firefox. When I create many new tabs and the ScrollingTabController? gets created (The left/right and dropdown arrows of the tabstrip) when I use the ScrollingTabControllerMenuButton? (the down arrow at the far right) the TabContainer? behaves wrongly and eventually freezes. Firebug shows weird errors when I select different tabs via this menu of the tab strip. Errors of the buttons that I have in these tabs and eventually freezes and does not change tabs, weird errors mentioning StackController? or ScrollingTabController?
[ e.g.
button is undefined
if(this._selectedTab === button.domNode){ StackController?.js (line 222) ]
different each time...
This weird behavior only happens in Firefox. IE9 and Chrome do not have any issue at all!
I attach a file with the functions that I have to add a new Tab so as to recreate the issue
Attachments (5)
Change History (19)
Changed 9 years ago by
Attachment: | AddTab_functions.txt added |
---|
comment:1 follow-up: 3 Changed 9 years ago by
Component: | General → Dijit |
---|---|
Owner: | set to Sotiris Tassis |
Status: | new → pending |
Thanks for the report and the code snippet, but please attach a full test case, i.e. an HTML file that we can load in the browser and use to reproduce then problem.
Thanks!
comment:2 Changed 9 years ago by
Status: | pending → new |
---|
Attachment (TabContainer_testcase.html) added by ticket reporter.
comment:3 Changed 9 years ago by
Replying to bill:
Thanks for the report and the code snippet, but please attach a full test case, i.e. an HTML file that we can load in the browser and use to reproduce then problem.
Thanks!
I have attached the html page-test case. how do I assign it to someone?
comment:4 follow-up: 6 Changed 9 years ago by
Status: | new → pending |
---|
Thanks, that's a bit better but when I run it nothing shows up on the screen; presumably because it can't find demo.css or Style.css. Can you make a self-contained test case that isn't depending on other files (besides the dojo files themselves)?
comment:5 Changed 9 years ago by
Status: | pending → new |
---|
Attachment (TabContainer_testcase.html) added by ticket reporter.
comment:6 Changed 9 years ago by
Replying to bill:
Thanks, that's a bit better but when I run it nothing shows up on the screen; presumably because it can't find demo.css or Style.css. Can you make a self-contained test case that isn't depending on other files (besides the dojo files themselves)?
I believe the new test case is self contained. At this html page you will see that the tabs are created normally and when you have many tabs and are able to use the ScrollTabController? Menu button it will work and sometimes it will FREEZE to a specific tab and after a while it will work again. You have to use it a lot to end up to the error case. This is a simple example based on my case which is a little more complex, and in which this freezing causes other on() functions to tabs to fail. Hope you can find a solution. Thank you
comment:7 Changed 9 years ago by
Owner: | changed from Sotiris Tassis to bill |
---|---|
Status: | new → assigned |
Summary: | ScrollingTabControllerMenuButton freezes TabContainer in Firefox → TabContainer: ScrollingTabControllerMenuButton freezes in Firefox |
OK, yes, thanks, the test case runs and I can reproduce a problem where selecting items in the menu doesn't select the tabs. It's a pretty complicated test case where each tab has an editor and a bunch of other stuff but I'll take a look.
Changed 9 years ago by
Attachment: | corruptedId1.gif added |
---|
firebug screenshot, id of pane is corrupted
comment:8 Changed 9 years ago by
OK, well I see a weird issue where the id's of your panes are getting corrupted. See attached screenshots from firebug.
I also see some weirdness in your code where you call the parser on pre-existing widgets, ex:
registry.byId("contentTabs").addChild(editorLayout); parser.parse(editorLayout); registry.byId("contentTabs").selectChild(editorLayout);
Note sure if that's related. (I'm trying to reduce down your test case.)
comment:9 Changed 9 years ago by
From monitoring the names in the console
setInterval( function(){ console.log(contentTabs.getChildren().map(function(f){ return f.id; }).join(", ")); }, 1000);
... I can see when the get corrupted, sometimes from merely opening and closing the menu without doing anything. Likely this is a regression in firefox, maybe some kind of corruption with garbage collection, that dojo won't be able to fix, but we can submit a bug report to them.
comment:10 Changed 9 years ago by
Milestone: | tbd → future |
---|
OK, I filed https://bugzilla.mozilla.org/show_bug.cgi?id=764296.
comment:11 Changed 9 years ago by
FYI, they are planning on fixing this in the next firefox release.
In the meantime I'd suggest working around the problem by setting useMenu=false on your TabContainer (at least for when the browser is firefox).
comment:12 Changed 9 years ago by
Resolution: | → wontfix |
---|---|
Status: | assigned → closed |
Summary: | TabContainer: ScrollingTabControllerMenuButton freezes in Firefox → TabContainer: ScrollingTabControllerMenuButton freezes in Firefox 4 - 15 |
OK, they've fixed the firefox code and it will be rolled out in Firefox 16. So I'm going to close this ticket. Not sure which status to use as we don't have a "fixed upstream" category.
comment:13 Changed 9 years ago by
Summary: | TabContainer: ScrollingTabControllerMenuButton freezes in Firefox 4 - 15 → TabContainer: ScrollingTabControllerMenuButton freezes in Firefox 4 - 15b8 |
---|
Actually, looks like they are further backporting the fix, their ticket now says:
- status-firefox-esr10: affected → fixed
- status-firefox14: affected → fixed
- status-firefox15: affected → fixed
So I guess it will be fixed in the FF14 GA (it's beta now), and some patch release to ESR10.
comment:14 Changed 9 years ago by
Summary: | TabContainer: ScrollingTabControllerMenuButton freezes in Firefox 4 - 15b8 → TabContainer: ScrollingTabControllerMenuButton freezes in Firefox 4 - 14b8 |
---|
The file has the functions to recreate the bug