/[packages]/cauldron/firefox/current/SOURCES/firefox-kde.patch
ViewVC logotype

Diff of /cauldron/firefox/current/SOURCES/firefox-kde.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 724611 by fwang, Tue Sep 17 03:14:50 2013 UTC revision 724612 by doktor5000, Thu Sep 25 14:22:06 2014 UTC
# Line 2  diff --git a/browser/base/content/browse Line 2  diff --git a/browser/base/content/browse
2  new file mode 100644  new file mode 100644
3  --- /dev/null  --- /dev/null
4  +++ b/browser/base/content/browser-kde.xul  +++ b/browser/base/content/browser-kde.xul
5  @@ -0,0 +1,1097 @@  @@ -0,0 +1,1197 @@
6  +#filter substitution  +#filter substitution
7  +<?xml version="1.0"?>  +<?xml version="1.0"?>
8  +# -*- Mode: HTML -*-  +# -*- Mode: HTML -*-
# Line 14  new file mode 100644 Line 14  new file mode 100644
14  +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>  +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
15  +<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>  +<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
16  +<?xml-stylesheet href="chrome://browser/skin/devtools/common.css" type="text/css"?>  +<?xml-stylesheet href="chrome://browser/skin/devtools/common.css" type="text/css"?>
17    +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUIOverlay.css" type="text/css"?>
18  +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>  +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
19    +<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" type="text/css"?>
20  +  +
21  +<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>  +<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
22  +<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>  +<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
# Line 27  new file mode 100644 Line 29  new file mode 100644
29  +<window id="main-window"  +<window id="main-window"
30  +        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  +        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
31  +        xmlns:svg="http://www.w3.org/2000/svg"  +        xmlns:svg="http://www.w3.org/2000/svg"
32    +        xmlns:html="http://www.w3.org/1999/xhtml"
33  +        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"  +        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
34  +        onload="gBrowserInit.onLoad()" onunload="gBrowserInit.onUnload()" onclose="return WindowIsClosing();"  +        onload="gBrowserInit.onLoad()" onunload="gBrowserInit.onUnload()" onclose="return WindowIsClosing();"
35  +        title="&mainWindow.title;@PRE_RELEASE_SUFFIX@"  +        title="&mainWindow.title;"
36  +        title_normal="&mainWindow.title;@PRE_RELEASE_SUFFIX@"  +        title_normal="&mainWindow.title;"
37  +#ifdef XP_MACOSX  +#ifdef XP_MACOSX
38  +        title_privatebrowsing="&mainWindow.title;@PRE_RELEASE_SUFFIX@&mainWindow.titlemodifiermenuseparator;&mainWindow.titlePrivateBrowsingSuffix;"  +        title_privatebrowsing="&mainWindow.title;&mainWindow.titlemodifiermenuseparator;&mainWindow.titlePrivateBrowsingSuffix;"
39  +        titledefault="&mainWindow.title;@PRE_RELEASE_SUFFIX@"  +        titledefault="&mainWindow.title;"
40  +        titlemodifier=""  +        titlemodifier=""
41  +        titlemodifier_normal=""  +        titlemodifier_normal=""
42  +        titlemodifier_privatebrowsing="&mainWindow.titlePrivateBrowsingSuffix;"  +        titlemodifier_privatebrowsing="&mainWindow.titlePrivateBrowsingSuffix;"
43  +#else  +#else
44  +        title_privatebrowsing="&mainWindow.titlemodifier;@PRE_RELEASE_SUFFIX@ &mainWindow.titlePrivateBrowsingSuffix;"  +        title_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
45  +        titlemodifier="&mainWindow.titlemodifier;@PRE_RELEASE_SUFFIX@"  +        titlemodifier="&mainWindow.titlemodifier;"
46  +        titlemodifier_normal="&mainWindow.titlemodifier;@PRE_RELEASE_SUFFIX@"  +        titlemodifier_normal="&mainWindow.titlemodifier;"
47  +        titlemodifier_privatebrowsing="&mainWindow.titlemodifier;@PRE_RELEASE_SUFFIX@ &mainWindow.titlePrivateBrowsingSuffix;"  +        titlemodifier_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
48    +#endif
49    +#ifdef CAN_DRAW_IN_TITLEBAR
50    +#ifdef XP_WIN
51    +        chromemargin="0,2,2,2"
52    +#else
53    +        chromemargin="0,-1,-1,-1"
54    +#endif
55    +        tabsintitlebar="true"
56  +#endif  +#endif
57  +        titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"  +        titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
58  +        lightweightthemes="true"  +        lightweightthemes="true"
# Line 50  new file mode 100644 Line 61  new file mode 100644
61  +        macanimationtype="document"  +        macanimationtype="document"
62  +        screenX="4" screenY="4"  +        screenX="4" screenY="4"
63  +        fullscreenbutton="true"  +        fullscreenbutton="true"
64    +        sizemode="normal"
65  +        persist="screenX screenY width height sizemode">  +        persist="screenX screenY width height sizemode">
66  +  +
67  +# All JS files which are not content (only) dependent that browser.xul  +# All JS files which are not content (only) dependent that browser.xul
# Line 122  new file mode 100644 Line 134  new file mode 100644
134  +               oncommand="gotoHistoryIndex(event); event.stopPropagation();"  +               oncommand="gotoHistoryIndex(event); event.stopPropagation();"
135  +               onclick="checkForMiddleClick(this, event);"/>  +               onclick="checkForMiddleClick(this, event);"/>
136  +    <tooltip id="aHTMLTooltip" page="true"/>  +    <tooltip id="aHTMLTooltip" page="true"/>
137    +    <tooltip id="remoteBrowserTooltip"/>
138  +  +
139  +    <!-- for search and content formfill/pw manager -->  +    <!-- for search and content formfill/pw manager -->
140  +    <panel type="autocomplete" id="PopupAutoComplete" noautofocus="true" hidden="true"/>  +    <panel type="autocomplete" id="PopupAutoComplete" noautofocus="true" hidden="true"/>
# Line 129  new file mode 100644 Line 142  new file mode 100644
142  +    <!-- for url bar autocomplete -->  +    <!-- for url bar autocomplete -->
143  +    <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>  +    <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
144  +  +
145    +    <!-- for select dropdowns -->
146    +    <menupopup id="ContentSelectDropdown" rolluponmousewheel="true" hidden="true"/>
147    +
148  +    <!-- for invalid form error message -->  +    <!-- for invalid form error message -->
149  +    <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent">  +    <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent">
150  +      <description/>  +      <description/>
# Line 139  new file mode 100644 Line 155  new file mode 100644
155  +           footertype="promobox"  +           footertype="promobox"
156  +           orient="vertical"  +           orient="vertical"
157  +           ignorekeys="true"  +           ignorekeys="true"
 +           consumeoutsideclicks="true"  
158  +           hidden="true"  +           hidden="true"
159  +           onpopupshown="StarUI.panelShown(event);"  +           onpopupshown="StarUI.panelShown(event);"
160  +           aria-labelledby="editBookmarkPanelTitle">  +           aria-labelledby="editBookmarkPanelTitle">
# Line 184  new file mode 100644 Line 199  new file mode 100644
199  +      </hbox>  +      </hbox>
200  +    </panel>  +    </panel>
201  +  +
202  +    <panel id="socialActivatedNotification"  +    <!-- UI tour experience -->
203    +    <panel id="UITourTooltip"
204  +           type="arrow"  +           type="arrow"
205  +           hidden="true"  +           hidden="true"
206  +           consumeoutsideclicks="true"  +           noautofocus="true"
207    +           noautohide="true"
208  +           align="start"  +           align="start"
209  +           orient="horizontal"  +           orient="vertical"
210  +           role="alert">  +           role="alert">
211  +      <image id="social-activation-icon" class="popup-notification-icon"/>  +     <vbox>
212  +      <vbox flex="1">  +      <hbox pack="end">
213  +        <description id="social-activation-message" class="popup-notification-description">&social.activated.description;</description>  +        <toolbarbutton id="UITourTooltipClose" class="close-icon"
214  +        <spacer flex="1"/>  +                       tooltiptext="&uiTour.infoPanel.close;"/>
215  +        <hbox pack="start" align="center" class="popup-notification-button-container">  +      </hbox>
216  +          <label  id="social-undoactivation-button"  +      <hbox id="UITourTooltipBody">
217  +                  class="text-link"  +        <vbox id="UITourTooltipIconContainer">
218  +                  value="&social.activated.undo.label;"  +          <image id="UITourTooltipIcon"/>
219  +                  accesskey="&social.activated.undo.accesskey;"  +        </vbox>
220  +                  onclick="SocialUI.undoActivation(this);"/>  +        <vbox flex="1">
221  +          <spacer flex="1"/>  +          <label id="UITourTooltipTitle" flex="1"/>
222  +          <button id="social-activation-button"  +          <description id="UITourTooltipDescription" flex="1"/>
223  +                  default="true"  +        </vbox>
224  +                  autofocus="autofocus"  +      </hbox>
225  +                  label="&social.ok.label;"  +      <hbox id="UITourTooltipButtons" flex="1" align="center"/>
226  +                  accesskey="&social.ok.accesskey;"  +     </vbox>
227  +                  oncommand="SocialUI.activationPanel.hidePopup();"/>  +    </panel>
228  +        </hbox>  +    <!-- type="default" forces frames to be created so that the panel's size can be determined -->
229  +      </vbox>  +    <panel id="UITourHighlightContainer"
230    +           type="default"
231    +           hidden="true"
232    +           noautofocus="true"
233    +           noautohide="true"
234    +           flip="none"
235    +           consumeoutsideclicks="false"
236    +           mousethrough="always">
237    +      <box id="UITourHighlight"></box>
238  +    </panel>  +    </panel>
239  +  +
240  +    <panel id="social-share-panel"  +    <panel id="social-share-panel"
# Line 218  new file mode 100644 Line 243  new file mode 100644
243  +           orient="horizontal"  +           orient="horizontal"
244  +           onpopupshowing="SocialShare.onShowing()"  +           onpopupshowing="SocialShare.onShowing()"
245  +           onpopuphidden="SocialShare.onHidden()"  +           onpopuphidden="SocialShare.onHidden()"
 +           consumeoutsideclicks="true"  
246  +           hidden="true">  +           hidden="true">
247  +      <vbox class="social-share-toolbar">  +      <vbox class="social-share-toolbar">
248  +        <vbox id="social-share-provider-buttons" flex="1"/>  +        <vbox id="social-share-provider-buttons" flex="1"/>
# Line 239  new file mode 100644 Line 263  new file mode 100644
263  +           hidden="true"  +           hidden="true"
264  +           flip="slide"  +           flip="slide"
265  +           rolluponmousewheel="true"  +           rolluponmousewheel="true"
 +           consumeoutsideclicks="false"  
266  +           noautofocus="true"  +           noautofocus="true"
267  +           position="topcenter topright"/>  +           position="topcenter topright"/>
268  +  +
269  +    <menupopup id="toolbar-context-menu"  +    <menupopup id="toolbar-context-menu"
270  +               onpopupshowing="onViewToolbarsPopupShowing(event);">  +               onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
271    +      <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
272    +                accesskey="&customizeMenu.moveToPanel.accesskey;"
273    +                label="&customizeMenu.moveToPanel.label;"
274    +                class="customize-context-moveToPanel"/>
275    +      <menuitem oncommand="gCustomizeMode.removeFromArea(document.popupNode)"
276    +                accesskey="&customizeMenu.removeFromToolbar.accesskey;"
277    +                label="&customizeMenu.removeFromToolbar.label;"
278    +                class="customize-context-removeFromToolbar"/>
279  +      <menuseparator/>  +      <menuseparator/>
280  +      <menuitem command="cmd_ToggleTabsOnTop"  +      <menuseparator id="viewToolbarsMenuSeparator"/>
281  +                type="checkbox"  +      <!-- XXXgijs: we're using oncommand handler here to avoid the event being
282  +                label="&viewTabsOnTop.label;"  +                    redirected to the command element, thus preventing
283  +                accesskey="&viewTabsOnTop.accesskey;"/>  +                    listeners on the menupopup or further up the tree from
284  +      <menuitem command="cmd_CustomizeToolbars"  +                    seeing the command event pass by. The observes attribute is
285    +                    here so that the menuitem is still disabled and re-enabled
286    +                    correctly. -->
287    +      <menuitem oncommand="BrowserCustomizeToolbar()"
288    +                observes="cmd_CustomizeToolbars"
289    +                class="viewCustomizeToolbar"
290  +                label="&viewCustomizeToolbar.label;"  +                label="&viewCustomizeToolbar.label;"
291  +                accesskey="&viewCustomizeToolbar.accesskey;"/>  +                accesskey="&viewCustomizeToolbar.accesskey;"/>
292  +    </menupopup>  +    </menupopup>
# Line 292  new file mode 100644 Line 328  new file mode 100644
328  +  +
329  +    <menupopup id="placesContext"/>  +    <menupopup id="placesContext"/>
330  +  +
331    +    <!-- Popup for site identity information -->
332    +    <panel id="identity-popup"
333    +           type="arrow"
334    +           hidden="true"
335    +           noautofocus="true"
336    +           onpopupshown="if (event.target == this)
337    +                           gIdentityHandler.onPopupShown(event);"
338    +           orient="vertical"
339    +           level="top">
340    +      <hbox id="identity-popup-container" align="top">
341    +        <image id="identity-popup-icon"/>
342    +        <vbox id="identity-popup-content-box">
343    +          <label id="identity-popup-brandName"
344    +                 class="identity-popup-label"
345    +                 value="&brandFullName;"/>
346    +          <label id="identity-popup-chromeLabel"
347    +                 class="identity-popup-label"/>
348    +          <label id="identity-popup-connectedToLabel"
349    +                 class="identity-popup-label"
350    +                 value="&identity.connectedTo;"/>
351    +          <label id="identity-popup-connectedToLabel2"
352    +                 class="identity-popup-label"
353    +                 value="&identity.unverifiedsite2;"/>
354    +          <description id="identity-popup-content-host"
355    +                       class="identity-popup-description"/>
356    +          <label id="identity-popup-runByLabel"
357    +                 class="identity-popup-label"
358    +                 value="&identity.runBy;"/>
359    +          <description id="identity-popup-content-owner"
360    +                       class="identity-popup-description"/>
361    +          <description id="identity-popup-content-supplemental"
362    +                       class="identity-popup-description"/>
363    +          <description id="identity-popup-content-verifier"
364    +                       class="identity-popup-description"/>
365    +          <hbox id="identity-popup-encryption" flex="1">
366    +            <vbox>
367    +              <image id="identity-popup-encryption-icon"/>
368    +            </vbox>
369    +            <description id="identity-popup-encryption-label" flex="1"
370    +                         class="identity-popup-description"/>
371    +          </hbox>
372    +          <vbox id="identity-popup-permissions">
373    +            <separator class="thin"/>
374    +            <label class="identity-popup-label header"
375    +                   value="&identity.permissions;"/>
376    +            <vbox id="identity-popup-permission-list" class="indent"/>
377    +          </vbox>
378    +        </vbox>
379    +      </hbox>
380    +      <!-- Footer button to open security page info -->
381    +      <hbox id="identity-popup-button-container" align="center">
382    +        <button id="identity-popup-help-icon"
383    +               oncommand="gIdentityHandler.handleHelpCommand(event);"
384    +               tooltiptext="&identity.help.tooltip;"/>
385    +        <spacer flex="1"/>
386    +        <button id="identity-popup-more-info-button"
387    +                label="&identity.moreInfoLinkText;"
388    +                oncommand="gIdentityHandler.handleMoreInfoClick(event);"/>
389    +      </hbox>
390    +    </panel>
391  +  +
392  +    <panel id="ctrlTab-panel" class="KUI-panel" hidden="true" norestorefocus="true" level="top">  +    <panel id="ctrlTab-panel" class="KUI-panel" hidden="true" norestorefocus="true" level="top">
393  +      <hbox>  +      <hbox>
# Line 307  new file mode 100644 Line 403  new file mode 100644
403  +      </hbox>  +      </hbox>
404  +    </panel>  +    </panel>
405  +  +
406    +    <!-- Sync Panel -->
407    +    <panel id="sync-start-panel" class="sync-panel" type="arrow" hidden="true"
408    +           noautofocus="true" onclick="this.hidePopup();"
409    +           flip="slide">
410    +      <hbox class="sync-panel-outer">
411    +        <image class="sync-panel-icon"/>
412    +        <vbox class="sync-panel-inner">
413    +          <description id="sync-start-panel-title"
414    +                       value="&syncStartPanel2.heading;"/>
415    +          <description id="sync-start-panel-subtitle"
416    +                       value="&syncStartPanel2.subTitle;"/>
417    +        </vbox>
418    +      </hbox>
419    +    </panel>
420    +
421    +    <!-- Sync Error Panel -->
422    +    <panel id="sync-error-panel" class="sync-panel" type="arrow" hidden="true"
423    +           noautofocus="true" onclick="this.hidePopup();"
424    +           flip="slide">
425    +      <hbox class="sync-panel-outer">
426    +        <image class="sync-panel-icon"/>
427    +        <vbox class="sync-panel-inner">
428    +          <description id="sync-error-panel-title"
429    +                       value="&syncErrorPanel.heading;"/>
430    +          <description id="sync-error-panel-subtitle"
431    +                       value="&syncErrorPanel.subTitle;"/>
432    +          <hbox class="sync-panel-button-box">
433    +            <spacer flex="1"/>
434    +            <button class="sync-panel-button"
435    +                    label="&syncErrorPanel.signInButton.label;"
436    +                    accesskey="&syncErrorPanel.signInButton.accesskey;"
437    +                    onclick="gFxAccounts.openSignInAgainPage();"/>
438    +          </hbox>
439    +        </vbox>
440    +      </hbox>
441    +    </panel>
442    +
443  +    <!-- Bookmarks and history tooltip -->  +    <!-- Bookmarks and history tooltip -->
444  +    <tooltip id="bhTooltip"/>  +    <tooltip id="bhTooltip"/>
445  +  +
 +    <panel id="customizeToolbarSheetPopup"  
 +           noautohide="true"  
 +           sheetstyle="&dialog.dimensions;"/>  
 +  
446  +    <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>  +    <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
447  +  +
448  +    <tooltip id="back-button-tooltip">  +    <tooltip id="back-button-tooltip">
# Line 336  new file mode 100644 Line 465  new file mode 100644
465  +  +
466  +#include popup-notifications.inc  +#include popup-notifications.inc
467  +  +
468    +#include ../../components/customizableui/content/panelUI.inc.xul
469    +
470    +    <hbox id="downloads-animation-container" mousethrough="always">
471    +      <vbox id="downloads-notification-anchor">
472    +        <vbox id="downloads-indicator-notification"/>
473    +      </vbox>
474    +    </hbox>
475    +
476    +    <hbox id="bookmarked-notification-container" mousethrough="always">
477    +      <vbox id="bookmarked-notification-anchor">
478    +        <vbox id="bookmarked-notification"/>
479    +      </vbox>
480    +      <vbox id="bookmarked-notification-dropmarker-anchor">
481    +        <image id="bookmarked-notification-dropmarker-icon"/>
482    +      </vbox>
483    +    </hbox>
484    +
485    +    <tooltip id="dynamic-shortcut-tooltip"
486    +             onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
487  +  </popupset>  +  </popupset>
488  +  +
489  +#ifdef CAN_DRAW_IN_TITLEBAR  +#ifdef CAN_DRAW_IN_TITLEBAR
490  +<vbox id="titlebar">  +<vbox id="titlebar">
491  +  <hbox id="titlebar-content">  +  <hbox id="titlebar-content">
 +#ifdef MENUBAR_CAN_AUTOHIDE  
 +    <hbox id="appmenu-button-container">  
 +      <button id="appmenu-button"  
 +              type="menu"  
 +              label="&brandShortName;"  
 +              style="-moz-user-focus: ignore;">  
 +#include browser-appmenu.inc  
 +      </button>  
 +    </hbox>  
 +#endif  
492  +    <spacer id="titlebar-spacer" flex="1"/>  +    <spacer id="titlebar-spacer" flex="1"/>
493  +    <hbox id="titlebar-buttonbox-container" align="start">  +    <hbox id="titlebar-buttonbox-container">
494    +#ifdef XP_WIN
495    +      <hbox id="private-browsing-indicator-titlebar">
496    +        <hbox class="private-browsing-indicator"/>
497    +      </hbox>
498    +#endif
499  +      <hbox id="titlebar-buttonbox">  +      <hbox id="titlebar-buttonbox">
500  +        <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/>  +        <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/>
501  +        <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/>  +        <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/>
502  +        <toolbarbutton class="titlebar-button" id="titlebar-close" command="cmd_closeWindow"/>  +        <toolbarbutton class="titlebar-button" id="titlebar-close" command="cmd_closeWindow"/>
503  +      </hbox>  +      </hbox>
504  +    </hbox>  +    </hbox>
505    +#ifdef XP_MACOSX
506    +    <!-- OS X does not natively support RTL for its titlebar items, so we prevent this secondary
507    +         buttonbox from reversing order in RTL by forcing an LTR direction. -->
508    +    <hbox id="titlebar-secondary-buttonbox" dir="ltr">
509    +      <hbox class="private-browsing-indicator"/>
510    +      <hbox id="titlebar-fullscreen-button"/>
511    +    </hbox>
512    +#endif
513  +  </hbox>  +  </hbox>
514  +</vbox>  +</vbox>
515  +#endif  +#endif
# Line 366  new file mode 100644 Line 517  new file mode 100644
517  +<deck flex="1" id="tab-view-deck">  +<deck flex="1" id="tab-view-deck">
518  +<vbox flex="1" id="browser-panel">  +<vbox flex="1" id="browser-panel">
519  +  +
520  +  <toolbox id="navigator-toolbox"  +  <toolbox id="navigator-toolbox" mode="icons">
 +           defaultmode="icons" mode="icons"  
 +           iconsize="large">  
521  +    <!-- Menu -->  +    <!-- Menu -->
522  +    <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"  +    <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
523  +             defaultset="menubar-items"  +             defaultset="menubar-items"
524  +             mode="icons" iconsize="small" defaulticonsize="small"  +             mode="icons" iconsize="small"
 +             lockiconsize="true"  
525  +#ifdef MENUBAR_CAN_AUTOHIDE  +#ifdef MENUBAR_CAN_AUTOHIDE
526  +             toolbarname="&menubarCmd.label;"  +             toolbarname="&menubarCmd.label;"
527  +             accesskey="&menubarCmd.accesskey;"  +             accesskey="&menubarCmd.accesskey;"
528    +#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
529    +             autohide="true"
530    +#endif
531  +#endif  +#endif
532  +             context="toolbar-context-menu">  +             context="toolbar-context-menu">
533  +      <toolbaritem id="menubar-items" align="center">  +      <toolbaritem id="menubar-items" align="center"
534    +                   cui-areatype="toolbar">
535  +# The entire main menubar is placed into browser-menubar.inc, so that it can be shared by  +# The entire main menubar is placed into browser-menubar.inc, so that it can be shared by
536  +# hiddenWindow.xul.  +# hiddenWindow.xul.
537  +#include browser-menubar.inc  +#include browser-menubar.inc
538  +      </toolbaritem>  +      </toolbaritem>
539  +  +
540  +#ifdef CAN_DRAW_IN_TITLEBAR  +#ifdef CAN_DRAW_IN_TITLEBAR
541  +      <hbox class="titlebar-placeholder" type="appmenu-button" ordinal="0"/>  +#ifndef XP_MACOSX
542  +      <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"/>  +      <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
543    +            id="titlebar-placeholder-on-menubar-for-caption-buttons" persist="width"
544    +            skipintoolbarset="true"/>
545    +#endif
546  +#endif  +#endif
547  +    </toolbar>  +    </toolbar>
548  +  +
549  +    <toolbar id="nav-bar" class="toolbar-primary chromeclass-toolbar"  +    <toolbar id="TabsToolbar"
550  +             toolbarname="&navbarCmd.label;" accesskey="&navbarCmd.accesskey;"  +             class="toolbar-primary"
551  +             fullscreentoolbar="true" mode="icons" customizable="true"  +             fullscreentoolbar="true"
552  +             iconsize="large"  +             customizable="true"
553  +             defaultset="unified-back-forward-button,urlbar-container,reload-button,stop-button,search-container,webrtc-status-button,bookmarks-menu-button,downloads-button,home-button,window-controls"  +             mode="icons"
554  +             context="toolbar-context-menu">  +             iconsize="small"
555    +             aria-label="&tabsToolbar.label;"
556    +             context="toolbar-context-menu"
557    +             defaultset="tabbrowser-tabs,new-tab-button,alltabs-button"
558    +             collapsed="true">
559  +  +
560  +      <toolbaritem id="unified-back-forward-button" class="chromeclass-toolbar-additional"  +#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
561  +                   context="backForwardMenu" removable="true"  +      <hbox id="private-browsing-indicator"
562  +                   forwarddisabled="true"  +            skipintoolbarset="true"/>
563  +                   title="&backForwardItem.title;">  +#endif
 +        <toolbarbutton id="back-button" class="toolbarbutton-1"  
 +                       label="&backCmd.label;"  
 +                       command="Browser:BackOrBackDuplicate"  
 +                       onclick="checkForMiddleClick(this, event);"  
 +                       tooltip="back-button-tooltip"/>  
 +        <toolbarbutton id="forward-button" class="toolbarbutton-1"  
 +                       label="&forwardCmd.label;"  
 +                       command="Browser:ForwardOrForwardDuplicate"  
 +                       onclick="checkForMiddleClick(this, event);"  
 +                       tooltip="forward-button-tooltip"/>  
 +        <dummyobservertarget hidden="true"  
 +                             onbroadcast="if (this.getAttribute('disabled') == 'true')  
 +                                            this.parentNode.setAttribute('forwarddisabled', 'true');  
 +                                          else  
 +                                            this.parentNode.removeAttribute('forwarddisabled');">  
 +          <observes element="Browser:ForwardOrForwardDuplicate" attribute="disabled"/>  
 +        </dummyobservertarget>  
 +      </toolbaritem>  
564  +  +
565  +      <toolbaritem id="urlbar-container" align="center" flex="400" persist="width" combined="true"  +      <tabs id="tabbrowser-tabs"
566  +                   title="&locationItem.title;" class="chromeclass-location" removable="true">  +            class="tabbrowser-tabs"
567  +        <textbox id="urlbar" flex="1"  +            tabbrowser="content"
568  +                 placeholder="&urlbar.placeholder2;"  +            flex="1"
569  +                 type="autocomplete"  +            setfocus="false"
570  +                 autocompletesearch="urlinline history"  +            tooltip="tabbrowser-tab-tooltip"
571  +                 autocompletesearchparam="enable-actions"  +            cui-areatype="toolbar"
572  +                 autocompletepopup="PopupAutoCompleteRichResult"  +            stopwatchid="FX_TAB_CLICK_MS">
573  +                 completeselectedindex="true"  +        <tab class="tabbrowser-tab" selected="true" fadein="true"/>
574  +                 tabscrolling="true"  +      </tabs>
 +                 showcommentcolumn="true"  
 +                 showimagecolumn="true"  
 +                 enablehistory="true"  
 +                 maxrows="6"  
 +                 newlines="stripsurroundingwhitespace"  
 +                 oninput="gBrowser.userTypedValue = this.value;"  
 +                 ontextentered="this.handleCommand(param);"  
 +                 ontextreverted="return this.handleRevert();"  
 +                 pageproxystate="invalid"  
 +                 onfocus="document.getElementById('identity-box').style.MozUserFocus= 'normal'"  
 +                 onblur="setTimeout(function() document.getElementById('identity-box').style.MozUserFocus = '', 0);">  
 +          <box id="notification-popup-box" hidden="true" align="center">  
 +            <image id="default-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="identity-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="geo-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="addons-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="password-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="webapps-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="alert-plugins-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="blocked-plugins-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="plugin-install-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="mixed-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"/>  
 +            <image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"/>  
 +          </box>  
 +          <!-- Use onclick instead of normal popup= syntax since the popup  
 +               code fires onmousedown, and hence eats our favicon drag events.  
 +               We only add the identity-box button to the tab order when the location bar  
 +               has focus, otherwise pressing F6 focuses it instead of the location bar -->  
 +          <box id="identity-box" role="button"  
 +               align="center"  
 +               onclick="gIdentityHandler.handleIdentityButtonEvent(event);"  
 +               onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"  
 +               ondragstart="gIdentityHandler.onDragStart(event);">  
 +            <image id="page-proxy-favicon"  
 +                   onclick="PageProxyClickHandler(event);"  
 +                   pageproxystate="invalid"/>  
 +            <hbox id="identity-icon-labels">  
 +              <label id="identity-icon-label" class="plain" flex="1"/>  
 +              <label id="identity-icon-country-label" class="plain"/>  
 +            </hbox>  
 +          </box>  
 +          <box id="urlbar-display-box" align="center">  
 +            <label id="urlbar-display" value="&urlbar.switchToTab.label;"/>  
 +          </box>  
 +          <hbox id="urlbar-icons">  
 +            <image id="page-report-button"  
 +                   class="urlbar-icon"  
 +                   hidden="true"  
 +                   tooltiptext="&pageReportIcon.tooltip;"  
 +                   onclick="gPopupBlockerObserver.onReportButtonClick(event);"/>  
 +            <image id="star-button"  
 +                   class="urlbar-icon"  
 +                   onclick="BookmarkingUI.onCommand(event);"/>  
 +            <image id="go-button"  
 +                   class="urlbar-icon"  
 +                   tooltiptext="&goEndCap.tooltip;"  
 +                   onclick="gURLBar.handleCommand(event);"/>  
 +          </hbox>  
 +          <toolbarbutton id="urlbar-go-button"  
 +                         class="chromeclass-toolbar-additional"  
 +                         onclick="gURLBar.handleCommand(event);"  
 +                         tooltiptext="&goEndCap.tooltip;"/>  
 +          <toolbarbutton id="urlbar-reload-button"  
 +                         class="chromeclass-toolbar-additional"  
 +                         command="Browser:ReloadOrDuplicate"  
 +                         onclick="checkForMiddleClick(this, event);"  
 +                         tooltiptext="&reloadButton.tooltip;"/>  
 +          <toolbarbutton id="urlbar-stop-button"  
 +                         class="chromeclass-toolbar-additional"  
 +                         command="Browser:Stop"  
 +                         tooltiptext="&stopButton.tooltip;"/>  
 +        </textbox>  
 +      </toolbaritem>  
575  +  +
576  +      <toolbarbutton id="reload-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  +      <toolbarbutton id="new-tab-button"
577  +                     label="&reloadCmd.label;" removable="true"  +                     class="toolbarbutton-1 chromeclass-toolbar-additional"
578  +                     command="Browser:ReloadOrDuplicate"  +                     label="&tabCmd.label;"
579    +                     command="cmd_newNavigatorTab"
580  +                     onclick="checkForMiddleClick(this, event);"  +                     onclick="checkForMiddleClick(this, event);"
581  +                     tooltiptext="&reloadButton.tooltip;"/>  +                     tooltiptext="&newTabButton.tooltip;"
582  +  +                     ondrop="newTabButtonObserver.onDrop(event)"
583  +      <toolbarbutton id="stop-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  +                     ondragover="newTabButtonObserver.onDragOver(event)"
584  +                     label="&stopCmd.label;" removable="true"  +                     ondragenter="newTabButtonObserver.onDragOver(event)"
585  +                     command="Browser:Stop"  +                     ondragexit="newTabButtonObserver.onDragExit(event)"
586  +                     tooltiptext="&stopButton.tooltip;"/>  +                     cui-areatype="toolbar"
587  +  +                     removable="true"/>
 +      <toolbaritem id="search-container" title="&searchItem.title;"  
 +                   align="center" class="chromeclass-toolbar-additional"  
 +                   flex="100" persist="width" removable="true">  
 +        <searchbar id="searchbar" flex="1"/>  
 +      </toolbaritem>  
588  +  +
589  +      <toolbarbutton id="webrtc-status-button"  +      <toolbarbutton id="alltabs-button"
590  +                     class="toolbarbutton-1 chromeclass-toolbar-additional"  +                     class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button"
591  +                     type="menu"  +                     type="menu"
592  +                     hidden="true"  +                     label="&listAllTabs.label;"
593  +                     orient="horizontal"  +                     tooltiptext="&listAllTabs.label;"
594  +                     label="&webrtcIndicatorButton.label;"  +                     removable="false">
595  +                     tooltiptext="&webrtcIndicatorButton.tooltip;">  +        <menupopup id="alltabs-popup"
596  +        <menupopup onpopupshowing="WebrtcIndicator.fillPopup(this);"  +                   position="after_end">
597  +                   onpopuphiding="WebrtcIndicator.clearPopup(this);"  +          <menuitem id="menu_tabview"
598  +                   oncommand="WebrtcIndicator.menuCommand(event.target);"/>  +                    class="menuitem-iconic"
599    +                    key="key_tabview"
600    +                    label="&viewTabGroups.label;"
601    +                    command="Browser:ToggleTabView"
602    +                    cui-areatype="toolbar"
603    +                    observes="tabviewGroupsNumber"/>
604    +          <menuseparator id="alltabs-popup-separator"/>
605    +        </menupopup>
606  +      </toolbarbutton>  +      </toolbarbutton>
607  +  +
608  +      <toolbarbutton id="bookmarks-menu-button"  +#if !defined(MOZ_WIDGET_GTK) && !defined(MOZ_WIDGET_QT)
609  +                     class="toolbarbutton-1 chromeclass-toolbar-additional"  +      <hbox class="private-browsing-indicator" skipintoolbarset="true"/>
 +                     persist="class"  
 +                     removable="true"  
 +                     type="menu"  
 +                     label="&bookmarksMenuButton.label;"  
 +                     tooltiptext="&bookmarksMenuButton.tooltip;"  
 +                     ondragenter="PlacesMenuDNDHandler.onDragEnter(event);"  
 +                     ondragover="PlacesMenuDNDHandler.onDragOver(event);"  
 +                     ondragleave="PlacesMenuDNDHandler.onDragLeave(event);"  
 +                     ondrop="PlacesMenuDNDHandler.onDrop(event);">  
 +        <menupopup id="BMB_bookmarksPopup"  
 +                   placespopup="true"  
 +                   context="placesContext"  
 +                   openInTabs="children"  
 +                   oncommand="BookmarksEventHandler.onCommand(event, this.parentNode._placesView);"  
 +                   onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);"  
 +                   onpopupshowing="BookmarkingUI.onPopupShowing(event);  
 +                                   if (!this.parentNode._placesView)  
 +                                     new PlacesMenu(event, 'place:folder=BOOKMARKS_MENU');"  
 +                   tooltip="bhTooltip" popupsinherittooltip="true">  
 +          <menuitem id="BMB_viewBookmarksToolbar"  
 +                    placesanonid="view-toolbar"  
 +                    toolbarId="PersonalToolbar"  
 +                    type="checkbox"  
 +                    oncommand="onViewToolbarCommand(event)"  
 +                    label="&viewBookmarksToolbar.label;"/>  
 +          <menuseparator/>  
 +          <menuitem id="BMB_bookmarksShowAll"  
 +                    label="&showAllBookmarks2.label;"  
 +                    command="Browser:ShowAllBookmarks"  
 +                    key="manBookmarkKb"/>  
 +          <menuseparator/>  
 +          <menuitem id="BMB_bookmarkThisPage"  
 +#ifndef XP_MACOSX  
 +                    class="menuitem-iconic"  
610  +#endif  +#endif
611  +                    label="&bookmarkThisPageCmd.label;"  +#ifdef CAN_DRAW_IN_TITLEBAR
612  +                    command="Browser:AddBookmarkAs"  +      <hbox class="titlebar-placeholder" type="caption-buttons"
613  +                    key="addBookmarkAsKb"/>  +            id="titlebar-placeholder-on-TabsToolbar-for-captions-buttons" persist="width"
 +          <menuitem id="BMB_subscribeToPageMenuitem"  
614  +#ifndef XP_MACOSX  +#ifndef XP_MACOSX
615  +                    class="menuitem-iconic"  +            ordinal="1000"
616  +#endif  +#endif
617  +                    label="&subscribeToPageMenuitem.label;"  +            skipintoolbarset="true"/>
618  +                    oncommand="return FeedHandler.subscribeToFeed(null, event);"  +
619  +                    onclick="checkForMiddleClick(this, event);"  +#ifdef XP_MACOSX
620  +                    observes="singleFeedMenuitemState"/>  +      <hbox class="titlebar-placeholder" type="fullscreen-button"
621  +          <menu id="BMB_subscribeToPageMenupopup"  +            id="titlebar-placeholder-on-TabsToolbar-for-fullscreen-button" persist="width"
622  +#ifndef XP_MACOSX  +            skipintoolbarset="true"/>
 +                class="menu-iconic"  
623  +#endif  +#endif
624  +                label="&subscribeToPageMenupopup.label;"  +#endif
625  +                observes="multipleFeedsMenuState">  +    </toolbar>
 +            <menupopup id="BMB_subscribeToPageSubmenuMenupopup"  
 +                       onpopupshowing="return FeedHandler.buildFeedList(event.target);"  
 +                       oncommand="return FeedHandler.subscribeToFeed(null, event);"  
 +                       onclick="checkForMiddleClick(this, event);"/>  
 +          </menu>  
 +          <menuseparator/>  
 +          <menu id="BMB_bookmarksToolbar"  
 +                placesanonid="toolbar-autohide"  
 +                class="menu-iconic bookmark-item"  
 +                label="&personalbarCmd.label;"  
 +                container="true">  
 +            <menupopup id="BMB_bookmarksToolbarPopup"  
 +                       placespopup="true"  
 +                       context="placesContext"  
 +                       onpopupshowing="if (!this.parentNode._placesView)  
 +                                         new PlacesMenu(event, 'place:folder=TOOLBAR');"/>  
 +          </menu>  
 +          <menuseparator/>  
 +          <!-- Bookmarks menu items -->  
 +          <menuseparator builder="end"  
 +                         class="hide-if-empty-places-result"/>  
 +          <menuitem id="BMB_unsortedBookmarks"  
 +                    label="&bookmarksMenuButton.unsorted.label;"  
 +                    oncommand="PlacesCommandHook.showPlacesOrganizer('UnfiledBookmarks');"  
 +                    class="menuitem-iconic"/>  
 +        </menupopup>  
 +      </toolbarbutton>  
626  +  +
627  +      <toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  +    <!--
628  +                     persist="class" removable="true"  +           CAVEAT EMPTOR
629  +                     label="&homeButton.label;"  +           Should you need to add items to the toolbar here, make sure to also add them
630  +                     ondragover="homeButtonObserver.onDragOver(event)"  +           to the default placements of buttons in CustomizableUI.jsm, so the
631  +                     ondragenter="homeButtonObserver.onDragOver(event)"  +           customization code doesn't get confused.
632  +                     ondrop="homeButtonObserver.onDrop(event)"  +      -->
633  +                     ondragexit="homeButtonObserver.onDragExit(event)"  +    <toolbar id="nav-bar" class="toolbar-primary chromeclass-toolbar"
634  +                     onclick="BrowserGoHome(event);"  +             aria-label="&navbarCmd.label;"
635  +                     aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>  +             fullscreentoolbar="true" mode="icons" customizable="true"
636    +             iconsize="small"
637    +             defaultset="urlbar-container,search-container,webrtc-status-button,bookmarks-menu-button,downloads-button,home-button,social-share-button,social-toolbar-item"
638    +             customizationtarget="nav-bar-customization-target"
639    +             overflowable="true"
640    +             overflowbutton="nav-bar-overflow-button"
641    +             overflowtarget="widget-overflow-list"
642    +             overflowpanel="widget-overflow"
643    +             context="toolbar-context-menu">
644  +  +
645  +      <toolbarbutton id="social-share-button"  +      <hbox id="nav-bar-customization-target" flex="1">
646  +                     class="toolbarbutton-1 chromeclass-toolbar-additional"  +        <toolbaritem id="urlbar-container" flex="400" persist="width"
647  +                     hidden="true"  +                     title="&locationItem.title;" removable="false"
648  +                     label="&sharePageCmd.label;"  +                     cui-areatype="toolbar"
649  +                     tooltiptext="&sharePageCmd.label;"  +                     class="chromeclass-location" overflows="false">
650  +                     command="Social:SharePage"/>  +          <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
651    +                         label="&backCmd.label;"
652    +                         command="Browser:BackOrBackDuplicate"
653    +                         cui-areatype="toolbar"
654    +                         onclick="checkForMiddleClick(this, event);"
655    +                         tooltip="back-button-tooltip"
656    +                         context="backForwardMenu"/>
657    +          <hbox id="urlbar-wrapper" flex="1">
658    +            <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
659    +                           label="&forwardCmd.label;"
660    +                           command="Browser:ForwardOrForwardDuplicate"
661    +                           cui-areatype="toolbar"
662    +                           onclick="checkForMiddleClick(this, event);"
663    +                           tooltip="forward-button-tooltip"
664    +                           context="backForwardMenu"/>
665    +            <textbox id="urlbar" flex="1"
666    +                     placeholder="&urlbar.placeholder2;"
667    +                     type="autocomplete"
668    +                     autocompletesearch="urlinline history"
669    +                     autocompletesearchparam="enable-actions"
670    +                     autocompletepopup="PopupAutoCompleteRichResult"
671    +                     completeselectedindex="true"
672    +                     tabscrolling="true"
673    +                     showcommentcolumn="true"
674    +                     showimagecolumn="true"
675    +                     enablehistory="true"
676    +                     maxrows="6"
677    +                     newlines="stripsurroundingwhitespace"
678    +                     oninput="gBrowser.userTypedValue = this.value;"
679    +                     ontextentered="this.handleCommand(param);"
680    +                     ontextreverted="return this.handleRevert();"
681    +                     pageproxystate="invalid"
682    +                     onfocus="document.getElementById('identity-box').style.MozUserFocus= 'normal'"
683    +                     onblur="setTimeout(function() document.getElementById('identity-box').style.MozUserFocus = '', 0);">
684    +              <box id="notification-popup-box" hidden="true" align="center">
685    +                <image id="default-notification-icon" class="notification-anchor-icon" role="button"/>
686    +                <image id="identity-notification-icon" class="notification-anchor-icon" role="button"/>
687    +                <image id="geo-notification-icon" class="notification-anchor-icon" role="button"/>
688    +                <image id="addons-notification-icon" class="notification-anchor-icon" role="button"/>
689    +                <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"/>
690    +                <image id="password-notification-icon" class="notification-anchor-icon" role="button"/>
691    +                <image id="webapps-notification-icon" class="notification-anchor-icon" role="button"/>
692    +                <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"/>
693    +                <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"/>
694    +                <image id="plugin-install-notification-icon" class="notification-anchor-icon" role="button"/>
695    +                <image id="mixed-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>
696    +                <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"/>
697    +                <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"/>
698    +                <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon" role="button"/>
699    +                <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon" role="button"/>
700    +                <image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"/>
701    +                <image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"/>
702    +                <image id="translate-notification-icon" class="notification-anchor-icon" role="button"/>
703    +                <image id="translated-notification-icon" class="notification-anchor-icon" role="button"/>
704    +              </box>
705    +              <!-- Use onclick instead of normal popup= syntax since the popup
706    +                   code fires onmousedown, and hence eats our favicon drag events.
707    +                   We only add the identity-box button to the tab order when the location bar
708    +                   has focus, otherwise pressing F6 focuses it instead of the location bar -->
709    +              <box id="identity-box" role="button"
710    +                   align="center"
711    +                   onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
712    +                   onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
713    +                   ondragstart="gIdentityHandler.onDragStart(event);">
714    +                <image id="page-proxy-favicon"
715    +                       onclick="PageProxyClickHandler(event);"
716    +                       pageproxystate="invalid"/>
717    +                <hbox id="identity-icon-labels">
718    +                  <label id="identity-icon-label" class="plain" flex="1"/>
719    +                  <label id="identity-icon-country-label" class="plain"/>
720    +                </hbox>
721    +              </box>
722    +              <box id="urlbar-display-box" align="center">
723    +                <label id="urlbar-display" value="&urlbar.switchToTab.label;"/>
724    +              </box>
725    +              <hbox id="urlbar-icons">
726    +                <image id="page-report-button"
727    +                       class="urlbar-icon"
728    +                       hidden="true"
729    +                       tooltiptext="&pageReportIcon.tooltip;"
730    +                       onclick="gPopupBlockerObserver.onReportButtonClick(event);"/>
731    +              </hbox>
732    +              <toolbarbutton id="urlbar-go-button"
733    +                             class="chromeclass-toolbar-additional"
734    +                             onclick="gURLBar.handleCommand(event);"
735    +                             tooltiptext="&goEndCap.tooltip;"/>
736    +              <toolbarbutton id="urlbar-reload-button"
737    +                             class="chromeclass-toolbar-additional"
738    +                             command="Browser:ReloadOrDuplicate"
739    +                             onclick="checkForMiddleClick(this, event);"
740    +                             tooltiptext="&reloadButton.tooltip;"/>
741    +              <toolbarbutton id="urlbar-stop-button"
742    +                             class="chromeclass-toolbar-additional"
743    +                             command="Browser:Stop"
744    +                             tooltiptext="&stopButton.tooltip;"/>
745    +            </textbox>
746    +          </hbox>
747    +        </toolbaritem>
748  +  +
749  +      <toolbaritem id="social-toolbar-item"  +        <toolbaritem id="search-container" title="&searchItem.title;"
750  +                   class="chromeclass-toolbar-additional"  +                     align="center" class="chromeclass-toolbar-additional panel-wide-item"
751  +                   removable="false"  +                     cui-areatype="toolbar"
752  +                   title="&socialToolbar.title;"  +                     flex="100" persist="width" removable="true">
753  +                   hidden="true"  +          <searchbar id="searchbar" flex="1"/>
754  +                   skipintoolbarset="true"  +        </toolbaritem>
755  +                   observes="socialActiveBroadcaster">  +
756  +        <toolbarbutton id="social-notification-icon" class="default-notification-icon toolbarbutton-1 notification-anchor-icon"  +        <toolbarbutton id="webrtc-status-button"
757  +                   oncommand="PopupNotifications._reshowNotifications(this,  +                       class="toolbarbutton-1 chromeclass-toolbar-additional"
758  +                                document.getElementById('social-sidebar-browser'));"/>  +                       type="menu"
759  +        <toolbarbutton id="social-provider-button"  +                       hidden="true"
760  +                       class="toolbarbutton-1"  +                       orient="horizontal"
761  +                       type="menu">  +                       label="&webrtcIndicatorButton.label;"
762  +          <menupopup id="social-statusarea-popup">  +                       tooltiptext="&webrtcIndicatorButton.tooltip;"
763  +            <menuitem class="social-statusarea-user menuitem-iconic" pack="start" align="center"  +                       cui-areatype="toolbar"
764  +                      observes="socialBroadcaster_userDetails"  +                       overflows="false">
765  +                      oncommand="SocialUI.showProfile(); document.getElementById('social-statusarea-popup').hidePopup();">  +          <menupopup onpopupshowing="WebrtcIndicator.fillPopup(this);"
766  +              <image class="social-statusarea-user-portrait"  +                     onpopuphiding="WebrtcIndicator.clearPopup(this);"
767  +                     observes="socialBroadcaster_userDetails"/>  +                     oncommand="WebrtcIndicator.menuCommand(event.target);"/>
768  +              <vbox>  +        </toolbarbutton>
769  +                <label class="social-statusarea-loggedInStatus"  +
770  +                       observes="socialBroadcaster_userDetails"/>  +        <toolbarbutton id="bookmarks-menu-button"
771  +              </vbox>  +                       class="toolbarbutton-1 chromeclass-toolbar-additional"
772    +                       persist="class"
773    +                       removable="true"
774    +                       type="menu-button"
775    +                       label="&bookmarksMenuButton.label;"
776    +                       tooltip="dynamic-shortcut-tooltip"
777    +                       anchor="dropmarker"
778    +                       ondragenter="PlacesMenuDNDHandler.onDragEnter(event);"
779    +                       ondragover="PlacesMenuDNDHandler.onDragOver(event);"
780    +                       ondragleave="PlacesMenuDNDHandler.onDragLeave(event);"
781    +                       ondrop="PlacesMenuDNDHandler.onDrop(event);"
782    +                       cui-areatype="toolbar"
783    +                       oncommand="BookmarkingUI.onCommand(event);">
784    +          <menupopup id="BMB_bookmarksPopup"
785    +                     class="cui-widget-panel cui-widget-panelview cui-widget-panelWithFooter PanelUI-subView"
786    +                     placespopup="true"
787    +                     context="placesContext"
788    +                     openInTabs="children"
789    +                     oncommand="BookmarksEventHandler.onCommand(event, this.parentNode._placesView);"
790    +                     onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);"
791    +                     onpopupshowing="BookmarkingUI.onPopupShowing(event);
792    +                                     BookmarkingUI.attachPlacesView(event, this);"
793    +                     tooltip="bhTooltip" popupsinherittooltip="true">
794    +            <menuitem id="BMB_viewBookmarksSidebar"
795    +                      class="subviewbutton"
796    +                      label="&viewBookmarksSidebar2.label;"
797    +                      type="checkbox"
798    +                      oncommand="toggleSidebar('viewBookmarksSidebar');">
799    +              <observes element="viewBookmarksSidebar" attribute="checked"/>
800  +            </menuitem>  +            </menuitem>
801  +#ifndef XP_WIN  +            <!-- NB: temporary solution for bug 985024, this should go away soon. -->
802  +            <menuseparator class="social-statusarea-separator"/>  +            <menuitem id="BMB_bookmarksShowAllTop"
803    +                      class="menuitem-iconic subviewbutton"
804    +                      label="&showAllBookmarks2.label;"
805    +                      command="Browser:ShowAllBookmarks"
806    +                      key="manBookmarkKb"/>
807    +            <menuseparator/>
808    +            <menuitem id="BMB_subscribeToPageMenuitem"
809    +#ifndef XP_MACOSX
810    +                      class="menuitem-iconic subviewbutton"
811    +#else
812    +                      class="subviewbutton"
813  +#endif  +#endif
814  +            <menuitem class="social-toggle-sidebar-menuitem"  +                      label="&subscribeToPageMenuitem.label;"
815  +                      type="checkbox"  +                      oncommand="return FeedHandler.subscribeToFeed(null, event);"
816  +                      autocheck="false"  +                      onclick="checkForMiddleClick(this, event);"
817  +                      command="Social:ToggleSidebar"  +                      observes="singleFeedMenuitemState"/>
818  +                      label="&social.toggleSidebar.label;"  +            <menu id="BMB_subscribeToPageMenupopup"
819  +                      accesskey="&social.toggleSidebar.accesskey;"/>  +#ifndef XP_MACOSX
820  +            <menuitem class="social-toggle-notifications-menuitem"  +                  class="menu-iconic subviewbutton"
821  +                      type="checkbox"  +#else
822  +                      autocheck="false"  +                  class="subviewbutton"
823  +                      command="Social:ToggleNotifications"  +#endif
824  +                      label="&social.toggleNotifications.label;"  +                  label="&subscribeToPageMenupopup.label;"
825  +                      accesskey="&social.toggleNotifications.accesskey;"/>  +                  observes="multipleFeedsMenuState">
826  +            <menuitem class="social-toggle-menuitem" command="Social:Toggle"/>  +              <menupopup id="BMB_subscribeToPageSubmenuMenupopup"
827    +                         onpopupshowing="return FeedHandler.buildFeedList(event.target);"
828    +                         oncommand="return FeedHandler.subscribeToFeed(null, event);"
829    +                         onclick="checkForMiddleClick(this, event);"/>
830    +            </menu>
831  +            <menuseparator/>  +            <menuseparator/>
832  +            <menuseparator class="social-provider-menu" hidden="true"/>  +            <menu id="BMB_bookmarksToolbar"
833  +            <menuitem class="social-addons-menuitem" command="Social:Addons"  +                  class="menu-iconic bookmark-item subviewbutton"
834  +                      label="&social.addons.label;"/>  +                  label="&personalbarCmd.label;"
835  +            <menuitem label="&social.learnMore.label;"  +                  container="true">
836  +                      accesskey="&social.learnMore.accesskey;"  +              <menupopup id="BMB_bookmarksToolbarPopup"
837  +                      oncommand="SocialUI.showLearnMore();"/>  +                         placespopup="true"
838    +                         context="placesContext"
839    +                         onpopupshowing="if (!this.parentNode._placesView)
840    +                                           new PlacesMenu(event, 'place:folder=TOOLBAR',
841    +                                                          PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);">
842    +                <menuitem id="BMB_viewBookmarksToolbar"
843    +                          placesanonid="view-toolbar"
844    +                          toolbarId="PersonalToolbar"
845    +                          type="checkbox"
846    +                          oncommand="onViewToolbarCommand(event)"
847    +                          label="&viewBookmarksToolbar.label;"/>
848    +                <menuseparator/>
849    +                <!-- Bookmarks toolbar items -->
850    +              </menupopup>
851    +            </menu>
852    +            <menu id="BMB_unsortedBookmarks"
853    +                  class="menu-iconic bookmark-item subviewbutton"
854    +                  label="&bookmarksMenuButton.unsorted.label;"
855    +                  container="true">
856    +              <menupopup id="BMB_unsortedBookmarksPopup"
857    +                         placespopup="true"
858    +                         context="placesContext"
859    +                         onpopupshowing="if (!this.parentNode._placesView)
860    +                                           new PlacesMenu(event, 'place:folder=UNFILED_BOOKMARKS',
861    +                                                          PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
862    +            </menu>
863    +            <menuseparator/>
864    +            <!-- Bookmarks menu items will go here -->
865    +            <menuitem id="BMB_bookmarksShowAll"
866    +                      class="subviewbutton panel-subview-footer"
867    +                      label="&showAllBookmarks2.label;"
868    +                      command="Browser:ShowAllBookmarks"
869    +                      key="manBookmarkKb"/>
870  +          </menupopup>  +          </menupopup>
871  +        </toolbarbutton>  +        </toolbarbutton>
872  +        <toolbarbutton id="social-mark-button"  +
873  +                       class="toolbarbutton-1"  +        <!-- This is a placeholder for the Downloads Indicator.  It is visible
874    +             during the customization of the toolbar, in the palette, and before
875    +             the Downloads Indicator overlay is loaded. -->
876    +        <toolbarbutton id="downloads-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
877    +                       oncommand="DownloadsIndicatorView.onCommand(event);"
878    +                       ondrop="DownloadsIndicatorView.onDrop(event);"
879    +                       ondragover="DownloadsIndicatorView.onDragOver(event);"
880    +                       ondragenter="DownloadsIndicatorView.onDragOver(event);"
881    +                       label="&downloads.label;"
882    +                       removable="true"
883    +                       cui-areatype="toolbar"
884    +                       tooltiptext="&downloads.tooltip;"/>
885    +
886    +        <toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
887    +                       persist="class" removable="true"
888    +                       label="&homeButton.label;"
889    +                       ondragover="homeButtonObserver.onDragOver(event)"
890    +                       ondragenter="homeButtonObserver.onDragOver(event)"
891    +                       ondrop="homeButtonObserver.onDrop(event)"
892    +                       ondragexit="homeButtonObserver.onDragExit(event)"
893    +                       onclick="BrowserGoHome(event);"
894    +                       cui-areatype="toolbar"
895    +                       aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
896    +
897    +
898    +        <toolbarbutton id="social-share-button"
899    +                       class="toolbarbutton-1 chromeclass-toolbar-additional"
900  +                       hidden="true"  +                       hidden="true"
901  +                       disabled="true"  +                       overflows="false"
902  +                       command="Social:TogglePageMark"/>  +                       label="&sharePageCmd.label;"
903    +                       tooltiptext="&sharePageCmd.label;"
904    +                       cui-areatype="toolbar"
905    +                       command="Social:SharePage"/>
906    +      </hbox>
907    +
908    +      <toolbarbutton id="nav-bar-overflow-button"
909    +                     class="toolbarbutton-1 chromeclass-toolbar-additional overflow-button"
910    +                     cui-areatype="toolbar"
911    +                     skipintoolbarset="true"
912    +                     tooltiptext="&navbarOverflow.label;"/>
913    +
914    +      <toolbaritem id="PanelUI-button"
915    +                   class="chromeclass-toolbar-additional"
916    +                   cui-areatype="toolbar"
917    +                   removable="false">
918    +        <toolbarbutton id="PanelUI-menu-button"
919    +                       class="toolbarbutton-1"
920    +                       cui-areatype="toolbar"
921    +                       label="&brandShortName;"
922    +                       tooltiptext="&appmenu.tooltip;"/>
923  +      </toolbaritem>  +      </toolbaritem>
924  +  +
925  +      <hbox id="window-controls" hidden="true" pack="end">  +      <hbox id="window-controls" hidden="true" pack="end" skipintoolbarset="true"
926    +            ordinal="1000">
927  +        <toolbarbutton id="minimize-button"  +        <toolbarbutton id="minimize-button"
928  +                       tooltiptext="&fullScreenMinimize.tooltip;"  +                       tooltiptext="&fullScreenMinimize.tooltip;"
929  +                       oncommand="window.minimize();"/>  +                       oncommand="window.minimize();"/>
930  +  +
931  +        <toolbarbutton id="restore-button"  +        <toolbarbutton id="restore-button"
932    +#ifdef XP_MACOSX
933    +# Prior to 10.7 there wasn't a native fullscreen button so we use #restore-button
934    +# to exit fullscreen and want it to behave like other toolbar buttons.
935    +                       class="toolbarbutton-1"
936    +                       cui-areatype="toolbar"
937    +#endif
938  +                       tooltiptext="&fullScreenRestore.tooltip;"  +                       tooltiptext="&fullScreenRestore.tooltip;"
939  +                       oncommand="BrowserFullScreen();"/>  +                       oncommand="BrowserFullScreen();"/>
940  +  +
# Line 713  new file mode 100644 Line 947  new file mode 100644
947  +    <toolbarset id="customToolbars" context="toolbar-context-menu"/>  +    <toolbarset id="customToolbars" context="toolbar-context-menu"/>
948  +  +
949  +    <toolbar id="PersonalToolbar"  +    <toolbar id="PersonalToolbar"
950  +             mode="icons" iconsize="small" defaulticonsize="small"  +             mode="icons" iconsize="small"
 +             lockiconsize="true"  
951  +             class="chromeclass-directories"  +             class="chromeclass-directories"
952  +             context="toolbar-context-menu"  +             context="toolbar-context-menu"
953  +             defaultset="personal-bookmarks"  +             defaultset="personal-bookmarks"
954  +             toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"  +             toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
955  +             collapsed="true"  +             collapsed="true"
956  +             customizable="true">  +             customizable="true">
957  +      <toolbaritem flex="1" id="personal-bookmarks" title="&bookmarksItem.title;"  +      <toolbaritem id="personal-bookmarks"
958    +                   title="&bookmarksToolbarItem.label;"
959    +                   cui-areatype="toolbar"
960  +                   removable="true">  +                   removable="true">
961    +        <toolbarbutton id="bookmarks-toolbar-placeholder"
962    +                       class="toolbarbutton-1"
963    +                       mousethrough="never"
964    +                       label="&bookmarksToolbarItem.label;"
965    +                       oncommand="PlacesToolbarHelper.onPlaceholderCommand();"/>
966  +        <hbox flex="1"  +        <hbox flex="1"
967  +              id="PlacesToolbar"  +              id="PlacesToolbar"
968  +              context="placesContext"  +              context="placesContext"
# Line 730  new file mode 100644 Line 970  new file mode 100644
970  +              oncommand="BookmarksEventHandler.onCommand(event, this._placesView);"  +              oncommand="BookmarksEventHandler.onCommand(event, this._placesView);"
971  +              tooltip="bhTooltip"  +              tooltip="bhTooltip"
972  +              popupsinherittooltip="true">  +              popupsinherittooltip="true">
 +          <toolbarbutton class="bookmark-item bookmarks-toolbar-customize"  
 +                         mousethrough="never"  
 +                         label="&bookmarksToolbarItem.label;"/>  
973  +          <hbox flex="1">  +          <hbox flex="1">
974  +            <hbox align="center">  +            <hbox id="PlacesToolbarDropIndicatorHolder" align="center" collapsed="true">
975  +              <image id="PlacesToolbarDropIndicator"  +              <image id="PlacesToolbarDropIndicator"
976  +                     mousethrough="always"  +                     mousethrough="always"
977  +                     collapsed="true"/>  +                     collapsed="true"/>
# Line 760  new file mode 100644 Line 997  new file mode 100644
997  +      </toolbaritem>  +      </toolbaritem>
998  +    </toolbar>  +    </toolbar>
999  +  +
1000  +#ifdef MENUBAR_CAN_AUTOHIDE  +    <!-- This is a shim which will go away ASAP. See bug 749804 for details -->
1001  +#ifndef CAN_DRAW_IN_TITLEBAR  +    <toolbar id="addon-bar" toolbar-delegate="nav-bar" mode="icons" iconsize="small"
1002  +#define APPMENU_ON_TABBAR  +             customizable="true">
1003  +#endif  +      <hbox id="addonbar-closebutton"/>
1004  +#endif  +      <statusbar id="status-bar"/>
 +  
 +  
 +    <toolbar id="TabsToolbar"  
 +             class="toolbar-primary"  
 +             fullscreentoolbar="true"  
 +             customizable="true"  
 +             mode="icons" lockmode="true"  
 +             iconsize="small" defaulticonsize="small" lockiconsize="true"  
 +             aria-label="&tabsToolbar.label;"  
 +             context="toolbar-context-menu"  
 +#ifdef APPMENU_ON_TABBAR  
 +             defaultset="appmenu-toolbar-button,tabbrowser-tabs,new-tab-button,alltabs-button,tabs-closebutton"  
 +#else  
 +             defaultset="tabbrowser-tabs,new-tab-button,alltabs-button,tabs-closebutton"  
 +#endif  
 +             collapsed="true">  
 +  
 +#ifdef APPMENU_ON_TABBAR  
 +      <toolbarbutton id="appmenu-toolbar-button"  
 +                     class="chromeclass-toolbar-additional"  
 +                     type="menu"  
 +                     label="&brandShortName;"  
 +                     tooltiptext="&appMenuButton.tooltip;">  
 +#include browser-appmenu.inc  
 +      </toolbarbutton>  
 +#endif  
 +  
 +      <tabs id="tabbrowser-tabs"  
 +            class="tabbrowser-tabs"  
 +            tabbrowser="content"  
 +            flex="1"  
 +            setfocus="false"  
 +            tooltip="tabbrowser-tab-tooltip"  
 +            stopwatchid="FX_TAB_CLICK_MS">  
 +        <tab class="tabbrowser-tab" selected="true" fadein="true"/>  
 +      </tabs>  
 +  
 +      <toolbarbutton id="new-tab-button"  
 +                     class="toolbarbutton-1 chromeclass-toolbar-additional"  
 +                     label="&tabCmd.label;"  
 +                     command="cmd_newNavigatorTab"  
 +                     onclick="checkForMiddleClick(this, event);"  
 +                     tooltiptext="&newTabButton.tooltip;"  
 +                     ondrop="newTabButtonObserver.onDrop(event)"  
 +                     ondragover="newTabButtonObserver.onDragOver(event)"  
 +                     ondragenter="newTabButtonObserver.onDragOver(event)"  
 +                     ondragexit="newTabButtonObserver.onDragExit(event)"  
 +                     removable="true"/>  
 +  
 +      <toolbarbutton id="alltabs-button"  
 +                     class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button"  
 +                     type="menu"  
 +                     label="&listAllTabs.label;"  
 +                     tooltiptext="&listAllTabs.label;"  
 +                     removable="true">  
 +        <menupopup id="alltabs-popup"  
 +                   position="after_end">  
 +          <menuitem id="menu_tabview"  
 +                    class="menuitem-iconic"  
 +                    key="key_tabview"  
 +                    label="&viewTabGroups.label;"  
 +                    command="Browser:ToggleTabView"  
 +                    observes="tabviewGroupsNumber"/>  
 +          <menuseparator id="alltabs-popup-separator"/>  
 +        </menupopup>  
 +      </toolbarbutton>  
 +  
 +      <toolbarbutton id="tabs-closebutton"  
 +                     class="close-button tabs-closebutton"  
 +                     command="cmd_close"  
 +                     label="&closeTab.label;"  
 +                     tooltiptext="&closeTab.label;"/>  
 +  
 +#ifdef CAN_DRAW_IN_TITLEBAR  
 +      <hbox class="titlebar-placeholder" type="appmenu-button" ordinal="0"/>  
 +      <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"/>  
 +#endif  
1005  +    </toolbar>  +    </toolbar>
1006  +  +
1007  +    <toolbarpalette id="BrowserToolbarPalette">  +    <toolbarpalette id="BrowserToolbarPalette">
# Line 850  new file mode 100644 Line 1010  new file mode 100644
1010  +# or removing default items with the toolbarbutton-1 class.  +# or removing default items with the toolbarbutton-1 class.
1011  +  +
1012  +      <toolbarbutton id="print-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  +      <toolbarbutton id="print-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
1013  +                     label="&printButton.label;" command="cmd_print"  +#ifdef XP_MACOSX
1014  +                     tooltiptext="&printButton.tooltip;"/>  +                     command="cmd_print" tooltip="dynamic-shortcut-tooltip"
1015    +#else
1016    +                     command="cmd_printPreview" tooltiptext="&printButton.tooltip;"
1017    +#endif
1018    +                     label="&printButton.label;"/>
1019  +  +
 +      <!-- This is a placeholder for the Downloads Indicator.  It is visible  
 +           during the customization of the toolbar, in the palette, and before  
 +           the Downloads Indicator overlay is loaded. -->  
 +      <toolbarbutton id="downloads-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  
 +                     oncommand="DownloadsIndicatorView.onCommand(event);"  
 +                     ondrop="DownloadsIndicatorView.onDrop(event);"  
 +                     ondragover="DownloadsIndicatorView.onDragOver(event);"  
 +                     ondragenter="DownloadsIndicatorView.onDragOver(event);"  
 +                     label="&downloads.label;"  
 +                     tooltiptext="&downloads.tooltip;"/>  
 +  
 +      <toolbarbutton id="history-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  
 +                     observes="viewHistorySidebar" label="&historyButton.label;"  
 +                     tooltiptext="&historyButton.tooltip;"/>  
 +  
 +      <toolbarbutton id="bookmarks-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  
 +                     observes="viewBookmarksSidebar"  
 +                     tooltiptext="&bookmarksButton.tooltip;"  
 +                     ondrop="bookmarksButtonObserver.onDrop(event)"  
 +                     ondragover="bookmarksButtonObserver.onDragOver(event)"  
 +                     ondragenter="bookmarksButtonObserver.onDragOver(event)"  
 +                     ondragexit="bookmarksButtonObserver.onDragExit(event)"/>  
1020  +  +
1021  +      <toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  +      <toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
1022  +                     label="&newNavigatorCmd.label;"  +                     label="&newNavigatorCmd.label;"
1023  +                     command="key_newNavigator"  +                     command="key_newNavigator"
1024  +                     tooltiptext="&newWindowButton.tooltip;"  +                     tooltip="dynamic-shortcut-tooltip"
1025  +                     ondrop="newWindowButtonObserver.onDrop(event)"  +                     ondrop="newWindowButtonObserver.onDrop(event)"
1026  +                     ondragover="newWindowButtonObserver.onDragOver(event)"  +                     ondragover="newWindowButtonObserver.onDragOver(event)"
1027  +                     ondragenter="newWindowButtonObserver.onDragOver(event)"  +                     ondragenter="newWindowButtonObserver.onDragOver(event)"
# Line 889  new file mode 100644 Line 1031  new file mode 100644
1031  +                     observes="View:FullScreen"  +                     observes="View:FullScreen"
1032  +                     type="checkbox"  +                     type="checkbox"
1033  +                     label="&fullScreenCmd.label;"  +                     label="&fullScreenCmd.label;"
1034  +                     tooltiptext="&fullScreenButton.tooltip;"/>  +                     tooltip="dynamic-shortcut-tooltip"/>
 +  
 +      <toolbaritem id="zoom-controls" class="chromeclass-toolbar-additional"  
 +                   title="&zoomControls.label;">  
 +        <toolbarbutton id="zoom-out-button" class="toolbarbutton-1"  
 +                       label="&fullZoomReduceCmd.label;"  
 +                       command="cmd_fullZoomReduce"  
 +                       tooltiptext="&zoomOutButton.tooltip;"/>  
 +        <toolbarbutton id="zoom-in-button" class="toolbarbutton-1"  
 +                       label="&fullZoomEnlargeCmd.label;"  
 +                       command="cmd_fullZoomEnlarge"  
 +                       tooltiptext="&zoomInButton.tooltip;"/>  
 +      </toolbaritem>  
 +  
 +      <toolbarbutton id="feed-button"  
 +                     type="menu"  
 +                     class="toolbarbutton-1 chromeclass-toolbar-additional"  
 +                     disabled="true"  
 +                     label="&feedButton.label;"  
 +                     tooltiptext="&feedButton.tooltip;"  
 +                     onclick="return FeedHandler.onFeedButtonClick(event);">  
 +        <menupopup position="after_end"  
 +                   id="feed-menu"  
 +                   onpopupshowing="return FeedHandler.buildFeedList(this);"  
 +                   oncommand="return FeedHandler.subscribeToFeed(null, event);"  
 +                   onclick="checkForMiddleClick(this, event);"/>  
 +      </toolbarbutton>  
 +  
 +      <toolbarbutton id="cut-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  
 +                     label="&cutCmd.label;"  
 +                     command="cmd_cut"  
 +                     tooltiptext="&cutButton.tooltip;"/>  
 +  
 +      <toolbarbutton id="copy-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  
 +                     label="&copyCmd.label;"  
 +                     command="cmd_copy"  
 +                     tooltiptext="&copyButton.tooltip;"/>  
 +  
 +      <toolbarbutton id="paste-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  
 +                     label="&pasteCmd.label;"  
 +                     command="cmd_paste"  
 +                     tooltiptext="&pasteButton.tooltip;"/>  
1035  +  +
1036  +#ifdef MOZ_SERVICES_SYNC  +#ifdef MOZ_SERVICES_SYNC
1037  +      <toolbarbutton id="sync-button"  +      <toolbarbutton id="sync-button"
# Line 939  new file mode 100644 Line 1040  new file mode 100644
1040  +                     oncommand="gSyncUI.handleToolbarButton()"/>  +                     oncommand="gSyncUI.handleToolbarButton()"/>
1041  +#endif  +#endif
1042  +  +
 +      <toolbaritem id="navigator-throbber" title="&throbberItem.title;" align="center" pack="center"  
 +                   mousethrough="always">  
 +        <image/>  
 +      </toolbaritem>  
 +  
1043  +      <toolbarbutton id="tabview-button" class="toolbarbutton-1 chromeclass-toolbar-additional"  +      <toolbarbutton id="tabview-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
1044  +                     label="&tabGroupsButton.label;"  +                     label="&tabGroupsButton.label;"
1045  +                     command="Browser:ToggleTabView"  +                     command="Browser:ToggleTabView"
1046  +                     tooltiptext="&tabGroupsButton.tooltip;"  +                     tooltip="dynamic-shortcut-tooltip"
1047  +                     observes="tabviewGroupsNumber"/>  +                     observes="tabviewGroupsNumber"/>
1048  +    </toolbarpalette>  +    </toolbarpalette>
1049  +  </toolbox>  +  </toolbox>
1050  +  +
1051  +  <hbox id="fullscr-toggler" collapsed="true"/>  +  <hbox id="fullscr-toggler" collapsed="true"/>
1052  +  +
1053  +  <hbox flex="1" id="browser">  +  <deck id="content-deck" flex="1">
1054  +    <vbox id="browser-border-start" hidden="true" layer="true"/>  +    <hbox flex="1" id="browser">
1055  +    <vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">  +      <vbox id="browser-border-start" hidden="true" layer="true"/>
1056  +      <sidebarheader id="sidebar-header" align="center">  +      <vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
1057  +        <label id="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>  +        <sidebarheader id="sidebar-header" align="center">
1058  +        <image id="sidebar-throbber"/>  +          <label id="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
1059  +        <toolbarbutton class="tabs-closebutton" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="toggleSidebar();"/>  +          <image id="sidebar-throbber"/>
1060  +      </sidebarheader>  +          <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="toggleSidebar();"/>
1061  +      <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true"  +        </sidebarheader>
1062  +                style="min-width: 14em; width: 18em; max-width: 36em;"/>  +        <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true"
1063  +    </vbox>  +                  style="min-width: 14em; width: 18em; max-width: 36em;"/>
1064  +  +      </vbox>
1065  +    <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>  +
1066  +    <vbox id="appcontent" flex="1">  +      <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
1067  +      <tabbrowser id="content" disablehistory="true"  +      <vbox id="appcontent" flex="1">
1068  +                  flex="1" contenttooltip="aHTMLTooltip"  +        <tabbrowser id="content"
1069  +                  tabcontainer="tabbrowser-tabs"  +                    flex="1" contenttooltip="aHTMLTooltip"
1070  +                  contentcontextmenu="contentAreaContextMenu"  +                    tabcontainer="tabbrowser-tabs"
1071  +                  autocompletepopup="PopupAutoComplete"/>  +                    contentcontextmenu="contentAreaContextMenu"
1072  +      <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/>  +                    autocompletepopup="PopupAutoComplete"
1073  +      <statuspanel id="statusbar-display" inactive="true"/>  +                    selectpopup="ContentSelectDropdown"
1074  +    </vbox>  +                    onclick="contentAreaClick(event, false);"/>
1075  +    <splitter id="social-sidebar-splitter"  +        <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/>
1076  +              class="chromeclass-extrachrome sidebar-splitter"  +      </vbox>
1077  +              observes="socialSidebarBroadcaster"/>  +      <splitter id="social-sidebar-splitter"
1078  +    <vbox id="social-sidebar-box"  +                class="chromeclass-extrachrome sidebar-splitter"
1079  +          class="chromeclass-extrachrome"  +                observes="socialSidebarBroadcaster"/>
1080  +          observes="socialSidebarBroadcaster"  +      <vbox id="social-sidebar-box"
1081  +          persist="width">  +            class="chromeclass-extrachrome"
1082  +      <browser id="social-sidebar-browser"  +            observes="socialSidebarBroadcaster"
1083  +               type="content"  +            persist="width">
1084  +               context="contentAreaContextMenu"  +
1085  +               disableglobalhistory="true"  +        <sidebarheader id="social-sidebar-header" class="sidebar-header" align="center">
1086  +               tooltip="aHTMLTooltip"  +          <image id="social-sidebar-favico"/>
1087  +               popupnotificationanchor="social-notification-icon"  +          <label id="social-sidebar-title" class="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
1088  +               flex="1"  +          <toolbarbutton id="social-sidebar-button"
1089  +               style="min-width: 14em; width: 18em; max-width: 36em;"/>  +                         class="toolbarbutton-1"
1090  +    </vbox>  +                         type="menu">
1091  +    <vbox id="browser-border-end" hidden="true" layer="true"/>  +            <menupopup id="social-statusarea-popup" position="after_end">
1092  +  </hbox>  +              <menuitem class="social-toggle-sidebar-menuitem"
1093    +                        type="checkbox"
1094    +                        autocheck="false"
1095    +                        command="Social:ToggleSidebar"
1096    +                        label="&social.toggleSidebar.label;"
1097    +                        accesskey="&social.toggleSidebar.accesskey;"/>
1098    +              <menuitem class="social-toggle-notifications-menuitem"
1099    +                        type="checkbox"
1100    +                        autocheck="false"
1101    +                        command="Social:ToggleNotifications"
1102    +                        label="&social.toggleNotifications.label;"
1103    +                        accesskey="&social.toggleNotifications.accesskey;"/>
1104    +              <menuseparator/>
1105    +              <menuseparator class="social-provider-menu" hidden="true"/>
1106    +              <menuitem class="social-addons-menuitem" command="Social:Addons"
1107    +                        label="&social.addons.label;"/>
1108    +              <menuitem label="&social.learnMore.label;"
1109    +                        accesskey="&social.learnMore.accesskey;"
1110    +                        oncommand="SocialUI.showLearnMore();"/>
1111    +            </menupopup>
1112    +          </toolbarbutton>
1113    +        </sidebarheader>
1114    +
1115    +        <browser id="social-sidebar-browser"
1116    +                 type="content"
1117    +                 context="contentAreaContextMenu"
1118    +                 disableglobalhistory="true"
1119    +                 tooltip="aHTMLTooltip"
1120    +                 popupnotificationanchor="social-sidebar-favico"
1121    +                 flex="1"
1122    +                 style="min-width: 14em; width: 18em; max-width: 36em;"/>
1123    +      </vbox>
1124    +      <vbox id="browser-border-end" hidden="true" layer="true"/>
1125    +    </hbox>
1126    +#include ../../components/customizableui/content/customizeMode.inc.xul
1127    +  </deck>
1128  +  +
1129  +  <hbox id="full-screen-warning-container" hidden="true" fadeout="true">  +  <hbox id="full-screen-warning-container" hidden="true" fadeout="true">
1130  +    <hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->  +    <hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->
1131  +      <vbox id="full-screen-warning-message" align="center">  +      <vbox id="full-screen-warning-message" align="center">
1132  +        <description id="full-screen-domain-text"/>  +        <description id="full-screen-domain-text"/>
1133  +        <description class="full-screen-description" value="&fullscreenExitHint.value;"/>  +        <description class="full-screen-description" value="&fullscreenExitHint2.value;"/>
1134  +        <vbox id="full-screen-approval-pane" align="center">  +        <vbox id="full-screen-approval-pane" align="center">
 +          <description class="full-screen-description" value="&fullscreenApproval.value;"/>  
1135  +          <hbox>  +          <hbox>
1136    +#ifndef XP_UNIX
1137    +            <button label="&fullscreenExitButton.label;"
1138    +                    oncommand="FullScreen.setFullscreenAllowed(false);"
1139    +                    class="full-screen-approval-button"/>
1140    +            <button label="&fullscreenAllowButton.label;"
1141    +                    oncommand="FullScreen.setFullscreenAllowed(true);"
1142    +                    class="full-screen-approval-button"/>
1143    +#else
1144  +            <button label="&fullscreenAllowButton.label;"  +            <button label="&fullscreenAllowButton.label;"
1145  +                    oncommand="FullScreen.setFullscreenAllowed(true);"  +                    oncommand="FullScreen.setFullscreenAllowed(true);"
1146  +                    class="full-screen-approval-button"/>  +                    class="full-screen-approval-button"/>
1147  +            <button label="&fullscreenExitButton.label;"  +            <button label="&fullscreenExitButton.label;"
1148  +                    oncommand="FullScreen.setFullscreenAllowed(false);"  +                    oncommand="FullScreen.setFullscreenAllowed(false);"
1149  +                    class="full-screen-approval-button"/>  +                    class="full-screen-approval-button"/>
1150    +#endif
1151  +          </hbox>  +          </hbox>
1152  +          <checkbox id="full-screen-remember-decision"/>  +          <checkbox id="full-screen-remember-decision"/>
1153  +        </vbox>  +        </vbox>
# Line 1019  new file mode 100644 Line 1158  new file mode 100644
1158  +  <vbox id="browser-bottombox" layer="true">  +  <vbox id="browser-bottombox" layer="true">
1159  +    <notificationbox id="global-notificationbox"/>  +    <notificationbox id="global-notificationbox"/>
1160  +    <toolbar id="developer-toolbar"  +    <toolbar id="developer-toolbar"
 +             class="devtools-toolbar"  
1161  +             hidden="true">  +             hidden="true">
1162  +#ifdef XP_MACOSX  +#ifdef XP_MACOSX
1163  +          <toolbarbutton id="developer-toolbar-closebutton"  +          <toolbarbutton id="developer-toolbar-closebutton"
# Line 1042  new file mode 100644 Line 1180  new file mode 100644
1180  +                         tooltiptext="&devToolbarCloseButton.tooltiptext;"/>  +                         tooltiptext="&devToolbarCloseButton.tooltiptext;"/>
1181  +#endif  +#endif
1182  +   </toolbar>  +   </toolbar>
 +  
 +    <toolbar id="addon-bar"  
 +             toolbarname="&addonBarCmd.label;" accesskey="&addonBarCmd.accesskey;"  
 +             collapsed="true"  
 +             class="toolbar-primary chromeclass-toolbar"  
 +             context="toolbar-context-menu" toolboxid="navigator-toolbox"  
 +             mode="icons" iconsize="small" defaulticonsize="small"  
 +             lockiconsize="true"  
 +             defaultset="addonbar-closebutton,spring,status-bar"  
 +             customizable="true"  
 +             key="key_toggleAddonBar">  
 +      <toolbarbutton id="addonbar-closebutton"  
 +                     tooltiptext="&addonBarCloseButton.tooltip;"  
 +                     oncommand="setToolbarVisibility(this.parentNode, false);"/>  
 +      <statusbar id="status-bar" ordinal="1000"/>  
 +    </toolbar>  
1183  +  </vbox>  +  </vbox>
1184  +  +
 +#ifndef XP_UNIX  
1185  +  <svg:svg height="0">  +  <svg:svg height="0">
1186  +    <svg:clipPath id="windows-keyhole-forward-clip-path" clipPathUnits="objectBoundingBox">  +#include tab-shape.inc.svg
1187  +      <svg:path d="M 0,0 C 0.16,0.11 0.28,0.29 0.28,0.5 0.28,0.71 0.16,0.89 0,1 L 1,1 1,0 0,0 z"/>  +    <svg:clipPath id="urlbar-back-button-clip-path" clipPathUnits="userSpaceOnUse">
1188  +    </svg:clipPath>  +#ifndef XP_MACOSX
1189  +    <svg:clipPath id="windows-urlbar-back-button-clip-path" clipPathUnits="userSpaceOnUse">  +      <svg:path d="m 1,-5 l 0,7.8 c 2.5,3.2 4,6.2 4,10.2 c 0,4 -1.5,7 -4,10 l 0,22l10000,0 l 0,-50 l -10000,0 z"/>
1190  +      <svg:path d="M 0,0 0,7.8 C 2.5,11 4,14 4,18 4,22 2.5,25 0,28 l 0,22 10000,0 0,-50 L 0,0 z"/>  +#else
1191  +    </svg:clipPath>  +      <svg:path d="M -11,-5 a 16 16 0 0 1 0,34 l 10000,0 l 0,-34 l -10000,0 z"/>
 +  </svg:svg>  
1192  +#endif  +#endif
 +#ifdef XP_MACOSX  
 +  <svg:svg height="0">  
 +    <svg:clipPath id="osx-keyhole-forward-clip-path" clipPathUnits="objectBoundingBox">  
 +      <svg:path d="M 0,0 C 0.15,0.12 0.25,0.3 0.25,0.5 0.25,0.7 0.15,0.88 0,1 L 1,1 1,0 0,0 z"/>  
 +    </svg:clipPath>  
 +    <svg:clipPath id="osx-urlbar-back-button-clip-path" clipPathUnits="userSpaceOnUse">  
 +      <svg:path d="m 0,-5 0,4.03 C 3.6,1.8 6,6.1 6,11 6,16 3.6,20 0,23 l 0,27 10000,0 0,-55 L 0,-5 z"/>  
 +    </svg:clipPath>  
 +    <svg:clipPath id="osx-tab-ontop-left-curve-clip-path" clipPathUnits="userSpaceOnUse">  
 +      <svg:path d="M 9,0 C 7.3,0 6,1.3 6,3 l 0,14 c 0,3 -2.2,5 -5,5 l -1,0 0,1 12,0 0,-1 0,-19 0,-3 -3,0 z"/>  
 +    </svg:clipPath>  
 +    <svg:clipPath id="osx-tab-ontop-right-curve-clip-path" clipPathUnits="userSpaceOnUse">  
 +      <svg:path d="m 0,0 0,3 0,19 0,1 12,0 0,-1 -1,0 C 8.2,22 6,20 6,17 L 6,3 C 6,1.3 4.7,0 3,0 L 0,0 z"/>  
 +    </svg:clipPath>  
 +    <svg:clipPath id="osx-tab-onbottom-left-curve-clip-path" clipPathUnits="userSpaceOnUse">  
 +      <svg:path d="m 0,0 0,1 1,0 c 2.8,0 5,2.2 5,5 l 0,14 c 0,2 1.3,3 3,3 l 3,0 0,-3 L 12,1 12,0 0,0 z"/>  
 +    </svg:clipPath>  
 +    <svg:clipPath id="osx-tab-onbottom-right-curve-clip-path" clipPathUnits="userSpaceOnUse">  
 +      <svg:path d="m 0,0 0,1 0,19 0,3 3,0 c 1.7,0 3,-1 3,-3 L 6,6 C 6,3.2 8.2,1 11,1 L 12,1 12,0 0,0 z"/>  
1193  +    </svg:clipPath>  +    </svg:clipPath>
1194  +  </svg:svg>  +  </svg:svg>
 +#endif  
1195  +  +
1196  +</vbox>  +</vbox>
1197  +# <iframe id="tab-view"> is dynamically appended as the 2nd child of #tab-view-deck.  +# <iframe id="tab-view"> is dynamically appended as the 2nd child of #tab-view-deck.
# Line 1103  new file mode 100644 Line 1203  new file mode 100644
1203  diff --git a/browser/base/jar.mn b/browser/base/jar.mn  diff --git a/browser/base/jar.mn b/browser/base/jar.mn
1204  --- a/browser/base/jar.mn  --- a/browser/base/jar.mn
1205  +++ b/browser/base/jar.mn  +++ b/browser/base/jar.mn
1206  @@ -53,16 +53,18 @@ browser.jar:  @@ -65,16 +65,18 @@ browser.jar:
          content/browser/abouthealthreport/abouthealth.css     (content/abouthealthreport/abouthealth.css)  
  #endif  
1207           content/browser/aboutRobots-icon.png          (content/aboutRobots-icon.png)           content/browser/aboutRobots-icon.png          (content/aboutRobots-icon.png)
1208           content/browser/aboutRobots-widget-left.png   (content/aboutRobots-widget-left.png)           content/browser/aboutRobots-widget-left.png   (content/aboutRobots-widget-left.png)
1209           content/browser/aboutSocialError.xhtml        (content/aboutSocialError.xhtml)           content/browser/aboutSocialError.xhtml        (content/aboutSocialError.xhtml)
1210             content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
1211             content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
1212   *       content/browser/browser.css                   (content/browser.css)   *       content/browser/browser.css                   (content/browser.css)
1213   *       content/browser/browser.js                    (content/browser.js)   *       content/browser/browser.js                    (content/browser.js)
1214   *       content/browser/browser.xul                   (content/browser.xul)   *       content/browser/browser.xul                   (content/browser.xul)
# Line 1117  diff --git a/browser/base/jar.mn b/brows Line 1217  diff --git a/browser/base/jar.mn b/brows
1217   *       content/browser/browser-tabPreviews.xml       (content/browser-tabPreviews.xml)   *       content/browser/browser-tabPreviews.xml       (content/browser-tabPreviews.xml)
1218   *       content/browser/chatWindow.xul                (content/chatWindow.xul)   *       content/browser/chatWindow.xul                (content/chatWindow.xul)
1219           content/browser/content.js                    (content/content.js)           content/browser/content.js                    (content/content.js)
1220             content/browser/fonts/ClearSans-Regular.woff  (content/fonts/ClearSans-Regular.woff)
1221             content/browser/fonts/FiraSans-Regular.woff   (content/fonts/FiraSans-Regular.woff)
1222             content/browser/fonts/FiraSans-Light.woff     (content/fonts/FiraSans-Light.woff)
1223           content/browser/newtab/newTab.xul             (content/newtab/newTab.xul)           content/browser/newtab/newTab.xul             (content/newtab/newTab.xul)
1224   *       content/browser/newtab/newTab.js              (content/newtab/newTab.js)   *       content/browser/newtab/newTab.js              (content/newtab/newTab.js)
          content/browser/newtab/newTab.css             (content/newtab/newTab.css)  
  *       content/browser/pageinfo/pageInfo.xul         (content/pageinfo/pageInfo.xul)  
          content/browser/pageinfo/pageInfo.js          (content/pageinfo/pageInfo.js)  
1225  diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp  diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
1226  --- a/browser/components/build/nsModule.cpp  --- a/browser/components/build/nsModule.cpp
1227  +++ b/browser/components/build/nsModule.cpp  +++ b/browser/components/build/nsModule.cpp
# Line 1168  diff --git a/browser/components/build/ns Line 1268  diff --git a/browser/components/build/ns
1268   #endif   #endif
1269    
1270   static const mozilla::Module::CIDEntry kBrowserCIDs[] = {   static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
1271       { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, NULL, DirectoryProviderConstructor },       { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
1272   #if defined(XP_WIN)   #if defined(XP_WIN)
1273       { &kNS_SHELLSERVICE_CID, false, NULL, nsWindowsShellServiceConstructor },       { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor },
1274   #elif defined(MOZ_WIDGET_GTK)   #elif defined(MOZ_WIDGET_GTK)
1275  -    { &kNS_SHELLSERVICE_CID, false, NULL, nsGNOMEShellServiceConstructor },  -    { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor },
1276  +    { &kNS_SHELLSERVICE_CID, false, NULL, nsUnixShellServiceConstructor },  +    { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor },
1277   #endif   #endif
1278       { &kNS_FEEDSNIFFER_CID, false, NULL, nsFeedSnifferConstructor },       { &kNS_FEEDSNIFFER_CID, false, nullptr, nsFeedSnifferConstructor },
1279       { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, NULL, AboutRedirector::Create },       { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
1280   #if defined(XP_WIN)   #if defined(XP_WIN)
1281       { &kNS_WINIEHISTORYENUMERATOR_CID, false, NULL, nsIEHistoryEnumeratorConstructor },       { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
1282   #elif defined(XP_MACOSX)   #elif defined(XP_MACOSX)
1283       { &kNS_SHELLSERVICE_CID, false, NULL, nsMacShellServiceConstructor },       { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
1284   #endif   #endif
1285  diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js  diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js
1286  --- a/browser/components/preferences/advanced.js  --- a/browser/components/preferences/advanced.js
1287  +++ b/browser/components/preferences/advanced.js  +++ b/browser/components/preferences/advanced.js
1288  @@ -23,16 +23,22 @@ var gAdvancedPane = {  @@ -25,16 +25,22 @@ var gAdvancedPane = {
1289       if (extraArgs && extraArgs["advancedTab"]){       if (extraArgs && extraArgs["advancedTab"]){
1290         advancedPrefs.selectedTab = document.getElementById(extraArgs["advancedTab"]);         advancedPrefs.selectedTab = document.getElementById(extraArgs["advancedTab"]);
1291       } else {       } else {
# Line 1208  diff --git a/browser/components/preferen Line 1308  diff --git a/browser/components/preferen
1308       // when the user will select the default.  We refresh here periodically       // when the user will select the default.  We refresh here periodically
1309       // in case the default changes.  On other Windows OS's defaults can also       // in case the default changes.  On other Windows OS's defaults can also
1310       // be set while the prefs are open.       // be set while the prefs are open.
1311  @@ -857,14 +863,25 @@ var gAdvancedPane = {  @@ -884,14 +890,25 @@ var gAdvancedPane = {
1312      * Set browser as the operating system default browser.      * Set browser as the operating system default browser.
1313      */      */
1314     setDefaultBrowser: function()     setDefaultBrowser: function()
# Line 1237  diff --git a/browser/components/preferen Line 1337  diff --git a/browser/components/preferen
1337  diff --git a/browser/components/shell/src/Makefile.in b/browser/components/shell/src/Makefile.in  diff --git a/browser/components/shell/src/Makefile.in b/browser/components/shell/src/Makefile.in
1338  --- a/browser/components/shell/src/Makefile.in  --- a/browser/components/shell/src/Makefile.in
1339  +++ b/browser/components/shell/src/Makefile.in  +++ b/browser/components/shell/src/Makefile.in
1340  @@ -17,10 +17,12 @@ DISABLED_EXTRA_COMPONENTS = nsSetDefault  @@ -2,10 +2,12 @@
1341     # This Source Code Form is subject to the terms of the Mozilla Public
1342     # License, v. 2.0. If a copy of the MPL was not distributed with this
1343     # file, You can obtain one at http://mozilla.org/MPL/2.0/.
1344    
1345   include $(topsrcdir)/config/rules.mk   include $(topsrcdir)/config/rules.mk
1346    
  DEFINES += -DMOZ_APP_NAME=\"$(MOZ_APP_NAME)\" \  
    -DMOZ_APP_VERSION=\"$(MOZ_APP_VERSION)\"  
   
1347   CXXFLAGS += $(TK_CFLAGS)   CXXFLAGS += $(TK_CFLAGS)
1348    
1349  +LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre  +LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
# Line 1253  diff --git a/browser/components/shell/sr Line 1353  diff --git a/browser/components/shell/sr
1353  diff --git a/browser/components/shell/src/moz.build b/browser/components/shell/src/moz.build  diff --git a/browser/components/shell/src/moz.build b/browser/components/shell/src/moz.build
1354  --- a/browser/components/shell/src/moz.build  --- a/browser/components/shell/src/moz.build
1355  +++ b/browser/components/shell/src/moz.build  +++ b/browser/components/shell/src/moz.build
1356  @@ -11,17 +11,19 @@ if CONFIG['OS_ARCH'] == 'WINNT':  @@ -10,16 +10,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
          'nsWindowsShellService.cpp',  
1357       ]       ]
1358   elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':   elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
1359       CPP_SOURCES += [       SOURCES += [
1360           'nsMacShellService.cpp',           'nsMacShellService.cpp',
1361       ]       ]
1362   elif CONFIG['MOZ_WIDGET_GTK']:   elif CONFIG['MOZ_WIDGET_GTK']:
1363       CPP_SOURCES += [       SOURCES += [
 +        'nsUnixShellService.cpp',  
1364           'nsGNOMEShellService.cpp',           'nsGNOMEShellService.cpp',
1365  +       'nsKDEShellService.cpp'  +       'nsKDEShellService.cpp',
1366    +       'nsUnixShellService.cpp',
1367       ]       ]
1368    
1369   if CPP_SOURCES:   if SOURCES:
1370       LIBRARY_NAME = 'shellservice_s'       FINAL_LIBRARY = 'browsercomps'
1371    
1372   EXTRA_COMPONENTS += [   EXTRA_COMPONENTS += [
1373       'nsSetDefaultBrowser.js',       'nsSetDefaultBrowser.js',
# Line 1277  diff --git a/browser/components/shell/sr Line 1376  diff --git a/browser/components/shell/sr
1376  new file mode 100644  new file mode 100644
1377  --- /dev/null  --- /dev/null
1378  +++ b/browser/components/shell/src/nsKDEShellService.cpp  +++ b/browser/components/shell/src/nsKDEShellService.cpp
1379  @@ -0,0 +1,234 @@  @@ -0,0 +1,238 @@
1380  +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */  +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
1381  +/* This Source Code Form is subject to the terms of the Mozilla Public  +/* This Source Code Form is subject to the terms of the Mozilla Public
1382  + * License, v. 2.0. If a copy of the MPL was not distributed with this  + * License, v. 2.0. If a copy of the MPL was not distributed with this
1383  + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */  + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
1384  +  +
1385    +#include "mozilla/ArrayUtils.h"
1386    +
1387    +#include "nsCOMPtr.h"
1388  +#include "nsKDEShellService.h"  +#include "nsKDEShellService.h"
1389  +#include "nsShellService.h"  +#include "nsShellService.h"
1390  +#include "nsKDEUtils.h"  +#include "nsKDEUtils.h"
 +#include "nsCOMPtr.h"  
1391  +#include "nsIPrefService.h"  +#include "nsIPrefService.h"
1392  +#include "nsIProcess.h"  +#include "nsIProcess.h"
1393  +#include "nsIFile.h"  +#include "nsIFile.h"
# Line 1296  new file mode 100644 Line 1397  new file mode 100644
1397  +#include "nsISupportsPrimitives.h"  +#include "nsISupportsPrimitives.h"
1398  +#include "nsArrayUtils.h"  +#include "nsArrayUtils.h"
1399  +  +
1400    +using namespace mozilla;
1401    +
1402  +nsresult  +nsresult
1403  +nsKDEShellService::Init()  +nsKDEShellService::Init()
1404  +    {  +{
1405  +    if( !nsKDEUtils::kdeSupport())  +    if( !nsKDEUtils::kdeSupport())
1406  +        return NS_ERROR_NOT_AVAILABLE;  +        return NS_ERROR_NOT_AVAILABLE;
1407  +    return NS_OK;  +    return NS_OK;
1408  +    }  +}
1409  +  +
1410  +NS_IMPL_ISUPPORTS1(nsKDEShellService, nsIShellService)  +NS_IMPL_ISUPPORTS(nsKDEShellService, nsIShellService)
1411  +  +
1412  +NS_IMETHODIMP  +NS_IMETHODIMP
1413  +nsKDEShellService::IsDefaultBrowser(bool aStartupCheck,  +nsKDEShellService::IsDefaultBrowser(bool aStartupCheck,
1414  +                                    bool aForAllTypes,  +                                    bool aForAllTypes,
1415  +                                    bool* aIsDefaultBrowser)  +                                    bool* aIsDefaultBrowser)
1416  +    {  +{
1417  +    *aIsDefaultBrowser = false;  +    *aIsDefaultBrowser = false;
1418  +    if (aStartupCheck)  +    if (aStartupCheck)
1419  +        mCheckedThisSession = true;  +        mCheckedThisSession = true;
# Line 1329  new file mode 100644 Line 1432  new file mode 100644
1432  +    if( nsKDEUtils::command( command ))  +    if( nsKDEUtils::command( command ))
1433  +        *aIsDefaultBrowser = true;  +        *aIsDefaultBrowser = true;
1434  +    return NS_OK;  +    return NS_OK;
1435  +    }  +}
1436  +  +
1437  +NS_IMETHODIMP  +NS_IMETHODIMP
1438  +nsKDEShellService::SetDefaultBrowser(bool aClaimAllTypes,  +nsKDEShellService::SetDefaultBrowser(bool aClaimAllTypes,
1439  +                                     bool aForAllUsers)  +                                     bool aForAllUsers)
1440  +    {  +{
1441  +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );  +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
1442  +    if (!command)  +    if (!command)
1443  +        return NS_ERROR_FAILURE;  +        return NS_ERROR_FAILURE;
# Line 1351  new file mode 100644 Line 1454  new file mode 100644
1454  +    command->AppendElement( paramstr, false );  +    command->AppendElement( paramstr, false );
1455  +  +
1456  +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;  +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
1457  +    }  +}
1458  +  +
1459  +NS_IMETHODIMP  +NS_IMETHODIMP
1460  +nsKDEShellService::GetShouldCheckDefaultBrowser(bool* aResult)  +nsKDEShellService::GetShouldCheckDefaultBrowser(bool* aResult)
# Line 1398  new file mode 100644 Line 1501  new file mode 100644
1501  +NS_IMETHODIMP  +NS_IMETHODIMP
1502  +nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement,  +nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement,
1503  +                                          PRInt32 aPosition)  +                                          PRInt32 aPosition)
1504  +    {  +{
1505  +    return NS_ERROR_NOT_IMPLEMENTED;  +    return NS_ERROR_NOT_IMPLEMENTED;
1506  +    }  +}
1507  +  +
1508  +NS_IMETHODIMP  +NS_IMETHODIMP
1509  +nsKDEShellService::GetDesktopBackgroundColor(PRUint32 *aColor)  +nsKDEShellService::GetDesktopBackgroundColor(PRUint32 *aColor)
1510  +    {  +{
1511  +    return NS_ERROR_NOT_IMPLEMENTED;  +    return NS_ERROR_NOT_IMPLEMENTED;
1512  +    }  +}
1513  +  +
1514  +NS_IMETHODIMP  +NS_IMETHODIMP
1515  +nsKDEShellService::SetDesktopBackgroundColor(PRUint32 aColor)  +nsKDEShellService::SetDesktopBackgroundColor(PRUint32 aColor)
1516  +    {  +{
1517  +    return NS_ERROR_NOT_IMPLEMENTED;  +    return NS_ERROR_NOT_IMPLEMENTED;
1518  +    }  +}
1519  +  +
1520  +NS_IMETHODIMP  +NS_IMETHODIMP
1521  +nsKDEShellService::OpenApplication(PRInt32 aApplication)  +nsKDEShellService::OpenApplication(PRInt32 aApplication)
1522  +    {  +{
1523  +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );  +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
1524  +    if (!command)  +    if (!command)
1525  +        return NS_ERROR_FAILURE;  +        return NS_ERROR_FAILURE;
# Line 1434  new file mode 100644 Line 1537  new file mode 100644
1537  +  +
1538  +    command->AppendElement( str, false );  +    command->AppendElement( str, false );
1539  +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;  +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
1540  +    }  +}
1541  +  +
1542  +NS_IMETHODIMP  +NS_IMETHODIMP
1543  +nsKDEShellService::OpenApplicationWithURI(nsIFile* aApplication, const nsACString& aURI)  +nsKDEShellService::OpenApplicationWithURI(nsIFile* aApplication, const nsACString& aURI)
1544  +    {  +{
1545  +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );  +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
1546  +    if (!command)  +    if (!command)
1547  +        return NS_ERROR_FAILURE;  +        return NS_ERROR_FAILURE;
# Line 1459  new file mode 100644 Line 1562  new file mode 100644
1562  +    uristr->SetData( aURI );  +    uristr->SetData( aURI );
1563  +    command->AppendElement( uristr, false );  +    command->AppendElement( uristr, false );
1564  +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;  +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
1565  +    }  +}
1566  +  +
1567  +NS_IMETHODIMP  +NS_IMETHODIMP
1568  +nsKDEShellService::GetDefaultFeedReader(nsIFile** _retval)  +nsKDEShellService::GetDefaultFeedReader(nsIFile** _retval)
1569  +    {  +{
1570  +    *_retval = nullptr;  +    *_retval = nullptr;
1571  +  +
1572  +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );  +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
# Line 1511  new file mode 100644 Line 1614  new file mode 100644
1614  +  +
1615  +    NS_ADDREF(*_retval = defaultReader);  +    NS_ADDREF(*_retval = defaultReader);
1616  +    return NS_OK;  +    return NS_OK;
1617  +    }  +}
1618  diff --git a/browser/components/shell/src/nsKDEShellService.h b/browser/components/shell/src/nsKDEShellService.h  diff --git a/browser/components/shell/src/nsKDEShellService.h b/browser/components/shell/src/nsKDEShellService.h
1619  new file mode 100644  new file mode 100644
1620  --- /dev/null  --- /dev/null
1621  +++ b/browser/components/shell/src/nsKDEShellService.h  +++ b/browser/components/shell/src/nsKDEShellService.h
1622  @@ -0,0 +1,59 @@  @@ -0,0 +1,60 @@
1623  +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */  +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
1624  +/* ***** BEGIN LICENSE BLOCK *****  +/* ***** BEGIN LICENSE BLOCK *****
1625  + * Version: MPL 1.1/GPL 2.0/LGPL 2.1  + * Version: MPL 1.1/GPL 2.0/LGPL 2.1
# Line 1558  new file mode 100644 Line 1661  new file mode 100644
1661  +  +
1662  +#include "nsIShellService.h"  +#include "nsIShellService.h"
1663  +#include "nsStringAPI.h"  +#include "nsStringAPI.h"
1664    +#include "mozilla/Attributes.h"
1665  +  +
1666  +class nsKDEShellService : public nsIShellService  +class nsKDEShellService MOZ_FINAL : public nsIShellService
1667  +{  +{
1668  +public:  +public:
1669  +  nsKDEShellService() : mCheckedThisSession(PR_FALSE) { }  +  nsKDEShellService() : mCheckedThisSession(false) { }
1670  +  +
1671  +  NS_DECL_ISUPPORTS  +  NS_DECL_ISUPPORTS
1672  +  NS_DECL_NSISHELLSERVICE  +  NS_DECL_NSISHELLSERVICE
# Line 1572  new file mode 100644 Line 1676  new file mode 100644
1676  +private:  +private:
1677  +  ~nsKDEShellService() {}  +  ~nsKDEShellService() {}
1678  +  +
1679  +  PRPackedBool mCheckedThisSession;  +  bool mCheckedThisSession;
1680  +};  +};
1681  +  +
1682  +#endif // nskdeshellservice_h____  +#endif // nskdeshellservice_h____
# Line 1686  new file mode 100644 Line 1790  new file mode 100644
1790  diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in  diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
1791  --- a/browser/installer/package-manifest.in  --- a/browser/installer/package-manifest.in
1792  +++ b/browser/installer/package-manifest.in  +++ b/browser/installer/package-manifest.in
1793  @@ -601,19 +601,21 @@  @@ -643,19 +643,21 @@
1794   @BINPATH@/defaults/autoconfig/prefcalls.js   @BINPATH@/defaults/autoconfig/prefcalls.js
1795   @BINPATH@/browser/defaults/profile/prefs.js   @BINPATH@/browser/defaults/profile/prefs.js
1796    

Legend:
Removed from v.724611  
changed lines
  Added in v.724612

  ViewVC Help
Powered by ViewVC 1.1.30