Closed Bug 418744 Opened 17 years ago Closed 17 years ago

On windows with no features (no menubar) the Firebug menubar isn't visible

Categories

(Firefox :: General, defect)

x86
Windows XP
defect
Not set
major

Tracking

()

RESOLVED WONTFIX

People

(Reporter: robert.stopp, Unassigned)

Details

(Whiteboard: [firebug-p2])

Attachments

(1 file)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12 On windows created by window.open(url,name) without features or at least without menubar the menubar of an xulframe isn't visible. Firebug in attached mode splits the browserwindow and displays his own menubar on a xulframe (don't know the right name). On windows - i think - with no menubar this seems not to work like in gecko 1.8 I don't know if this is a bug from Firebug (there is an Issue at http://code.google.com/p/fbug/issues/detail?id=461 ) or from gecko 1.9. Reproducible: Always Steps to Reproduce: 1. Install Firebug (getfirebug.com) on Firefox 3 Beta 2. create an window by Javascript: window.open and give it no menubar and locationbar etc. 3. open Firebug by clicking his icon in the statusbar Actual Results: the menubar of that frame isn't visible Expected Results: In gecko 1.8 the menubar of an xulframe seems to independent from the top-level frame and is visible.
Version: unspecified → Trunk
Sorry, i mean the Firebug-Beta available at http://www.getfirebug.com/releases/allReleases.html
Heya. This is, as far as I can tell, not a bug in Firefox. You should report this issue to the Firebug developers at http://code.google.com/p/fbug/ . Because this is not a Firefox issue, I will resolve this bug as INVALID. John, who I'm CC-ing, will be sure to reopen it if there is reason to believe it really is a Firefox issue rather than a Firebug one. Thanks!
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago
Resolution: --- → INVALID
Some other people reported the same problem in http://code.google.com/p/fbug/issues/detail?id=623 and http://code.google.com/p/fbug/issues/detail?id=461 it seems to be an issue with the none visible FF toolbar. Testcases are available at the Firebug bug-page. (and Gijs: Please read before you answering and closing a bug)
Status: RESOLVED → UNCONFIRMED
Resolution: INVALID → ---
As far as I can tell Firebug's toolbar XUL element is in the window, but is not being rendered by Firefox.
Component: Extension Compatibility → General
QA Contact: extension.compatibility → general
Whiteboard: [firebug-p2]
(In reply to comment #3) > Some other people reported the same problem in > http://code.google.com/p/fbug/issues/detail?id=623 and > http://code.google.com/p/fbug/issues/detail?id=461 > it seems to be an issue with the none visible FF toolbar. > Testcases are available at the Firebug bug-page. > > (and Gijs: Please read before you answering and closing a bug) > What particular part did you think I did not read? Do you think Firefox should add Firebug-specific CSS to make the menubar visible? Because I certainly don't. You haven't really provided any evidence that this is Firefox's fault, as far as I'm concerned, which is why I closed the bug as INVALID. You should probably use DOMI to figure out why the menubar is not being displayed, which I guess is probably because of Firefox CSS making menus display: none; for windows with/without certain features. Which should be fixed by Firebug, not by Firefox.
(In reply to comment #5) > probably use DOMI to figure out why the menubar is not being displayed, which I > guess is probably because of Firefox CSS making menus display: none; for > windows with/without certain features. Which should be fixed by Firebug, not by > Firefox. Hi Gijs. I looked at the HTML (with Chromebug) and the toolbar is not display: none as far as I can see. Here is the HTML according to Chromebug <toolbar id="fbToolbar" align="center"><toolbarbutton id="fbFirebugMenu" type="menu"><menupopup onpopupshowing="return FirebugChrome.onOptionsShowing(this);" id="fbFirebugMenuPopup"><menu label="Open With Editor" id="FirebugMenu_OpenWith"><menupopup id="fbFirebugMenu_OpenWith" onpopupshowing="return FirebugChrome.onEditorsShowing(this);"><menuitem label="Configure Editors..." command="cmd_openFirebugEditors"/></menupopup></menu><menuseparator/><menu label="Text Size" id="FirebugMenu_TextSize"><menupopup><menuitem label="Increase Text Size" oncommand="Firebug.increaseTextSize(1)"/><menuitem label="Decrease Text Size" oncommand="Firebug.increaseTextSize(-1)"/><menuitem label="Normal Text Size" oncommand="Firebug.setTextSize(0)"/></menupopup></menu><menu label="Options" id="FirebugMenu_Options"><menupopup onpopupshowing="return FirebugChrome.onOptionsShowing(this);" id="FirebugMenu_OptionsPopup"><menuitem type="checkbox" label="Always Open in New Window" oncommand="FirebugChrome.onToggleOption(this)" option="openInWindow"/><menuitem type="checkbox" label="Show Preview Tooltips" oncommand="FirebugChrome.onToggleOption(this)" option="showInfoTips"/><menuitem type="checkbox" label="Shade Box Model" oncommand="FirebugChrome.onToggleOption(this)" option="shadeBoxModel"/></menupopup></menu><menuseparator id="FirebugBetweenOptionsAndSites"/><menuitem label="Firebug Website..." oncommand="Firebug.visitWebsite('main')"/><menuitem label="Documentation..." oncommand="Firebug.visitWebsite('docs')"/><menuitem label="Discussion Group..." oncommand="Firebug.visitWebsite('discuss')"/><menuitem label="Issue Tracker..." oncommand="Firebug.visitWebsite('issues')"/><menuseparator/><menuitem label="Contribute..." oncommand="Firebug.visitWebsite('donate')"/><menuseparator/><menuitem id="Firebug_About" label="About... 1.2X.0b2" oncommand="FirebugChrome.openAboutDialog()"/></menupopup></toolbarbutton><hbox id="fbToolbarInner" insertbefore="fbDetachButton" flex="1" align="center"><toolbarbutton id="fbInspectButton" label="Inspect" class="toolbar-text-button" tooltiptext="Click an element in the page to inspect" command="cmd_toggleInspecting" checked="false" oncommand="Firebug.Inspector.toggleInspecting(FirebugContext)" disabled="false"/><hbox id="fbConsoleButtons" collapsed="true"><toolbarbutton label="Clear" class="toolbar-text-button" tooltiptext="Clear the console" command="cmd_clearConsole" oncommand="Firebug.Console.clear(FirebugContext)" disabled="false"/><toolbarbutton label="Profile" class="toolbar-text-button" type="checkbox" tooltiptext="Profile JavaScript execution time" command="cmd_toggleProfiling" oncommand="Firebug.Profiler.toggleProfiling(FirebugContext)"/><toolbarseparator/><tooltip id="fbConsoleStateMenuTooltip" onpopupshowing="return Firebug.NetMonitor.onMenuTooltipShowing(this, FirebugContext)"/><toolbarbutton id="fbConsoleStateMenu" type="menu" tooltip="fbConsolePermTooltip" label="Disabled" value="disable"><menupopup oncommand="return Firebug.Console.onStateMenuCommand(event, FirebugContext)" onpopupshowing="return Firebug.Console.onStateMenuPopupShowing(this, FirebugContext)" onpopuphiding="return Firebug.Console.onStateMenuPopupHiding(this, FirebugContext)"><menuitem type="radio" name="fbConsoleStateMenu" value="enable"/><menuitem type="radio" name="fbConsoleStateMenu" value="disable"/><menuitem type="radio" name="fbConsoleStateMenu" value="enableAlways"/></menupopup></toolbarbutton></hbox><hbox id="fbHTMLButtons" collapsed="false"><toolbarbutton label="Edit" class="toolbar-text-button" tooltiptext="Edit this HTML" command="cmd_toggleHTMLEditing" oncommand="FirebugContext.getPanel('html').toggleEditing()"/></hbox><hbox id="fbCSSButtons" collapsed="true"><toolbarbutton label="Edit" class="toolbar-text-button" tooltiptext="Edit this style sheet" command="cmd_toggleCSSEditing" oncommand="FirebugContext.getPanel('stylesheet').toggleEditing()"/></hbox><hbox id="fbScriptButtons" collapsed="true"><toolbarseparator/><tooltip id="fbDebuggerStateMenuTooltip" onpopupshowing="return Firebug.Debugger.onStateMenuTooltipShowing(this, FirebugContext)"/><toolbarbutton id="fbDebuggerStateMenu" type="menu" tooltip="fbDebuggerPermTooltip" label="Disabled" value="disable"><menupopup oncommand="return Firebug.Debugger.onStateMenuCommand(event, FirebugContext)" onpopupshowing="return Firebug.Debugger.onStateMenuPopupShowing(this, FirebugContext)" onpopuphiding="return Firebug.Debugger.onStateMenuPopupHiding(this, FirebugContext)"><menuitem type="radio" name="fbDebuggerStateMenu" value="enable"/><menuitem type="radio" name="fbDebuggerStateMenu" value="disable"/><menuitem type="radio" name="fbDebuggerStateMenu" value="enableAlways"/></menupopup></toolbarbutton></hbox><hbox id="fbNetButtons" collapsed="true"><toolbarbutton label="Clear" class="toolbar-text-button" tooltiptext="Clear the console" command="cmd_clearNet" oncommand="Firebug.NetMonitor.clear(FirebugContext)"/><toolbarseparator/><tooltip id="fbNetStateMenuTooltip" onpopupshowing="return Firebug.NetMonitor.onMenuTooltipShowing(this, FirebugContext)"/><toolbarbutton id="fbNetStateMenu" type="menu" tooltip="fbNetPermTooltip" label="Disabled" value="disable"><menupopup oncommand="return Firebug.NetMonitor.onStateMenuCommand(event, FirebugContext)" onpopupshowing="return Firebug.NetMonitor.onStateMenuPopupShowing(this, FirebugContext)" onpopuphiding="return Firebug.NetMonitor.onStateMenuPopupHiding(this, FirebugContext)"><menuitem type="radio" name="fbNetStateMenu" value="enable"/><menuitem type="radio" name="fbNetStateMenu" value="disable"/><menuitem type="radio" name="fbNetStateMenu" value="enableAlways"/></menupopup></toolbarbutton><hbox id="fbNetButtonsFilter" collapsed="true"><toolbarseparator/><toolbarbutton id="fbNetFilter-all" label="All" type="radio" class="toolbar-text-button" group="firebugNetFilter" oncommand="Firebug.NetMonitor.onToggleFilter(FirebugContext, 'all')" checked="true"/><toolbarbutton id="fbNetFilter-html" label="HTML" type="radio" class="toolbar-text-button" group="firebugNetFilter" oncommand="Firebug.NetMonitor.onToggleFilter(FirebugContext, 'html')"/><toolbarbutton id="fbNetFilter-css" label="CSS" type="radio" class="toolbar-text-button" group="firebugNetFilter" oncommand="Firebug.NetMonitor.onToggleFilter(FirebugContext, 'css')"/><toolbarbutton id="fbNetFilter-js" label="JS" type="radio" class="toolbar-text-button" group="firebugNetFilter" oncommand="Firebug.NetMonitor.onToggleFilter(FirebugContext, 'js')"/><toolbarbutton id="fbNetFilter-xhr" label="XHR" type="radio" tooltiptext="XMLHttpRequest" class="toolbar-text-button" group="firebugNetFilter" oncommand="Firebug.NetMonitor.onToggleFilter(FirebugContext, 'xhr')"/><toolbarbutton id="fbNetFilter-image" label="Images" type="radio" class="toolbar-text-button" group="firebugNetFilter" oncommand="Firebug.NetMonitor.onToggleFilter(FirebugContext, 'image')"/><toolbarbutton id="fbNetFilter-flash" label="Flash" type="radio" class="toolbar-text-button" group="firebugNetFilter" oncommand="Firebug.NetMonitor.onToggleFilter(FirebugContext, 'flash')"/></hbox></hbox><toolbarseparator id="fbLocationSeparator" collapsed="true"/><toolbarbutton id="fbLocationList" locationProvider="FirebugChrome.getLocationProvider();" class="toolbar-text-menubutton" collapsed="true" labeltooltip="fbTooltip" labelcontextmenu="fbContextMenu" popup="_child"/><toolbarseparator id="fbStatusSeparator" collapsed="true" style="visibility: visible;"/><panelstatus id="fbPanelStatus" flex="1" tooltip="fbTooltip" contextmenu="fbContextMenu"><label class="panelStatusLabel" value="body" selected="true"/><label class="panelStatusSeparator" value="<"/><label class="panelStatusLabel" value="html"/></panelstatus><hbox id="fbDebuggerButtons" minwidth="126" collapsed="true"><toolbarbutton id="fbContinueButton" command="cmd_resumeExecution" tooltiptext="Continue (F8)" class="toolbar-image-button" disabled="true" oncommand="Firebug.Debugger.resume(FirebugContext)"/><toolbarbutton id="fbStepIntoButton" command="cmd_stepInto" tooltiptext="Step Into (F11)" class="toolbar-image-button" disabled="true" oncommand="Firebug.Debugger.stepInto(FirebugContext)"/><toolbarbutton id="fbStepOverButton" command="cmd_stepOver" tooltiptext="Step Over (F10)" class="toolbar-image-button" disabled="true" oncommand="Firebug.Debugger.stepOver(FirebugContext)"/><toolbarbutton id="fbStepOutButton" command="cmd_stepOut" tooltiptext="Step Out" class="toolbar-image-button" disabled="true" oncommand="Firebug.Debugger.stepOut(FirebugContext)"/></hbox><textbox sizetopopup="pref" id="fbSearchBox" autocomplete="true" rows="1"/></hbox><toolbarbutton id="fbDetachButton" class="toolbarbutton-iconic" tooltiptext="Open Firebug in New Window" command="cmd_detachFirebug" oncommand="Firebug.detachBar()"/><toolbarbutton id="fbCloseButton" class="toolbarbutton-iconic" tooltiptext="Close Firebug" command="cmd_toggleFirebug" oncommand="Firebug.toggleBar()" checked="true"/></toolbar>
(In reply to comment #5) Sorry Gijs, your post looked like not reading. In previous versions these additional XUL-Frames (seems to me) inherited no rules, that prevented her visibilty, from HTML-displaying/Global/Top XUL-frames and that looks to me like a bug. Is the Firebug-frame/extension mighty enough to override parent-rules? But you are right it should be easy to take another XUL-Element wich is not affected?!
(In reply to comment #6) > (In reply to comment #5) > > probably use DOMI to figure out why the menubar is not being displayed, which I > > guess is probably because of Firefox CSS making menus display: none; for > > windows with/without certain features. Which should be fixed by Firebug, not by > > Firefox. > > Hi Gijs. I looked at the HTML (with Chromebug) and the toolbar is not display: > none as far as I can see. > > Here is the HTML according to Chromebug > > <snip XUL barf> I said "Firefox CSS". What made you think that I was referring to the Firebug "HTML"? (I guess you mean XUL?) The menu (really a toolbar) is hidden because, as DOMI would have told you (the CSS style rules view is totally awesome, really - make Firebug do that), a bit of CSS in Firefox sets it to display: none; http://bonsai.mozilla.org/cvsblame.cgi?file=/mozilla/browser/base/content/browser.css&rev=1.61&mark=53-57#53 /* Hide extension toolbars that neglected to set the proper class */ window[chromehidden~="location"][chromehidden~="toolbar"] toolbar:not(.chromeclass-menubar), window[chromehidden~="toolbar"] toolbar:not(.toolbar-primary):not(.chromeclass-menubar) { display: none; } This CSS was added to prevent toolbars from showing in locationbar-only windows, as they were not hidden according to the preferences given to window.open, because they did not have the right class set, according to CVS blame - pointing to bug 258405, fixed december 2007. Please continue reading there if this summary was unclear (it probably was, it's a strange issue). Adding the "chromeclass-menubar" class so it doesn't get caught by this style rule would not work, because there are other CSS rules in xul.css that will prevent it from being displayed still. You can use your own CSS to override the display: none; with something like display: -moz-box; or whatever the thing is called, possibly with added !important fun. Keep in mind that then if theme authors override your skin/ files to style Firebug, and they neglect to add that, the same problem will reoccur. I would therefore probably advise on adding such things to a CSS file in a content package. I am going to once more resolve this bug INVALID. Please reopen if you disagree. (In reply to comment #7) > (In reply to comment #5) > Sorry Gijs, your post looked like not reading. > In previous versions these additional XUL-Frames (seems to me) inherited no > rules, that prevented her visibilty, from HTML-displaying/Global/Top XUL-frames > and that looks to me like a bug. > Is the Firebug-frame/extension mighty enough to override parent-rules? > But you are right it should be easy to take another XUL-Element wich is not > affected?! Apology accepted. Extensions can do whatever they want. Firebug is not its own frame, it's just a <splitter> followed by a <vbox> with some special CSS styling, and therefore browser styles apply normally.
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago17 years ago
Resolution: --- → INVALID
Ah, now I see. I told you to go file a bug against Firebug, and you'd already done that. That's my mistake, sorry!
I do disagree, so I reopened as you requested. On http://developer.mozilla.org/en/docs/DOM:window.open, the 'toolbar' option clear refers to the navigation tool bar of the browser. I believe that is what user and developers expect the option to impact. On http://developer.mozilla.org/en/docs/XUL:toolbar, there is no mention of a special CSS operation required to workaround the browsers CSS. Extensions using XUL 'toolbar' should not, in my opinion have to set a special CSS to have their toolbar avoid participating in a browser option. This is not a style setting, it is a optional removal of controls. Rather than requiring 'toolbar' uses to add CSS, Firefox should limit the scope of the option to its own navigation toolbar as documented. Since as a practical this is very unlikely to be fixed, I would appreciate a suggestion on how to change the toolbar in Firebug so that it will be visible. I don't understand the content of comment #8.
Status: RESOLVED → UNCONFIRMED
Resolution: INVALID → ---
Hmm, I'm not so sure. I'd expect that web usage of opening windows without toolbars is to get windows with minimal browser chrome (eg, for pseudo-popup webapp UI windows, image previews, etc.) In that use case, there's not really any appreciable difference between the browser's own navigation toolbar and other toolbars created by other extensions. For example, if a page is opening a window for a image viewer, and the user has half a dozen toolbars installed, it wouldn't make sense to show them all. The way out here might be to not show toolbars as we do now, but make sure there's a way for the user to bring back / get at their toolbars if they want to. (Maybe that already works?)
That may be the intent of the web site that is opening the windows, but the user installed the extension. If they don't want the toolbars they can complain to the extension developers and the extension developers can add the CSS class that causes the toolbar to follow the browser in such cases. But it shouldn't be the default.
Attached patch Firebug patchSplinter Review
(In reply to comment #10) > <snip> > Since as a practical this is very unlikely to be fixed, I would appreciate a > suggestion on how to change the toolbar in Firebug so that it will be visible. > I don't understand the content of comment #8. > Because I apparently do not have an appropriate command of the English language, or somehow managed not to enlighten you by: 1) a cursory description of what I thought was the problem (comment #5) 2) a technical description including an explicit, highlighted link to the source code that contained the problem (comment #8) 3) a link to the bug that caused the issue you were seeing (same comment) 4) a detailed description of how to fix the problem, namely by adding a CSS style rule that indicates that Firebug's toolbar should be display: -moz-box; even if the chromehidden flag includes toolbars, and even the rather subtle point that it would be better to include this in a css file from a content package, rather than from the skin package one normally uses for .css files (same comment) ... I've decided to go all out and actually wrote the damn patch for you. Please don't make me do this again. Or at least try to explain what it is about my comments that renders them so utterly and completely incomprehensible, instead of the matter-of-fact "I don't get it so I'll ignore it" sentiment present in your previous comment. ----- I still agree with dolske in that this is INVALID or at best WONTFIX -- the default behaviour for a toolbar as such should be the same as that of the app toolbar, and I don't understand why add-ons should be any different in this respect. What if I created an add-on which added a toolbar that had exactly the same UI as the main toolbar. Would you expect the browser one to not get rendered, but the add-on to still be there? What's the rational reason for doing that? Add-ons are part of the user-agent, and insofar as the page has anything to say about how the user-agent behaves, whatever it says should apply to all of the user-agent, and should not be dependent on the implementation details of the user agent (ie X is an add-on and Y is not). As evidenced by the patch above (which I tested and, at least as far as I can tell, works perfectly fine here), it is still possible for add-ons to override this behaviour if they wish. I'm going to go by Wikipedia's three-revert rule and not mark this as INVALID *again*, but it would be wonderful if either the reporter or John could do this if they now agree, or give some rational counterarguments as to why this patch is wrong, and/or why the above statements are rubbish, according to them. If you continue to object against the general case of Firefox's default hiding of add-on toolbars if the page asks it to, please at least morph this bug so the summary and component reflect that general issue, and add the bug I mentioned in comment #8 to the dependency graph for this one. Thank you. (yes, if it wasn't obvious, I'm a little annoyed by now. It's 1am. I should be sleeping instead of this mess)
(In reply to comment #13) Ok, thanks. As I understand it then, this added CSS rule: window[chromehidden~="toolbar"] #fbToolbar { display: -moz-box; } will cause the element fbToolbar to have display: -moz-box; when the window element property 'chromehidden' includes the string "toolbar". I gather that when the window is opened with the toolbar option, then 'chromehidden' is set to include 'toolbar'. I'm not sure why you are upset; I don't know how I could have figured out how to do this without your help. Thanks.
(In reply to comment #10) I updated the two wiki sites with information on this issue.
Thanks for your help Gijs and Justin but/and the comments were necassary...
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago17 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: