diff options
Diffstat (limited to 'toolkit/components')
18 files changed, 97 insertions, 104 deletions
diff --git a/toolkit/components/alerts/nsAlertsService.cpp b/toolkit/components/alerts/nsAlertsService.cpp index 35418dd17..dd67ad983 100644 --- a/toolkit/components/alerts/nsAlertsService.cpp +++ b/toolkit/components/alerts/nsAlertsService.cpp @@ -22,6 +22,10 @@ #include "nsIFaviconService.h" #endif // MOZ_PLACES +#ifdef XP_WIN +#include <shellapi.h> +#endif + using namespace mozilla; using mozilla::dom::ContentChild; @@ -154,23 +158,12 @@ bool nsAlertsService::ShouldShowAlert() bool result = true; #ifdef XP_WIN - HMODULE shellDLL = ::LoadLibraryW(L"shell32.dll"); - if (!shellDLL) - return result; - - SHQueryUserNotificationStatePtr pSHQueryUserNotificationState = - (SHQueryUserNotificationStatePtr) ::GetProcAddress(shellDLL, "SHQueryUserNotificationState"); - - if (pSHQueryUserNotificationState) { - MOZ_QUERY_USER_NOTIFICATION_STATE qstate; - if (SUCCEEDED(pSHQueryUserNotificationState(&qstate))) { - if (qstate != QUNS_ACCEPTS_NOTIFICATIONS) { - result = false; - } + QUERY_USER_NOTIFICATION_STATE qstate; + if (SUCCEEDED(SHQueryUserNotificationState(&qstate))) { + if (qstate != QUNS_ACCEPTS_NOTIFICATIONS) { + result = false; } } - - ::FreeLibrary(shellDLL); #endif return result; diff --git a/toolkit/components/alerts/nsAlertsService.h b/toolkit/components/alerts/nsAlertsService.h index 3f23eaabf..d2b2e1e6c 100644 --- a/toolkit/components/alerts/nsAlertsService.h +++ b/toolkit/components/alerts/nsAlertsService.h @@ -10,23 +10,6 @@ #include "nsCOMPtr.h" #include "nsXULAlerts.h" -#ifdef XP_WIN -typedef enum tagMOZ_QUERY_USER_NOTIFICATION_STATE { - QUNS_NOT_PRESENT = 1, - QUNS_BUSY = 2, - QUNS_RUNNING_D3D_FULL_SCREEN = 3, - QUNS_PRESENTATION_MODE = 4, - QUNS_ACCEPTS_NOTIFICATIONS = 5, - QUNS_QUIET_TIME = 6, - QUNS_IMMERSIVE = 7 -} MOZ_QUERY_USER_NOTIFICATION_STATE; - -extern "C" { -// This function is Windows Vista or later -typedef HRESULT (__stdcall *SHQueryUserNotificationStatePtr)(MOZ_QUERY_USER_NOTIFICATION_STATE *pquns); -} -#endif // defined(XP_WIN) - class nsAlertsService : public nsIAlertsService, public nsIAlertsDoNotDisturb { diff --git a/toolkit/components/alerts/resources/content/alert.js b/toolkit/components/alerts/resources/content/alert.js index 523ec378e..ead4d503f 100644 --- a/toolkit/components/alerts/resources/content/alert.js +++ b/toolkit/components/alerts/resources/content/alert.js @@ -7,7 +7,21 @@ var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; Cu.import("resource://gre/modules/AppConstants.jsm"); Cu.import("resource://gre/modules/Services.jsm"); -// Copied from nsILookAndFeel.h, see comments on eMetric_AlertNotificationOrigin +/* + * This indicates from which corner of the screen alerts slide in, + * and from which direction (horizontal/vertical). + * 0, the default, represents bottom right, sliding vertically. + * Use any bitwise combination of the following constants: + * NS_ALERT_HORIZONTAL (1), NS_ALERT_LEFT (2), NS_ALERT_TOP (4). + * + * 6 4 + * +-----------+ + * 7| |5 + * | | + * 3| |1 + * +-----------+ + * 2 0 + */ const NS_ALERT_HORIZONTAL = 1; const NS_ALERT_LEFT = 2; const NS_ALERT_TOP = 4; @@ -41,6 +55,8 @@ function prefillAlertInfo() { // arguments[11] -> the nsIURI.hostPort of the origin, optional // arguments[12] -> the alert icon URL, optional + document.getElementById('alertTime').setAttribute('value', (new Date).getTime()); + switch (window.arguments.length) { default: case 13: { @@ -235,7 +251,15 @@ function moveWindowToEnd() { let windows = Services.wm.getEnumerator("alert:alert"); while (windows.hasMoreElements()) { let alertWindow = windows.getNext(); - if (alertWindow != window) { + let alertWindowTime = Number( + alertWindow.document.getElementById('alertTime').getAttribute('value')); + let windowTime = Number( + window.document.getElementById('alertTime').getAttribute('value')); + // The time of window creation. + // Otherwise calling the notification twice (and more) in a row + // does not work. + // See https://bugzilla.mozilla.org/show_bug.cgi?id=1263155 + if ((alertWindow != window) && (alertWindowTime <= windowTime)) { if (gOrigin & NS_ALERT_TOP) { y = Math.max(y, alertWindow.screenY + alertWindow.outerHeight - WINDOW_SHADOW_SPREAD); } else { diff --git a/toolkit/components/alerts/resources/content/alert.xul b/toolkit/components/alerts/resources/content/alert.xul index 8597d9954..1549f4530 100644 --- a/toolkit/components/alerts/resources/content/alert.xul +++ b/toolkit/components/alerts/resources/content/alert.xul @@ -24,6 +24,7 @@ <script type="application/javascript" src="chrome://global/content/alerts/alert.js"/> <vbox id="alertBox" class="alertBox"> + <label id="alertTime" value="" hidden="true"/> <box id="alertTitleBox"> <image id="alertIcon"/> <label id="alertTitleLabel" class="alertTitle plain" crop="end"/> diff --git a/toolkit/components/console/jsconsole-clhandler.js b/toolkit/components/console/jsconsole-clhandler.js index 7e5d0ea51..1fff88890 100644 --- a/toolkit/components/console/jsconsole-clhandler.js +++ b/toolkit/components/console/jsconsole-clhandler.js @@ -31,7 +31,7 @@ jsConsoleHandler.prototype = { cmdLine.preventDefault = true; }, - helpInfo : " -jsconsole Open the Error console.\n", + helpInfo : " --jsconsole Open the Error console.\n", classID: Components.ID("{2cd0c310-e127-44d0-88fc-4435c9ab4d4b}"), QueryInterface: XPCOMUtils.generateQI([Ci.nsICommandLineHandler]), diff --git a/toolkit/components/cookie/moz.build b/toolkit/components/cookie/moz.build index e3ed99703..aac3a838c 100644 --- a/toolkit/components/cookie/moz.build +++ b/toolkit/components/cookie/moz.build @@ -4,7 +4,4 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -if CONFIG['MOZ_BUILD_APP'] == 'mobile/android': - DEFINES['MOZ_FENNEC'] = True - JAR_MANIFESTS += ['jar.mn'] diff --git a/toolkit/components/ctypes/tests/jsctypes-test-finalizer.cpp b/toolkit/components/ctypes/tests/jsctypes-test-finalizer.cpp index 79e21cc89..009ba917a 100644 --- a/toolkit/components/ctypes/tests/jsctypes-test-finalizer.cpp +++ b/toolkit/components/ctypes/tests/jsctypes-test-finalizer.cpp @@ -232,8 +232,8 @@ test_finalizer_acq_string_t(int i) { gFinalizerTestResources[i] = 1; if (!gFinalizerTestNames[i]) { - char* buf = new char[10]; - snprintf(buf, 10, "%d", i); + char* buf = new char[12]; + snprintf(buf, 12, "%d", i); gFinalizerTestNames[i] = buf; return buf; } diff --git a/toolkit/components/maintenanceservice/bootstrapinstaller/maintenanceservice_installer.nsi b/toolkit/components/maintenanceservice/bootstrapinstaller/maintenanceservice_installer.nsi index 9e831dc9c..d4d21e377 100644 --- a/toolkit/components/maintenanceservice/bootstrapinstaller/maintenanceservice_installer.nsi +++ b/toolkit/components/maintenanceservice/bootstrapinstaller/maintenanceservice_installer.nsi @@ -117,10 +117,7 @@ Function .onInit System::Call 'kernel32::SetDllDirectoryW(w "")' SetSilent silent - ; On Windows 2000 we do not install the maintenance service. - ; We won't run this installer from the parent installer, but just in case - ; someone tries to execute it on Windows 2000... - ${Unless} ${AtLeastWinXP} + ${Unless} ${AtLeastWin7} Abort ${EndUnless} FunctionEnd diff --git a/toolkit/components/maintenanceservice/maintenanceservice.exe.manifest b/toolkit/components/maintenanceservice/maintenanceservice.exe.manifest index cb317c47d..e6bfba8ca 100644 --- a/toolkit/components/maintenanceservice/maintenanceservice.exe.manifest +++ b/toolkit/components/maintenanceservice/maintenanceservice.exe.manifest @@ -20,7 +20,6 @@ <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> - <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> </application> </compatibility> </assembly> diff --git a/toolkit/components/moz.build b/toolkit/components/moz.build index ce8722910..12e1748e9 100644 --- a/toolkit/components/moz.build +++ b/toolkit/components/moz.build @@ -73,7 +73,7 @@ if CONFIG['MOZ_WEBEXTENSIONS']: if CONFIG['ENABLE_INTL_API']: DIRS += ['mozintl'] -if CONFIG['MOZ_BUILD_APP'] != 'mobile/android': +if not CONFIG['MOZ_FENNEC']: DIRS += ['narrate', 'viewsource']; if CONFIG['NS_PRINTING']: diff --git a/toolkit/components/places/BookmarkHTMLUtils.jsm b/toolkit/components/places/BookmarkHTMLUtils.jsm index f8fc0ba51..c10ef85d6 100644 --- a/toolkit/components/places/BookmarkHTMLUtils.jsm +++ b/toolkit/components/places/BookmarkHTMLUtils.jsm @@ -1047,7 +1047,12 @@ BookmarkExporter.prototype = { }, _writeLine: function (aText) { - this._write(aText + "\n"); + if (Services.sysinfo.getProperty("name") == "Windows_NT") { + // Write CRLF line endings on Windows + this._write(aText + "\r\n"); + } else { + this._write(aText + "\n"); + } }, _writeHeader: function () { diff --git a/toolkit/components/places/PlacesUtils.jsm b/toolkit/components/places/PlacesUtils.jsm index 4b7bcb82a..fc303ca8a 100644 --- a/toolkit/components/places/PlacesUtils.jsm +++ b/toolkit/components/places/PlacesUtils.jsm @@ -53,6 +53,8 @@ XPCOMUtils.defineLazyModuleGetter(this, "AsyncShutdown", "resource://gre/modules/AsyncShutdown.jsm"); XPCOMUtils.defineLazyModuleGetter(this, "PlacesSyncUtils", "resource://gre/modules/PlacesSyncUtils.jsm"); +XPCOMUtils.defineLazyModuleGetter(this, "PlacesUIUtils", + "resource:///modules/PlacesUIUtils.jsm"); // The minimum amount of transactions before starting a batch. Usually we do // do incremental updates, a batch will cause views to completely @@ -3248,8 +3250,11 @@ PlacesRemoveItemTransaction.prototype = { let contents = PlacesUtils.getFolderContents(this.item.id, false, false).root; for (let i = 0; i < contents.childCount; ++i) { - let txn = new PlacesRemoveItemTransaction(contents.getChild(i).itemId); - transactions.push(txn); + let childId = contents.getChild(i).itemId; + if (!PlacesUIUtils._isLivemark(childId)) { + let txn = new PlacesRemoveItemTransaction(childId); + transactions.push(txn); + } } contents.containerOpen = false; // Reverse transactions to preserve parent-child relationship. diff --git a/toolkit/components/search/moz.build b/toolkit/components/search/moz.build index 2dc142882..0a2695152 100644 --- a/toolkit/components/search/moz.build +++ b/toolkit/components/search/moz.build @@ -7,11 +7,14 @@ XPCSHELL_TESTS_MANIFESTS += ['tests/xpcshell/xpcshell.ini'] EXTRA_COMPONENTS += [ - 'nsSearchService.js', 'nsSearchSuggestions.js', ] -if CONFIG['MOZ_BUILD_APP'] in ['mobile/android', 'xulrunner'] or CONFIG['MOZ_PHOENIX']:
+EXTRA_PP_COMPONENTS += [ + 'nsSearchService.js', +] + +if CONFIG['MOZ_PHOENIX'] or CONFIG['MOZ_FENNEC'] or CONFIG['MOZ_XULRUNNER']:
DEFINES['HAVE_SIDEBAR'] = True
EXTRA_COMPONENTS += [ 'nsSidebar.js', diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/search/nsSearchService.js index bbe66ba7e..fb3f69f4c 100644 --- a/toolkit/components/search/nsSearchService.js +++ b/toolkit/components/search/nsSearchService.js @@ -107,7 +107,7 @@ const NEW_LINES = /(\r\n|\r|\n)/; // Set an arbitrary cap on the maximum icon size. Without this, large icons can // cause big delays when loading them at startup. -const MAX_ICON_SIZE = 10000; +const MAX_ICON_SIZE = 32768; // Default charset to use for sending search parameters. ISO-8859-1 is used to // match previous nsInternetSearchService behavior. @@ -4676,9 +4676,9 @@ SearchService.prototype = { Services.obs.addObserver(this, SEARCH_ENGINE_TOPIC, false); Services.obs.addObserver(this, QUIT_APPLICATION_TOPIC, false); - if (AppConstants.MOZ_BUILD_APP == "mobile/android") { - Services.prefs.addObserver(LOCALE_PREF, this, false); - } +#ifdef MOZ_FENNEC + Services.prefs.addObserver(LOCALE_PREF, this, false); +#endif // The current stage of shutdown. Used to help analyze crash // signatures in case of shutdown timeout. @@ -4721,9 +4721,9 @@ SearchService.prototype = { Services.obs.removeObserver(this, SEARCH_ENGINE_TOPIC); Services.obs.removeObserver(this, QUIT_APPLICATION_TOPIC); - if (AppConstants.MOZ_BUILD_APP == "mobile/android") { - Services.prefs.removeObserver(LOCALE_PREF, this); - } +#ifdef MOZ_FENNEC + Services.prefs.removeObserver(LOCALE_PREF, this); +#endif }, QueryInterface: XPCOMUtils.generateQI([ diff --git a/toolkit/components/telemetry/Histograms.json b/toolkit/components/telemetry/Histograms.json index aa66fbe14..ade308cfa 100644 --- a/toolkit/components/telemetry/Histograms.json +++ b/toolkit/components/telemetry/Histograms.json @@ -1502,12 +1502,24 @@ "n_buckets": 50, "description": "HTTP page: DNS lookup time (ms)" }, - "HTTP_PAGE_TCP_CONNECTION": { + "HTTP_PAGE_TLS_HANDSHAKE": { + "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"], + "bug_numbers": [772589], "expires_in_version": "never", "kind": "exponential", "high": 30000, "n_buckets": 50, - "description": "HTTP page: TCP connection setup (ms)" + "description": "HTTP page channel: After TCP SYN to Ready for HTTP (ms)" + + }, + "HTTP_PAGE_TCP_CONNECTION_2": { + "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"], + "bug_numbers": [772589], + "expires_in_version": "never", + "kind": "exponential", + "high": 30000, + "n_buckets": 50, + "description": "HTTP page channel: TCP SYN to Ready for HTTP (ms)" }, "HTTP_PAGE_OPEN_TO_FIRST_SENT": { "expires_in_version": "never", @@ -1621,12 +1633,23 @@ "n_buckets": 50, "description": "HTTP subitem: DNS lookup time (ms)" }, - "HTTP_SUB_TCP_CONNECTION": { + "HTTP_SUB_TLS_HANDSHAKE": { + "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"], + "bug_numbers": [772589], "expires_in_version": "never", "kind": "exponential", "high": 30000, "n_buckets": 50, - "description": "HTTP subitem: TCP connection setup (ms)" + "description": "HTTP subitem channel: After TCP SYN to Ready for HTTP (ms)" + }, + "HTTP_SUB_TCP_CONNECTION_2": { + "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"], + "bug_numbers": [772589], + "expires_in_version": "never", + "kind": "exponential", + "high": 30000, + "n_buckets": 50, + "description": "HTTP subitem channel: TCP SYN to Ready for HTTP (ms)" }, "HTTP_SUB_OPEN_TO_FIRST_SENT": { "expires_in_version": "never", @@ -6903,39 +6926,6 @@ "n_buckets": 1000, "description": "The time (in milliseconds) that it took to display a selected source to the user." }, - "MEDIA_RUST_MP4PARSE_SUCCESS": { - "alert_emails": ["giles@mozilla.com", "kinetik@flim.org"], - "expires_in_version": "55", - "kind": "boolean", - "bug_numbers": [1220885], - "description": "(Bug 1220885) Whether the rust mp4 demuxer successfully parsed a stream segment.", - "cpp_guard": "MOZ_RUST_MP4PARSE" - }, - "MEDIA_RUST_MP4PARSE_ERROR_CODE": { - "alert_emails": ["giles@mozilla.com", "kinetik@flim.org"], - "expires_in_version": "55", - "kind": "enumerated", - "n_values": 32, - "bug_numbers": [1238420], - "description": "The error code reported when an MP4 parse attempt has failed.0 = OK, 1 = bad argument, 2 = invalid data, 3 = unsupported, 4 = unexpected end of file, 5 = read error.", - "cpp_guard": "MOZ_RUST_MP4PARSE" - }, - "MEDIA_RUST_MP4PARSE_TRACK_MATCH_AUDIO": { - "alert_emails": ["giles@mozilla.com", "kinetik@flim.org"], - "expires_in_version": "55", - "kind": "boolean", - "bug_numbers": [1231169], - "description": "Whether rust and stagefight mp4 parser audio track results match.", - "cpp_guard": "MOZ_RUST_MP4PARSE" - }, - "MEDIA_RUST_MP4PARSE_TRACK_MATCH_VIDEO": { - "alert_emails": ["giles@mozilla.com", "kinetik@flim.org"], - "expires_in_version": "55", - "kind": "boolean", - "bug_numbers": [1231169], - "description": "Whether rust and stagefight mp4 parser video track results match.", - "cpp_guard": "MOZ_RUST_MP4PARSE" - }, "MEDIA_WMF_DECODE_ERROR": { "expires_in_version": "55", "kind": "enumerated", diff --git a/toolkit/components/telemetry/histogram-whitelists.json b/toolkit/components/telemetry/histogram-whitelists.json index 52db33192..486178199 100644 --- a/toolkit/components/telemetry/histogram-whitelists.json +++ b/toolkit/components/telemetry/histogram-whitelists.json @@ -333,7 +333,6 @@ "HTTP_PAGE_OPEN_TO_FIRST_RECEIVED", "HTTP_PAGE_OPEN_TO_FIRST_SENT", "HTTP_PAGE_REVALIDATION", - "HTTP_PAGE_TCP_CONNECTION", "HTTP_PROXY_TYPE", "HTTP_REQUEST_PER_CONN", "HTTP_REQUEST_PER_PAGE", @@ -359,7 +358,6 @@ "HTTP_SUB_OPEN_TO_FIRST_RECEIVED", "HTTP_SUB_OPEN_TO_FIRST_SENT", "HTTP_SUB_REVALIDATION", - "HTTP_SUB_TCP_CONNECTION", "HTTP_TRANSACTION_IS_SSL", "HTTP_TRANSACTION_USE_ALTSVC", "HTTP_TRANSACTION_USE_ALTSVC_OE", @@ -1167,7 +1165,6 @@ "HTTP_PAGE_OPEN_TO_FIRST_RECEIVED", "HTTP_PAGE_OPEN_TO_FIRST_SENT", "HTTP_PAGE_REVALIDATION", - "HTTP_PAGE_TCP_CONNECTION", "HTTP_PROXY_TYPE", "HTTP_REQUEST_PER_CONN", "HTTP_REQUEST_PER_PAGE", @@ -1193,7 +1190,6 @@ "HTTP_SUB_OPEN_TO_FIRST_RECEIVED", "HTTP_SUB_OPEN_TO_FIRST_SENT", "HTTP_SUB_REVALIDATION", - "HTTP_SUB_TCP_CONNECTION", "HTTP_TRANSACTION_IS_SSL", "HTTP_TRANSACTION_USE_ALTSVC", "HTTP_TRANSACTION_USE_ALTSVC_OE", diff --git a/toolkit/components/webextensions/ext-c-backgroundPage.js b/toolkit/components/webextensions/ext-c-backgroundPage.js index b5074dd9a..ca446ce79 100644 --- a/toolkit/components/webextensions/ext-c-backgroundPage.js +++ b/toolkit/components/webextensions/ext-c-backgroundPage.js @@ -9,8 +9,8 @@ global.initializeBackgroundPage = (contentWindow) => { if (!alertDisplayedWarning) { require("devtools/client/framework/devtools-browser"); - let hudservice = require("devtools/client/webconsole/hudservice"); - hudservice.openBrowserConsoleOrFocus(); + let {HUDService} = require("devtools/client/webconsole/hudservice"); + HUDService.openBrowserConsoleOrFocus(); contentWindow.console.warn("alert() is not supported in background windows; please use console.log instead."); diff --git a/toolkit/components/webextensions/test/mochitest/test_chrome_ext_background_page.html b/toolkit/components/webextensions/test/mochitest/test_chrome_ext_background_page.html index 3c4774652..471c5339d 100644 --- a/toolkit/components/webextensions/test/mochitest/test_chrome_ext_background_page.html +++ b/toolkit/components/webextensions/test/mochitest/test_chrome_ext_background_page.html @@ -66,14 +66,14 @@ add_task(function* testAlertNotShownInBackgroundWindow() { let {require} = Cu.import("resource://devtools/shared/Loader.jsm", {}); require("devtools/client/framework/devtools-browser"); - let hudservice = require("devtools/client/webconsole/hudservice"); + let {HUDService} = require("devtools/client/webconsole/hudservice"); // And then double check that we have an actual browser console. - let haveConsole = !!hudservice.getBrowserConsole(); + let haveConsole = !!HUDService.getBrowserConsole(); ok(haveConsole, "Expected browser console to be open"); if (haveConsole) { - yield hudservice.toggleBrowserConsole(); + yield HUDService.toggleBrowserConsole(); } yield extension.unload(); |