577 + flip="slide" |
579 + flip="slide" |
578 + photon="true" |
580 + photon="true" |
579 + position="bottomcenter topright" |
581 + position="bottomcenter topright" |
580 + tabspecific="true" |
582 + tabspecific="true" |
581 + noautofocus="true" |
583 + noautofocus="true" |
|
584 + pocket-title="&saveToPocketCmd.label;" |
582 + copyURL-title="&pageAction.copyLink.label;" |
585 + copyURL-title="&pageAction.copyLink.label;" |
583 + emailLink-title="&emailPageCmd.label;" |
586 + emailLink-title="&emailPageCmd.label;" |
584 + sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;" |
587 + sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;" |
585 + shareURL-title="&pageAction.shareUrl.label;" |
588 + shareURL-title="&pageAction.shareUrl.label;" |
586 + shareMore-label="&pageAction.shareMore.label;"> |
589 + shareMore-label="&pageAction.shareMore.label;"> |
769 + customizationtarget="TabsToolbar-customization-target" |
772 + customizationtarget="TabsToolbar-customization-target" |
770 + mode="icons" |
773 + mode="icons" |
771 + aria-label="&tabsToolbar.label;" |
774 + aria-label="&tabsToolbar.label;" |
772 + context="toolbar-context-menu" |
775 + context="toolbar-context-menu" |
773 + flex="1"> |
776 + flex="1"> |
774 + <vbox flex="1" class="toolbar-items"> |
777 + |
775 + <spacer flex="1000"/> |
778 + <hbox class="titlebar-spacer" type="pre-tabs"/> |
776 + |
779 + |
|
780 + <hbox flex="1" align="end" class="toolbar-items"> |
777 + <hbox id="TabsToolbar-customization-target" flex="1"> |
781 + <hbox id="TabsToolbar-customization-target" flex="1"> |
778 + <hbox class="titlebar-spacer" type="pre-tabs" |
|
779 + skipintoolbarset="true"/> |
|
780 + |
|
781 + <tabs id="tabbrowser-tabs" |
782 + <tabs id="tabbrowser-tabs" |
782 + flex="1" |
783 + flex="1" |
783 + setfocus="false" |
784 + setfocus="false" |
784 + tooltip="tabbrowser-tab-tooltip" |
785 + tooltip="tabbrowser-tab-tooltip" |
785 + stopwatchid="FX_TAB_CLICK_MS"> |
786 + stopwatchid="FX_TAB_CLICK_MS"> |
803 + class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button badged-button" |
804 + class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button badged-button" |
804 + oncommand="gTabsPanel.showAllTabsPanel();" |
805 + oncommand="gTabsPanel.showAllTabsPanel();" |
805 + label="&listAllTabs.label;" |
806 + label="&listAllTabs.label;" |
806 + tooltiptext="&listAllTabs.label;" |
807 + tooltiptext="&listAllTabs.label;" |
807 + removable="false"/> |
808 + removable="false"/> |
808 + |
|
809 + <hbox class="titlebar-spacer" type="post-tabs" |
|
810 + ordinal="1000" |
|
811 + skipintoolbarset="true"/> |
|
812 + </hbox> |
809 + </hbox> |
813 + </vbox> |
810 + </hbox> |
|
811 + |
|
812 + <hbox class="titlebar-spacer" type="post-tabs"/> |
814 + |
813 + |
815 +#ifndef XP_MACOSX |
814 +#ifndef XP_MACOSX |
816 + <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;" |
815 + <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;" |
817 + ordinal="1000" |
816 + aria-live="polite"/> |
818 + aria-live="polite" skipintoolbarset="true"/> |
817 + <hbox class="private-browsing-indicator"/> |
819 + <hbox class="private-browsing-indicator" skipintoolbarset="true" |
|
820 + ordinal="1000"/> |
|
821 +#endif |
818 +#endif |
822 + |
819 + |
823 +#include titlebar-items.inc.xul |
820 +#include titlebar-items.inc.xul |
824 + |
821 + |
825 +#ifdef XP_MACOSX |
822 +#ifdef XP_MACOSX |
1043 + <box id="pageActionSeparator" class="urlbar-page-action"/> |
1040 + <box id="pageActionSeparator" class="urlbar-page-action"/> |
1044 + <image id="pageActionButton" |
1041 + <image id="pageActionButton" |
1045 + class="urlbar-icon urlbar-page-action" |
1042 + class="urlbar-icon urlbar-page-action" |
1046 + role="button" |
1043 + role="button" |
1047 + tooltiptext="&pageActionButton.tooltip;" |
1044 + tooltiptext="&pageActionButton.tooltip;" |
1048 + onmousedown="BrowserPageActions.mainButtonClicked(event);"/> |
1045 + onmousedown="BrowserPageActions.mainButtonClicked(event);" |
|
1046 + onkeypress="BrowserPageActions.mainButtonClicked(event);"/> |
|
1047 + <hbox id="pocket-button-box" |
|
1048 + hidden="true" |
|
1049 + class="urlbar-icon-wrapper urlbar-page-action" |
|
1050 + onclick="BrowserPageActions.doCommandForAction(PageActions.actionForID('pocket'), event, this);"> |
|
1051 + <image id="pocket-button" |
|
1052 + class="urlbar-icon" |
|
1053 + tooltiptext="&pocketButton.tooltiptext;" |
|
1054 + role="button"/> |
|
1055 + <hbox id="pocket-button-animatable-box"> |
|
1056 + <image id="pocket-button-animatable-image" |
|
1057 + tooltiptext="&pocketButton.tooltiptext;" |
|
1058 + role="presentation"/> |
|
1059 + </hbox> |
|
1060 + </hbox> |
1049 + <hbox id="star-button-box" |
1061 + <hbox id="star-button-box" |
1050 + hidden="true" |
1062 + hidden="true" |
1051 + class="urlbar-icon-wrapper urlbar-page-action" |
1063 + class="urlbar-icon-wrapper urlbar-page-action" |
1052 + onclick="BrowserPageActions.doCommandForAction(PageActions.actionForID('bookmark'), event, this);"> |
1064 + onclick="BrowserPageActions.doCommandForAction(PageActions.actionForID('bookmark'), event, this);"> |
1053 + <image id="star-button" |
1065 + <image id="star-button" |
1095 + </toolbarbutton> |
1107 + </toolbarbutton> |
1096 + |
1108 + |
1097 + <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav" |
1109 + <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav" |
1098 + removable="true" |
1110 + removable="true" |
1099 + onmousedown="PanelUI.showSubView('appMenu-libraryView', this, event);" |
1111 + onmousedown="PanelUI.showSubView('appMenu-libraryView', this, event);" |
|
1112 + onkeypress="PanelUI.showSubView('appMenu-libraryView', this, event);" |
1100 + closemenu="none" |
1113 + closemenu="none" |
1101 + cui-areatype="toolbar" |
1114 + cui-areatype="toolbar" |
1102 + tooltiptext="&libraryButton.tooltip;" |
1115 + tooltiptext="&libraryButton.tooltip;" |
1103 + label="&places.library.title;"/> |
1116 + label="&places.library.title;"/> |
1104 + |
1117 + |
1429 @@ -8,17 +8,17 @@ |
1442 @@ -8,17 +8,17 @@ |
1430 #include "nsBrowserCompsCID.h" |
1443 #include "nsBrowserCompsCID.h" |
1431 #include "DirectoryProvider.h" |
1444 #include "DirectoryProvider.h" |
1432 |
1445 |
1433 #if defined(XP_WIN) |
1446 #if defined(XP_WIN) |
1434 #include "nsWindowsShellService.h" |
1447 # include "nsWindowsShellService.h" |
1435 #elif defined(XP_MACOSX) |
1448 #elif defined(XP_MACOSX) |
1436 #include "nsMacShellService.h" |
1449 # include "nsMacShellService.h" |
1437 #elif defined(MOZ_WIDGET_GTK) |
1450 #elif defined(MOZ_WIDGET_GTK) |
1438 -#include "nsGNOMEShellService.h" |
1451 -# include "nsGNOMEShellService.h" |
1439 +#include "nsUnixShellService.h" |
1452 +# include "nsUnixShellService.h" |
1440 #endif |
1453 #endif |
|
1454 #include "nsIToolkitShellService.h" |
1441 |
1455 |
1442 #if defined(MOZ_WIDGET_COCOA) |
1456 #if defined(MOZ_WIDGET_COCOA) |
1443 #include "nsMacAttribution.h" |
1457 # include "nsMacAttribution.h" |
1444 #endif |
1458 #endif |
1445 |
1459 |
1446 #if defined(XP_WIN) |
1460 #if defined(XP_WIN) |
1447 #include "nsIEHistoryEnumerator.h" |
1461 @@ -34,18 +34,16 @@ using namespace mozilla::browser; |
1448 @@ -33,18 +33,16 @@ using namespace mozilla::browser; |
|
1449 |
1462 |
1450 ///////////////////////////////////////////////////////////////////////////// |
1463 ///////////////////////////////////////////////////////////////////////////// |
1451 |
1464 |
1452 NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider) |
1465 NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider) |
1453 #if defined(XP_WIN) |
1466 #if defined(XP_WIN) |
1462 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacAttributionService) |
1475 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacAttributionService) |
1463 #endif |
1476 #endif |
1464 |
1477 |
1465 #if defined(XP_WIN) |
1478 #if defined(XP_WIN) |
1466 NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator) |
1479 NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator) |
1467 @@ -67,17 +65,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER |
1480 @@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER |
1468 #endif |
1481 #endif |
1469 |
1482 |
1470 static const mozilla::Module::CIDEntry kBrowserCIDs[] = { |
1483 static const mozilla::Module::CIDEntry kBrowserCIDs[] = { |
1471 // clang-format off |
1484 // clang-format off |
1472 { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor }, |
1485 { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor }, |
1473 #if defined(XP_WIN) |
1486 #if defined(XP_WIN) |
1474 { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor }, |
1487 { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor }, |
1475 #elif defined(MOZ_WIDGET_GTK) |
1488 #elif defined(MOZ_WIDGET_GTK) |
1476 - { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor }, |
1489 - { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor }, |
1477 + { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor }, |
1490 + { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor }, |
|
1491 #elif defined(XP_MACOSX) |
|
1492 { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor }, |
1478 #endif |
1493 #endif |
1479 { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create }, |
1494 { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create }, |
1480 #if defined(XP_WIN) |
1495 #if defined(XP_WIN) |
1481 { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor }, |
1496 { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor }, |
1482 #elif defined(XP_MACOSX) |
|
1483 { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor }, |
|
1484 #endif |
1497 #endif |
1485 #if defined(MOZ_WIDGET_COCOA) |
1498 #if defined(MOZ_WIDGET_COCOA) |
1486 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js |
1499 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js |
1487 --- a/browser/components/preferences/in-content/main.js |
1500 --- a/browser/components/preferences/in-content/main.js |
1488 +++ b/browser/components/preferences/in-content/main.js |
1501 +++ b/browser/components/preferences/in-content/main.js |
1508 let performanceSettingsLink = document.getElementById("performanceSettingsLearnMore"); |
1521 let performanceSettingsLink = document.getElementById("performanceSettingsLearnMore"); |
1509 let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "performance"; |
1522 let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "performance"; |
1510 performanceSettingsLink.setAttribute("href", performanceSettingsUrl); |
1523 performanceSettingsLink.setAttribute("href", performanceSettingsUrl); |
1511 |
1524 |
1512 this.updateDefaultPerformanceSettingsPref(); |
1525 this.updateDefaultPerformanceSettingsPref(); |
1513 @@ -1012,16 +1019,27 @@ var gMainPane = { |
1526 @@ -1021,16 +1028,27 @@ var gMainPane = { |
1514 // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser. |
1527 // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser. |
1515 this._backoffIndex = 0; |
1528 this._backoffIndex = 0; |
1516 |
1529 |
1517 let shellSvc = getShellService(); |
1530 let shellSvc = getShellService(); |
1518 if (!shellSvc) |
1531 if (!shellSvc) |
1539 document.getElementById("setDefaultPane").selectedIndex = selectedIndex; |
1552 document.getElementById("setDefaultPane").selectedIndex = selectedIndex; |
1540 } |
1553 } |
1541 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build |
1554 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build |
1542 --- a/browser/components/shell/moz.build |
1555 --- a/browser/components/shell/moz.build |
1543 +++ b/browser/components/shell/moz.build |
1556 +++ b/browser/components/shell/moz.build |
1544 @@ -39,16 +39,18 @@ if CONFIG['OS_ARCH'] == 'WINNT': |
1557 @@ -29,16 +29,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco |
1545 ] |
|
1546 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': |
|
1547 SOURCES += [ |
|
1548 'nsMacShellService.cpp', |
|
1549 ] |
1558 ] |
1550 elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: |
1559 elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: |
|
1560 XPIDL_SOURCES += [ |
|
1561 'nsIGNOMEShellService.idl', |
|
1562 ] |
|
1563 |
1551 SOURCES += [ |
1564 SOURCES += [ |
1552 'nsGNOMEShellService.cpp', |
1565 'nsGNOMEShellService.cpp', |
1553 + 'nsKDEShellService.cpp', |
1566 + 'nsKDEShellService.cpp', |
1554 + 'nsUnixShellService.cpp', |
1567 + 'nsUnixShellService.cpp', |
1555 ] |
1568 ] |
1556 |
1569 elif CONFIG['OS_ARCH'] == 'WINNT': |
1557 if SOURCES: |
1570 SOURCES += [ |
1558 FINAL_LIBRARY = 'browsercomps' |
1571 'nsWindowsShellService.cpp', |
1559 |
1572 ] |
1560 EXTRA_JS_MODULES += [ |
1573 LOCAL_INCLUDES += [ |
1561 'HeadlessShell.jsm', |
1574 '../../../other-licenses/nsis/Contrib/CityHash/cityhash', |
1562 'ShellService.jsm', |
1575 ] |
1563 diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp |
1576 diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp |
1564 new file mode 100644 |
1577 new file mode 100644 |
1565 --- /dev/null |
1578 --- /dev/null |
1566 +++ b/browser/components/shell/nsKDEShellService.cpp |
1579 +++ b/browser/components/shell/nsKDEShellService.cpp |
1567 @@ -0,0 +1,153 @@ |
1580 @@ -0,0 +1,150 @@ |
1568 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
1581 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
1569 +/* This Source Code Form is subject to the terms of the Mozilla Public |
1582 +/* This Source Code Form is subject to the terms of the Mozilla Public |
1570 + * License, v. 2.0. If a copy of the MPL was not distributed with this |
1583 + * License, v. 2.0. If a copy of the MPL was not distributed with this |
1571 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
1584 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
1572 + |
1585 + |
1596 +} |
1609 +} |
1597 + |
1610 + |
1598 +NS_IMPL_ISUPPORTS(nsKDEShellService, nsIGNOMEShellService, nsIShellService) |
1611 +NS_IMPL_ISUPPORTS(nsKDEShellService, nsIGNOMEShellService, nsIShellService) |
1599 + |
1612 + |
1600 +NS_IMETHODIMP |
1613 +NS_IMETHODIMP |
1601 +nsKDEShellService::IsDefaultBrowser(bool aStartupCheck, |
1614 +nsKDEShellService::IsDefaultBrowser(bool aForAllTypes, |
1602 + bool aForAllTypes, |
|
1603 + bool* aIsDefaultBrowser) |
1615 + bool* aIsDefaultBrowser) |
1604 +{ |
1616 +{ |
1605 + *aIsDefaultBrowser = false; |
1617 + *aIsDefaultBrowser = false; |
1606 + if (aStartupCheck) |
|
1607 + mCheckedThisSession = true; |
|
1608 + |
1618 + |
1609 + nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID ); |
1619 + nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID ); |
1610 + if (!command) |
1620 + if (!command) |
1611 + return NS_ERROR_FAILURE; |
1621 + return NS_ERROR_FAILURE; |
1612 + |
1622 + |
1720 + |
1730 + |
1721 diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h |
1731 diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h |
1722 new file mode 100644 |
1732 new file mode 100644 |
1723 --- /dev/null |
1733 --- /dev/null |
1724 +++ b/browser/components/shell/nsKDEShellService.h |
1734 +++ b/browser/components/shell/nsKDEShellService.h |
1725 @@ -0,0 +1,30 @@ |
1735 @@ -0,0 +1,32 @@ |
1726 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
1736 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
1727 +/* This Source Code Form is subject to the terms of the Mozilla Public |
1737 +/* This Source Code Form is subject to the terms of the Mozilla Public |
1728 + * License, v. 2.0. If a copy of the MPL was not distributed with this |
1738 + * License, v. 2.0. If a copy of the MPL was not distributed with this |
1729 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
1739 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
1730 + |
1740 + |
1731 +#ifndef nskdeshellservice_h____ |
1741 +#ifndef nskdeshellservice_h____ |
1732 +#define nskdeshellservice_h____ |
1742 +#define nskdeshellservice_h____ |
1733 + |
1743 + |
1734 +#include "nsIGNOMEShellService.h" |
1744 +#include "nsIGNOMEShellService.h" |
|
1745 +#include "nsToolkitShellService.h" |
1735 +#include "nsString.h" |
1746 +#include "nsString.h" |
1736 +#include "mozilla/Attributes.h" |
1747 +#include "mozilla/Attributes.h" |
1737 + |
1748 + |
1738 +class nsKDEShellService final : public nsIGNOMEShellService |
1749 +class nsKDEShellService final : public nsIGNOMEShellService, |
|
1750 + public nsToolkitShellService |
1739 +{ |
1751 +{ |
1740 +public: |
1752 +public: |
1741 + nsKDEShellService() : mCheckedThisSession(false) { } |
1753 + nsKDEShellService() : mCheckedThisSession(false) { } |
1742 + |
1754 + |
1743 + NS_DECL_ISUPPORTS |
1755 + NS_DECL_ISUPPORTS |
1801 + |
1813 + |
1802 +#endif // nsunixshellservice_h____ |
1814 +#endif // nsunixshellservice_h____ |
1803 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in |
1815 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in |
1804 --- a/browser/installer/package-manifest.in |
1816 --- a/browser/installer/package-manifest.in |
1805 +++ b/browser/installer/package-manifest.in |
1817 +++ b/browser/installer/package-manifest.in |
1806 @@ -451,16 +451,18 @@ |
1818 @@ -452,16 +452,18 @@ |
1807 @RESPATH@/browser/defaults/settings/pinning |
1819 @RESPATH@/browser/defaults/settings/pinning |
1808 @RESPATH@/browser/defaults/settings/main |
1820 @RESPATH@/browser/defaults/settings/main |
1809 |
1821 |
1810 ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325) |
1822 ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325) |
1811 ; Technically this is an app pref file, but we are keeping it in the original |
1823 ; Technically this is an app pref file, but we are keeping it in the original |