firefox-kde.patch
branchfirefox46
changeset 909 c6717354928b
parent 904 6a889427cd4f
child 910 a3615665211f
equal deleted inserted replaced
901:eb9ebe3e2e6a 909:c6717354928b
     1 # HG changeset patch
     1 # HG changeset patch
     2 # Parent  77c3bdc27160dfa96aa4b3288c7f12a72f273967
     2 # Parent  f8b7b01caa34a2b2dbea6d47993ad7bbb7346a64
     3 
     3 
     4 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
     4 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
     5 new file mode 100644
     5 new file mode 100644
     6 --- /dev/null
     6 --- /dev/null
     7 +++ b/browser/base/content/browser-kde.xul
     7 +++ b/browser/base/content/browser-kde.xul
     8 @@ -0,0 +1,1250 @@
     8 @@ -0,0 +1,1175 @@
     9 +#filter substitution
     9 +#filter substitution
    10 +<?xml version="1.0"?>
    10 +<?xml version="1.0"?>
    11 +# -*- Mode: HTML -*-
    11 +# -*- Mode: HTML -*-
    12 +#
    12 +#
    13 +# This Source Code Form is subject to the terms of the Mozilla Public
    13 +# This Source Code Form is subject to the terms of the Mozilla Public
    14 +# License, v. 2.0. If a copy of the MPL was not distributed with this
    14 +# License, v. 2.0. If a copy of the MPL was not distributed with this
    15 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
    15 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
    16 +
    16 +
    17 +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
    17 +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
    18 +<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
    18 +<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
    19 +<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
    19 +<?xml-stylesheet href="chrome://devtools/skin/devtools-browser.css" type="text/css"?>
    20 +<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
    20 +<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
    21 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUIOverlay.css" type="text/css"?>
    21 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUIOverlay.css" type="text/css"?>
    22 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
    22 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
    23 +<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" type="text/css"?>
    23 +<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" type="text/css"?>
    24 +
    24 +
    97 +                accesskey="&pinTab.accesskey;"
    97 +                accesskey="&pinTab.accesskey;"
    98 +                oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/>
    98 +                oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/>
    99 +      <menuitem id="context_unpinTab" label="&unpinTab.label;" hidden="true"
    99 +      <menuitem id="context_unpinTab" label="&unpinTab.label;" hidden="true"
   100 +                accesskey="&unpinTab.accesskey;"
   100 +                accesskey="&unpinTab.accesskey;"
   101 +                oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/>
   101 +                oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/>
   102 +      <menu id="context_tabViewMenu" label="&moveToGroup.label;"
       
   103 +            accesskey="&moveToGroup.accesskey;">
       
   104 +        <menupopup id="context_tabViewMenuPopup"
       
   105 +                   onpopupshowing="if (event.target == this) TabView.moveToGroupPopupShowing(event);">
       
   106 +          <menuseparator id="context_tabViewNamedGroups" hidden="true"/>
       
   107 +          <menuitem id="context_tabViewNewGroup" label="&moveToNewGroup.label;"
       
   108 +                    oncommand="TabView.moveTabTo(TabContextMenu.contextTab, null);"/>
       
   109 +        </menupopup>
       
   110 +      </menu>
       
   111 +      <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
   102 +      <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
   112 +                accesskey="&moveToNewWindow.accesskey;"
   103 +                accesskey="&moveToNewWindow.accesskey;"
   113 +                tbattr="tabbrowser-multiple"
   104 +                tbattr="tabbrowser-multiple"
   114 +                oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
   105 +                oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
   115 +#ifdef E10S_TESTING_ONLY
   106 +#ifdef E10S_TESTING_ONLY
   125 +      <menuitem id="context_bookmarkAllTabs"
   116 +      <menuitem id="context_bookmarkAllTabs"
   126 +                label="&bookmarkAllTabs.label;"
   117 +                label="&bookmarkAllTabs.label;"
   127 +                accesskey="&bookmarkAllTabs.accesskey;"
   118 +                accesskey="&bookmarkAllTabs.accesskey;"
   128 +                command="Browser:BookmarkAllTabs"/>
   119 +                command="Browser:BookmarkAllTabs"/>
   129 +      <menuitem id="context_closeTabsToTheEnd" label="&closeTabsToTheEnd.label;" accesskey="&closeTabsToTheEnd.accesskey;"
   120 +      <menuitem id="context_closeTabsToTheEnd" label="&closeTabsToTheEnd.label;" accesskey="&closeTabsToTheEnd.accesskey;"
   130 +                oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab);"/>
   121 +                oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab, {animate: true});"/>
   131 +      <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;"
   122 +      <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;"
   132 +                oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/>
   123 +                oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/>
   133 +      <menuseparator/>
   124 +      <menuseparator/>
   134 +      <menuitem id="context_undoCloseTab"
   125 +      <menuitem id="context_undoCloseTab"
   135 +                label="&undoCloseTab.label;"
   126 +                label="&undoCloseTab.label;"
   267 +           consumeoutsideclicks="false"
   258 +           consumeoutsideclicks="false"
   268 +           mousethrough="always">
   259 +           mousethrough="always">
   269 +      <box id="UITourHighlight"></box>
   260 +      <box id="UITourHighlight"></box>
   270 +    </panel>
   261 +    </panel>
   271 +
   262 +
   272 +    <panel id="abouthome-search-panel" orient="vertical" type="arrow" hidden="true"
       
   273 +           onclick="this.hidePopup()">
       
   274 +      <hbox id="abouthome-search-panel-manage"
       
   275 +            onclick="openPreferences('paneSearch')">
       
   276 +        <label>&changeSearchSettings.button;</label>
       
   277 +      </hbox>
       
   278 +    </panel>
       
   279 +
       
   280 +    <panel id="social-share-panel"
   263 +    <panel id="social-share-panel"
   281 +           class="social-panel"
   264 +           class="social-panel"
   282 +           type="arrow"
   265 +           type="arrow"
   283 +           orient="vertical"
   266 +           orient="vertical"
   284 +           onpopupshowing="SocialShare.onShowing()"
   267 +           onpopupshowing="SocialShare.onShowing()"
   324 +    <panel id="loop-panel"
   307 +    <panel id="loop-panel"
   325 +           class="loop-panel social-panel"
   308 +           class="loop-panel social-panel"
   326 +           type="arrow"
   309 +           type="arrow"
   327 +           orient="horizontal"
   310 +           orient="horizontal"
   328 +           hidden="true"/>
   311 +           hidden="true"/>
   329 +
       
   330 +    <menupopup id="processHangOptions"
       
   331 +               onpopupshowing="ProcessHangMonitor.refreshMenu(window);">
       
   332 +      <menuitem id="processHangTerminateScript"
       
   333 +                oncommand="ProcessHangMonitor.terminateScript(window)"
       
   334 +                accesskey="&processHang.terminateScript.accessKey;"
       
   335 +                label="&processHang.terminateScript.label;"/>
       
   336 +      <menuitem id="processHangDebugScript"
       
   337 +                oncommand="ProcessHangMonitor.debugScript(window)"
       
   338 +                accesskey="&processHang.debugScript.accessKey;"
       
   339 +                label="&processHang.debugScript.label;"/>
       
   340 +      <menuitem id="processHangTerminatePlugin"
       
   341 +                oncommand="ProcessHangMonitor.terminatePlugin(window)"
       
   342 +                accesskey="&processHang.terminatePlugin.accessKey;"
       
   343 +                label="&processHang.terminatePlugin.label;"/>
       
   344 +      <menuitem id="processHangTerminateProcess"
       
   345 +                oncommand="ProcessHangMonitor.terminateProcess(window)"
       
   346 +                accesskey="&processHang.terminateProcess.accessKey;"
       
   347 +                label="&processHang.terminateProcess.label;"/>
       
   348 +    </menupopup>
       
   349 +
   312 +
   350 +    <menupopup id="toolbar-context-menu"
   313 +    <menupopup id="toolbar-context-menu"
   351 +               onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
   314 +               onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
   352 +      <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
   315 +      <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
   353 +                accesskey="&customizeMenu.moveToPanel.accesskey;"
   316 +                accesskey="&customizeMenu.moveToPanel.accesskey;"
   506 +      </vbox>
   469 +      </vbox>
   507 +    </hbox>
   470 +    </hbox>
   508 +
   471 +
   509 +    <tooltip id="dynamic-shortcut-tooltip"
   472 +    <tooltip id="dynamic-shortcut-tooltip"
   510 +             onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
   473 +             onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
   511 +
       
   512 +    <menupopup id="emeNotificationsPopup">
       
   513 +      <menuitem id="emeNotificationsNotNow"
       
   514 +                label="&emeNotificationsNotNow.label;"
       
   515 +                acceskey="&emeNotificationsNotNow.accesskey;"
       
   516 +                oncommand="gEMEHandler.onNotNow(this);"/>
       
   517 +      <menuitem id="emeNotificationsDontAskAgain"
       
   518 +                label="&emeNotificationsDontAskAgain.label;"
       
   519 +                acceskey="&emeNotificationsDontAskAgain.accesskey;"
       
   520 +                oncommand="gEMEHandler.onDontAskAgain(this);"/>
       
   521 +    </menupopup>
       
   522 +  </popupset>
   474 +  </popupset>
   523 +
   475 +
   524 +#ifdef CAN_DRAW_IN_TITLEBAR
   476 +#ifdef CAN_DRAW_IN_TITLEBAR
   525 +<vbox id="titlebar">
   477 +<vbox id="titlebar">
   526 +  <hbox id="titlebar-content">
   478 +  <hbox id="titlebar-content">
   624 +                     label="&listAllTabs.label;"
   576 +                     label="&listAllTabs.label;"
   625 +                     tooltiptext="&listAllTabs.label;"
   577 +                     tooltiptext="&listAllTabs.label;"
   626 +                     removable="false">
   578 +                     removable="false">
   627 +        <menupopup id="alltabs-popup"
   579 +        <menupopup id="alltabs-popup"
   628 +                   position="after_end">
   580 +                   position="after_end">
   629 +          <menuitem id="menu_tabview"
       
   630 +                    class="menuitem-iconic"
       
   631 +                    key="key_tabview"
       
   632 +                    label="&viewTabGroups.label;"
       
   633 +                    command="Browser:ToggleTabView"
       
   634 +                    observes="tabviewGroupsNumber"/>
       
   635 +          <menuitem id="alltabs_undoCloseTab"
   581 +          <menuitem id="alltabs_undoCloseTab"
   636 +                    class="menuitem-iconic"
   582 +                    class="menuitem-iconic"
   637 +                    key="key_undoCloseTab"
   583 +                    key="key_undoCloseTab"
   638 +                    label="&undoCloseTab.label;"
   584 +                    label="&undoCloseTab.label;"
   639 +                    observes="History:UndoCloseTab"/>
   585 +                    observes="History:UndoCloseTab"/>
   669 +    <toolbar id="nav-bar"
   615 +    <toolbar id="nav-bar"
   670 +             aria-label="&navbarCmd.label;"
   616 +             aria-label="&navbarCmd.label;"
   671 +             fullscreentoolbar="true" mode="icons" customizable="true"
   617 +             fullscreentoolbar="true" mode="icons" customizable="true"
   672 +             iconsize="small"
   618 +             iconsize="small"
   673 +#ifdef MOZ_DEV_EDITION
   619 +#ifdef MOZ_DEV_EDITION
   674 +             defaultset="urlbar-container,search-container,developer-button,bookmarks-menu-button,pocket-button,downloads-button,home-button,loop-button"
   620 +             defaultset="urlbar-container,search-container,developer-button,bookmarks-menu-button,downloads-button,home-button,loop-button"
   675 +#else
   621 +#else
   676 +             defaultset="urlbar-container,search-container,bookmarks-menu-button,pocket-button,downloads-button,home-button,loop-button"
   622 +             defaultset="urlbar-container,search-container,bookmarks-menu-button,downloads-button,home-button,loop-button"
   677 +#endif
   623 +#endif
   678 +             customizationtarget="nav-bar-customization-target"
   624 +             customizationtarget="nav-bar-customization-target"
   679 +             overflowable="true"
   625 +             overflowable="true"
   680 +             overflowbutton="nav-bar-overflow-button"
   626 +             overflowbutton="nav-bar-overflow-button"
   681 +             overflowtarget="widget-overflow-list"
   627 +             overflowtarget="widget-overflow-list"
   738 +                <image id="webapps-notification-icon" class="notification-anchor-icon" role="button"
   684 +                <image id="webapps-notification-icon" class="notification-anchor-icon" role="button"
   739 +                       aria-label="&urlbar.webappsNotificationAnchor.label;"/>
   685 +                       aria-label="&urlbar.webappsNotificationAnchor.label;"/>
   740 +                <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"
   686 +                <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"
   741 +                       aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
   687 +                       aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
   742 +                <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"
   688 +                <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"
   743 +                       aria-label="&urlbar.webNotsNotificationAnchor.label;"/>
   689 +                       aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
   744 +                <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"
   690 +                <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"
   745 +                       aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
   691 +                       aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
   746 +                <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"
   692 +                <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"
   747 +                       aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/>
   693 +                       aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/>
   748 +                <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon" role="button"
   694 +                <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon" role="button"
   772 +                   align="center"
   718 +                   align="center"
   773 +                   aria-label="&urlbar.viewSiteInfo.label;"
   719 +                   aria-label="&urlbar.viewSiteInfo.label;"
   774 +                   onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
   720 +                   onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
   775 +                   onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
   721 +                   onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
   776 +                   ondragstart="gIdentityHandler.onDragStart(event);">
   722 +                   ondragstart="gIdentityHandler.onDragStart(event);">
   777 +                <hbox id="identity-icons"
   723 +                <image id="identity-icon"
   778 +                      consumeanchor="identity-box">
   724 +                       consumeanchor="identity-box"
   779 +                  <image id="tracking-protection-icon"/>
   725 +                       onclick="PageProxyClickHandler(event);"/>
   780 +                  <image id="page-proxy-favicon"
   726 +                <image id="tracking-protection-icon"/>
   781 +                         onclick="PageProxyClickHandler(event);"
   727 +                <image id="connection-icon"/>
   782 +                         pageproxystate="invalid"/>
       
   783 +                </hbox>
       
   784 +                <hbox id="identity-icon-labels">
   728 +                <hbox id="identity-icon-labels">
   785 +                  <label id="identity-icon-label" class="plain" flex="1"/>
   729 +                  <label id="identity-icon-label" class="plain" flex="1"/>
   786 +                  <label id="identity-icon-country-label" class="plain"/>
   730 +                  <label id="identity-icon-country-label" class="plain"/>
   787 +                </hbox>
   731 +                </hbox>
   788 +              </box>
   732 +              </box>
   849 +                     context="placesContext"
   793 +                     context="placesContext"
   850 +                     openInTabs="children"
   794 +                     openInTabs="children"
   851 +                     oncommand="BookmarksEventHandler.onCommand(event, this.parentNode._placesView);"
   795 +                     oncommand="BookmarksEventHandler.onCommand(event, this.parentNode._placesView);"
   852 +                     onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);"
   796 +                     onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);"
   853 +                     onpopupshowing="BookmarkingUI.onPopupShowing(event);
   797 +                     onpopupshowing="BookmarkingUI.onPopupShowing(event);
   854 +                                     BookmarkingUI.updatePocketItemVisibility('BMB_');
       
   855 +                                     BookmarkingUI.attachPlacesView(event, this);"
   798 +                                     BookmarkingUI.attachPlacesView(event, this);"
   856 +                     tooltip="bhTooltip" popupsinherittooltip="true">
   799 +                     tooltip="bhTooltip" popupsinherittooltip="true">
   857 +            <menuitem id="BMB_viewBookmarksSidebar"
   800 +            <menuitem id="BMB_viewBookmarksSidebar"
   858 +                      class="subviewbutton"
   801 +                      class="subviewbutton"
   859 +                      label="&viewBookmarksSidebar2.label;"
   802 +                      label="&viewBookmarksSidebar2.label;"
   866 +                      class="menuitem-iconic subviewbutton"
   809 +                      class="menuitem-iconic subviewbutton"
   867 +                      label="&showAllBookmarks2.label;"
   810 +                      label="&showAllBookmarks2.label;"
   868 +                      command="Browser:ShowAllBookmarks"
   811 +                      command="Browser:ShowAllBookmarks"
   869 +                      key="manBookmarkKb"/>
   812 +                      key="manBookmarkKb"/>
   870 +            <menuseparator/>
   813 +            <menuseparator/>
   871 +            <menuitem id="BMB_pocket"
       
   872 +                      class="menuitem-iconic bookmark-item subviewbutton"
       
   873 +                      label="&pocketMenuitem.label;"
       
   874 +                      oncommand="openUILink(Pocket.listURL, event);"/>
       
   875 +            <menuseparator id="BMB_pocketSeparator"/>
       
   876 +            <menuitem id="BMB_subscribeToPageMenuitem"
   814 +            <menuitem id="BMB_subscribeToPageMenuitem"
   877 +#ifndef XP_MACOSX
   815 +#ifndef XP_MACOSX
   878 +                      class="menuitem-iconic subviewbutton"
   816 +                      class="menuitem-iconic subviewbutton"
   879 +#else
   817 +#else
   880 +                      class="subviewbutton"
   818 +                      class="subviewbutton"
  1089 +      <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
  1027 +      <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
  1090 +                     observes="View:FullScreen"
  1028 +                     observes="View:FullScreen"
  1091 +                     type="checkbox"
  1029 +                     type="checkbox"
  1092 +                     label="&fullScreenCmd.label;"
  1030 +                     label="&fullScreenCmd.label;"
  1093 +                     tooltip="dynamic-shortcut-tooltip"/>
  1031 +                     tooltip="dynamic-shortcut-tooltip"/>
  1094 +
       
  1095 +#ifdef MOZ_SERVICES_SYNC
       
  1096 +      <toolbarbutton id="sync-button"
       
  1097 +                     class="toolbarbutton-1 chromeclass-toolbar-additional"
       
  1098 +                     label="&syncToolbarButton.label;"
       
  1099 +                     oncommand="gSyncUI.handleToolbarButton()"/>
       
  1100 +#endif
       
  1101 +
       
  1102 +      <toolbarbutton id="tabview-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
       
  1103 +                     label="&tabGroupsButton.label;"
       
  1104 +                     command="Browser:ToggleTabView"
       
  1105 +                     tooltip="dynamic-shortcut-tooltip"
       
  1106 +                     observes="tabviewGroupsNumber"/>
       
  1107 +    </toolbarpalette>
  1032 +    </toolbarpalette>
  1108 +  </toolbox>
  1033 +  </toolbox>
  1109 +
  1034 +
  1110 +  <hbox id="fullscr-toggler" hidden="true"/>
  1035 +  <hbox id="fullscr-toggler" hidden="true"/>
  1111 +
  1036 +
  1257 +
  1182 +
  1258 +</window>
  1183 +</window>
  1259 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
  1184 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
  1260 --- a/browser/base/jar.mn
  1185 --- a/browser/base/jar.mn
  1261 +++ b/browser/base/jar.mn
  1186 +++ b/browser/base/jar.mn
  1262 @@ -70,16 +70,18 @@ browser.jar:
  1187 @@ -71,16 +71,18 @@ browser.jar:
  1263          content/browser/aboutSocialError.xhtml        (content/aboutSocialError.xhtml)
       
  1264          content/browser/aboutProviderDirectory.xhtml  (content/aboutProviderDirectory.xhtml)
       
  1265          content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
  1188          content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
  1266          content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
  1189          content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
  1267          content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
  1190          content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
       
  1191  *       content/browser/aboutTabGroupsMigration.xhtml (content/aboutTabGroupsMigration.xhtml)
       
  1192          content/browser/aboutTabGroupsMigration.js    (content/aboutTabGroupsMigration.js)
  1268  *       content/browser/browser.css                   (content/browser.css)
  1193  *       content/browser/browser.css                   (content/browser.css)
  1269  *       content/browser/browser.js                    (content/browser.js)
  1194          content/browser/browser.js                    (content/browser.js)
  1270  *       content/browser/browser.xul                   (content/browser.xul)
  1195  *       content/browser/browser.xul                   (content/browser.xul)
  1271 +*       content/browser/browser-kde.xul               (content/browser-kde.xul)
  1196 +*       content/browser/browser-kde.xul               (content/browser-kde.xul)
  1272 +%       override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde
  1197 +%       override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde
  1273  *       content/browser/browser-tabPreviews.xml       (content/browser-tabPreviews.xml)
  1198          content/browser/browser-addons.js             (content/browser-addons.js)
  1274  *       content/browser/chatWindow.xul                (content/chatWindow.xul)
  1199          content/browser/browser-ctrlTab.js            (content/browser-ctrlTab.js)
  1275          content/browser/tab-content.js                (content/tab-content.js)
  1200          content/browser/browser-customization.js      (content/browser-customization.js)
  1276          content/browser/content.js                    (content/content.js)
  1201          content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
  1277          content/browser/social-content.js             (content/social-content.js)
  1202          content/browser/browser-devedition.js         (content/browser-devedition.js)
  1278          content/browser/defaultthemes/1.footer.jpg    (content/defaultthemes/1.footer.jpg)
  1203          content/browser/browser-eme.js                (content/browser-eme.js)
  1279          content/browser/defaultthemes/1.header.jpg    (content/defaultthemes/1.header.jpg)
  1204          content/browser/browser-feeds.js              (content/browser-feeds.js)
  1280          content/browser/defaultthemes/1.icon.jpg      (content/defaultthemes/1.icon.jpg)
  1205          content/browser/browser-fullScreen.js         (content/browser-fullScreen.js)
  1281 diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
  1206 diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
  1282 --- a/browser/components/build/nsModule.cpp
  1207 --- a/browser/components/build/nsModule.cpp
  1283 +++ b/browser/components/build/nsModule.cpp
  1208 +++ b/browser/components/build/nsModule.cpp
  1284 @@ -8,17 +8,17 @@
  1209 @@ -8,17 +8,17 @@
  1285  #include "nsBrowserCompsCID.h"
  1210  #include "nsBrowserCompsCID.h"
  1294 +#include "nsUnixShellService.h"
  1219 +#include "nsUnixShellService.h"
  1295  #endif
  1220  #endif
  1296  
  1221  
  1297  #if defined(XP_WIN)
  1222  #if defined(XP_WIN)
  1298  #include "nsIEHistoryEnumerator.h"
  1223  #include "nsIEHistoryEnumerator.h"
  1299  #include "nsEdgeReadingListExtractor.h"
       
  1300  #endif
  1224  #endif
  1301  
  1225  
  1302  #include "rdf.h"
  1226  #include "rdf.h"
  1303 @@ -32,18 +32,16 @@ using namespace mozilla::browser;
  1227  #include "nsFeedSniffer.h"
       
  1228 @@ -31,18 +31,16 @@ using namespace mozilla::browser;
  1304  
  1229  
  1305  /////////////////////////////////////////////////////////////////////////////
  1230  /////////////////////////////////////////////////////////////////////////////
  1306  
  1231  
  1307  NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider)
  1232  NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider)
  1308  #if defined(XP_WIN)
  1233  #if defined(XP_WIN)
  1313 -NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
  1238 -NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
  1314  #endif
  1239  #endif
  1315  
  1240  
  1316  #if defined(XP_WIN)
  1241  #if defined(XP_WIN)
  1317  NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
  1242  NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
  1318  NS_GENERIC_FACTORY_CONSTRUCTOR(nsEdgeReadingListExtractor)
       
  1319  #endif
  1243  #endif
  1320  
  1244  
  1321  NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
  1245  NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
  1322 @@ -63,17 +61,17 @@ NS_DEFINE_NAMED_CID(NS_EDGEREADINGLISTEX
  1246  
       
  1247 @@ -60,17 +58,17 @@ NS_DEFINE_NAMED_CID(NS_WINIEHISTORYENUME
  1323  NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
  1248  NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
  1324  #endif
  1249  #endif
  1325  
  1250  
  1326  static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
  1251  static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
  1327      { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
  1252      { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
  1333  #endif
  1258  #endif
  1334      { &kNS_FEEDSNIFFER_CID, false, nullptr, nsFeedSnifferConstructor },
  1259      { &kNS_FEEDSNIFFER_CID, false, nullptr, nsFeedSnifferConstructor },
  1335      { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
  1260      { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
  1336  #if defined(XP_WIN)
  1261  #if defined(XP_WIN)
  1337      { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
  1262      { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
  1338      { &kNS_EDGEREADINGLISTEXTRACTOR_CID, false, nullptr, nsEdgeReadingListExtractorConstructor },
       
  1339  #elif defined(XP_MACOSX)
  1263  #elif defined(XP_MACOSX)
  1340      { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
  1264      { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
       
  1265  #endif
  1341 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
  1266 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
  1342 --- a/browser/components/preferences/in-content/main.js
  1267 --- a/browser/components/preferences/in-content/main.js
  1343 +++ b/browser/components/preferences/in-content/main.js
  1268 +++ b/browser/components/preferences/in-content/main.js
  1344 @@ -14,16 +14,22 @@ var gMainPane = {
  1269 @@ -19,16 +19,22 @@ var gMainPane = {
  1345    init: function ()
  1270    init: function ()
  1346    {
  1271    {
  1347      function setEventListener(aId, aEventType, aCallback)
  1272      function setEventListener(aId, aEventType, aCallback)
  1348      {
  1273      {
  1349        document.getElementById(aId)
  1274        document.getElementById(aId)
  1362      // In Windows 8 we launch the control panel since it's the only
  1287      // In Windows 8 we launch the control panel since it's the only
  1363      // way to get all file type association prefs. So we don't know
  1288      // way to get all file type association prefs. So we don't know
  1364      // when the user will select the default.  We refresh here periodically
  1289      // when the user will select the default.  We refresh here periodically
  1365      // in case the default changes.  On other Windows OS's defaults can also
  1290      // in case the default changes.  On other Windows OS's defaults can also
  1366      // be set while the prefs are open.
  1291      // be set while the prefs are open.
  1367 @@ -711,16 +717,27 @@ var gMainPane = {
  1292 @@ -704,16 +710,27 @@ var gMainPane = {
  1368     */
  1293     */
  1369    setDefaultBrowser: function()
  1294    setDefaultBrowser: function()
  1370    {
  1295    {
  1371      let shellSvc = getShellService();
  1296      let shellSvc = getShellService();
  1372      if (!shellSvc)
  1297      if (!shellSvc)
  1393      document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
  1318      document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
  1394    }
  1319    }
  1395 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
  1320 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
  1396 --- a/browser/components/shell/moz.build
  1321 --- a/browser/components/shell/moz.build
  1397 +++ b/browser/components/shell/moz.build
  1322 +++ b/browser/components/shell/moz.build
  1398 @@ -30,16 +30,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
  1323 @@ -34,16 +34,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
  1399      ]
  1324      ]
  1400  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
  1325  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
  1401      SOURCES += [
  1326      SOURCES += [
  1402          'nsMacShellService.cpp',
  1327          'nsMacShellService.cpp',
  1403      ]
  1328      ]
  1416      'nsSetDefaultBrowser.manifest',
  1341      'nsSetDefaultBrowser.manifest',
  1417 diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
  1342 diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
  1418 new file mode 100644
  1343 new file mode 100644
  1419 --- /dev/null
  1344 --- /dev/null
  1420 +++ b/browser/components/shell/nsKDEShellService.cpp
  1345 +++ b/browser/components/shell/nsKDEShellService.cpp
  1421 @@ -0,0 +1,292 @@
  1346 @@ -0,0 +1,196 @@
  1422 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  1347 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  1423 +/* This Source Code Form is subject to the terms of the Mozilla Public
  1348 +/* This Source Code Form is subject to the terms of the Mozilla Public
  1424 + * License, v. 2.0. If a copy of the MPL was not distributed with this
  1349 + * License, v. 2.0. If a copy of the MPL was not distributed with this
  1425 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  1350 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  1426 +
  1351 +
  1494 +
  1419 +
  1495 +    paramstr->SetData( aClaimAllTypes ? NS_LITERAL_CSTRING( "ALLTYPES" ) : NS_LITERAL_CSTRING( "NORMAL" ));
  1420 +    paramstr->SetData( aClaimAllTypes ? NS_LITERAL_CSTRING( "ALLTYPES" ) : NS_LITERAL_CSTRING( "NORMAL" ));
  1496 +    command->AppendElement( paramstr, false );
  1421 +    command->AppendElement( paramstr, false );
  1497 +
  1422 +
  1498 +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
  1423 +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
  1499 +}
       
  1500 +
       
  1501 +NS_IMETHODIMP
       
  1502 +nsKDEShellService::GetShouldSkipCheckDefaultBrowser(bool* aResult)
       
  1503 +{
       
  1504 +  NS_ENSURE_ARG_POINTER(aResult);
       
  1505 +
       
  1506 +  nsresult rv;
       
  1507 +  nsCOMPtr<nsIPrefBranch> prefs(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
       
  1508 +  if (NS_FAILED(rv)) {
       
  1509 +    return rv;
       
  1510 +  }
       
  1511 +
       
  1512 +  rv = prefs->GetBoolPref(PREF_SKIPDEFAULTBROWSERCHECK, aResult);
       
  1513 +  if (NS_FAILED(rv)) {
       
  1514 +    return rv;
       
  1515 +  }
       
  1516 +  if (*aResult) {
       
  1517 +    // Only skip the default browser check once. The next attempt in
       
  1518 +    // a new session should proceed.
       
  1519 +    return prefs->SetBoolPref(PREF_SKIPDEFAULTBROWSERCHECK, false);
       
  1520 +  }
       
  1521 +
       
  1522 +  int32_t defaultBrowserCheckCount;
       
  1523 +  rv = prefs->GetIntPref(PREF_DEFAULTBROWSERCHECKCOUNT,
       
  1524 +                         &defaultBrowserCheckCount);
       
  1525 +  if (NS_FAILED(rv)) {
       
  1526 +    return rv;
       
  1527 +  }
       
  1528 +  if (defaultBrowserCheckCount < 4) {
       
  1529 +    *aResult = false;
       
  1530 +    return prefs->SetIntPref(PREF_DEFAULTBROWSERCHECKCOUNT,
       
  1531 +                             defaultBrowserCheckCount + 1);
       
  1532 +  }
       
  1533 +
       
  1534 +  // Disable the default browser check after three attempts.
       
  1535 +  // Don't modify PREF_CHECKDEFAULTBROWSER since that is a
       
  1536 +  // user-initiated action and it shouldn't get re-enabled
       
  1537 +  // if it has been user disabled.
       
  1538 +  *aResult = true;
       
  1539 +  return rv;
       
  1540 +}
       
  1541 +
       
  1542 +NS_IMETHODIMP
       
  1543 +nsKDEShellService::GetShouldCheckDefaultBrowser(bool* aResult)
       
  1544 +{
       
  1545 +  // If we've already checked, the browser has been started and this is a
       
  1546 +  // new window open, and we don't want to check again.
       
  1547 +  if (mCheckedThisSession) {
       
  1548 +    *aResult = false;
       
  1549 +    return NS_OK;
       
  1550 +  }
       
  1551 +
       
  1552 +  nsresult rv;
       
  1553 +#ifndef RELEASE_BUILD
       
  1554 +  bool skipDefaultBrowserCheck;
       
  1555 +  rv = GetShouldSkipCheckDefaultBrowser(&skipDefaultBrowserCheck);
       
  1556 +  if (NS_FAILED(rv)) {
       
  1557 +    return rv;
       
  1558 +  }
       
  1559 +  if (skipDefaultBrowserCheck) {
       
  1560 +    *aResult = false;
       
  1561 +    return rv;
       
  1562 +  }
       
  1563 +#endif
       
  1564 +
       
  1565 +  nsCOMPtr<nsIPrefBranch> prefs;
       
  1566 +  nsCOMPtr<nsIPrefService> pserve(do_GetService(NS_PREFSERVICE_CONTRACTID));
       
  1567 +  if (pserve)
       
  1568 +    pserve->GetBranch("", getter_AddRefs(prefs));
       
  1569 +
       
  1570 +  if (prefs)
       
  1571 +    prefs->GetBoolPref(PREF_CHECKDEFAULTBROWSER, aResult);
       
  1572 +
       
  1573 +  return NS_OK;
       
  1574 +}
       
  1575 +
       
  1576 +NS_IMETHODIMP
       
  1577 +nsKDEShellService::SetShouldCheckDefaultBrowser(bool aShouldCheck)
       
  1578 +{
       
  1579 +  nsCOMPtr<nsIPrefBranch> prefs;
       
  1580 +  nsCOMPtr<nsIPrefService> pserve(do_GetService(NS_PREFSERVICE_CONTRACTID));
       
  1581 +  if (pserve)
       
  1582 +    pserve->GetBranch("", getter_AddRefs(prefs));
       
  1583 +
       
  1584 +  if (prefs)
       
  1585 +    prefs->SetBoolPref(PREF_CHECKDEFAULTBROWSER, aShouldCheck);
       
  1586 +
       
  1587 +  return NS_OK;
       
  1588 +}
       
  1589 +
       
  1590 +NS_IMETHODIMP
       
  1591 +nsKDEShellService::GetCanSetDesktopBackground(bool* aResult)
       
  1592 +{
       
  1593 +  *aResult = true;
       
  1594 +  return NS_OK;
       
  1595 +}
  1424 +}
  1596 +
  1425 +
  1597 +NS_IMETHODIMP
  1426 +NS_IMETHODIMP
  1598 +nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement,
  1427 +nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement,
  1599 +                                          PRInt32 aPosition)
  1428 +                                          PRInt32 aPosition)
  1793 +
  1622 +
  1794 +#endif // nsunixshellservice_h____
  1623 +#endif // nsunixshellservice_h____
  1795 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1624 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1796 --- a/browser/installer/package-manifest.in
  1625 --- a/browser/installer/package-manifest.in
  1797 +++ b/browser/installer/package-manifest.in
  1626 +++ b/browser/installer/package-manifest.in
  1798 @@ -709,16 +709,17 @@
  1627 @@ -703,16 +703,17 @@
       
  1628  @RESPATH@/greprefs.js
  1799  @RESPATH@/defaults/autoconfig/prefcalls.js
  1629  @RESPATH@/defaults/autoconfig/prefcalls.js
  1800  @RESPATH@/browser/defaults/profile/prefs.js
       
  1801  @RESPATH@/browser/defaults/permissions
  1630  @RESPATH@/browser/defaults/permissions
  1802  
  1631  
  1803  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1632  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1804  ; Technically this is an app pref file, but we are keeping it in the original
  1633  ; Technically this is an app pref file, but we are keeping it in the original
  1805  ; gre location for now.
  1634  ; gre location for now.
  1808  
  1637  
  1809  ; Services (gre) prefs
  1638  ; Services (gre) prefs
  1810  #ifdef MOZ_SERVICES_NOTIFICATIONS
  1639  #ifdef MOZ_SERVICES_NOTIFICATIONS
  1811  @RESPATH@/defaults/pref/services-notifications.js
  1640  @RESPATH@/defaults/pref/services-notifications.js
  1812  #endif
  1641  #endif
  1813  #ifdef MOZ_SERVICES_SYNC
       
  1814  @RESPATH@/defaults/pref/services-sync.js
  1642  @RESPATH@/defaults/pref/services-sync.js
  1815  #endif
  1643  
       
  1644  ; [Layout Engine Resources]