author | Phil Ringnalda <philringnalda@gmail.com> |
Tue, 18 Mar 2014 20:40:12 -0700 | |
changeset 174231 | 2709c36738d11d007eab94da3d0745ce665d7c3a |
parent 174230 | a23eb9fd15832d85c9f1899e854176e27afcda7a |
child 174232 | cce47e0594310065d59060d0b1c81fe78bf7baa6 |
push id | 41226 |
push user | philringnalda@gmail.com |
push date | Wed, 19 Mar 2014 03:40:25 +0000 |
treeherder | mozilla-inbound@2709c36738d1 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
bugs | 960749 |
milestone | 31.0a1 |
backs out | c91b18cafc64c27e7f23860a0f2d8c3fb57fe12a |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
dom/downloads/src/DownloadsIPC.jsm | file | annotate | diff | comparison | revisions | |
dom/downloads/tests/mochitest.ini | file | annotate | diff | comparison | revisions | |
dom/downloads/tests/test_downloads_bad_file.html | file | annotate | diff | comparison | revisions | |
xpcom/glue/nsCRTGlue.h | file | annotate | diff | comparison | revisions |
--- a/dom/downloads/src/DownloadsIPC.jsm +++ b/dom/downloads/src/DownloadsIPC.jsm @@ -76,17 +76,17 @@ this.DownloadsIPC = { // We actually have an array of downloads. aDownloads.forEach((aDownload) => { this.downloads[aDownload.id] = aDownload; }); }, receiveMessage: function(aMessage) { let download = aMessage.data; - debug("message: " + aMessage.name); + debug("message: " + aMessage.name + " " + download.id); switch(aMessage.name) { case "Downloads:GetList:Return": this._updateDownloadsArray(download); if (!this.ready) { this.getListPromises.forEach(aPromise => aPromise.resolve(this.downloads)); this.getListPromises.length = 0;
--- a/dom/downloads/tests/mochitest.ini +++ b/dom/downloads/tests/mochitest.ini @@ -1,12 +1,11 @@ [DEFAULT] skip-if = buildapp == 'b2g' # bug 979446, frequent failures support-files = serve_file.sjs [test_downloads_navigator_object.html] [test_downloads_basic.html] [test_downloads_large.html] -[test_downloads_bad_file.html] [test_downloads_pause_remove.html] [test_downloads_pause_resume.html] skip-if = toolkit=='gonk' # b2g(bug 947167) b2g-debug(bug 947167)
deleted file mode 100644 --- a/dom/downloads/tests/test_downloads_bad_file.html +++ /dev/null @@ -1,93 +0,0 @@ -<!DOCTYPE html> -<html> -<!-- -https://bugzilla.mozilla.org/show_bug.cgi?id=960749 ---> -<head> - <title>Test for Bug 960749 Downloads API</title> - <script type="text/javascript" src="/MochiKit/MochiKit.js"></script> - <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> - <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> -</head> -<body> - -<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=960749">Mozilla Bug 960749</a> -<p id="display"></p> -<div id="content" style="display: none"> -</div> -<a href="serve_file.sjs?contentType=application/octet-stream&size=1024" download=".<.EVIL.>\ / : * ? " |file.bin" id="download1">Download #1</a> -<pre id="test"> -<script class="testbody" type="text/javascript;version=1.7"> - -// Testing a simple download, waiting for it to be done. - -SimpleTest.waitForExplicitFinish(); - -var index = -1; -var expected = "_.EVIL.__ _ _ _ _ _ _file.bin"; - -function next() { - index += 1; - if (index >= steps.length) { - ok(false, "Shouldn't get here!"); - return; - } - try { - steps[index](); - } catch(ex) { - ok(false, "Caught exception", ex); - } -} - -function checkTargetFilename(download) { - ok(download.path.endsWith(expected), - "Download path leaf name '" + download.path + - "' should match '" + expected + "' filename."); - - SimpleTest.finish(); -} - -function downloadChange(evt) { - var download = evt.download; - - if (download.state === "succeeded") { - checkTargetFilename(download); - } -} - -function downloadStart(evt) { - var download = evt.download; - download.onstatechange = downloadChange; -} - -var steps = [ - // Start by setting the pref to true. - function() { - SpecialPowers.pushPrefEnv({ - set: [["dom.mozDownloads.enabled", true]] - }, next); - }, - - // Setup the event listeners. - function() { - SpecialPowers.pushPermissions([ - {type: "downloads", allow: true, context: document} - ], function() { - navigator.mozDownloadManager.ondownloadstart = downloadStart; - next(); - }); - }, - - // Click on the <a download> to start the download. - function() { - document.getElementById("download1").click(); - } -]; - -next(); - -</script> -</pre> -</body> -</html> -
--- a/xpcom/glue/nsCRTGlue.h +++ b/xpcom/glue/nsCRTGlue.h @@ -105,28 +105,27 @@ NS_COM_GLUE void NS_MakeRandomString(cha #define FF '\f' #define TAB '\t' #define CRSTR "\015" #define LFSTR "\012" #define CRLF "\015\012" /* A CR LF equivalent string */ -// We use the most restrictive filesystem as our default set of illegal filename -// characters. This is currently Windows. -#define OS_FILE_ILLEGAL_CHARACTERS "\\/:*?\"<>|" - #if defined(XP_MACOSX) #define FILE_PATH_SEPARATOR "/" + #define OS_FILE_ILLEGAL_CHARACTERS ":" #elif defined(XP_WIN) #define FILE_PATH_SEPARATOR "\\" + #define OS_FILE_ILLEGAL_CHARACTERS "/:*?\"<>|" #elif defined(XP_UNIX) #define FILE_PATH_SEPARATOR "/" + #define OS_FILE_ILLEGAL_CHARACTERS "" #else - #error need_to_define_your_file_path_separator_and_maybe_illegal_characters + #error need_to_define_your_file_path_separator_and_illegal_characters #endif // Not all these control characters are illegal in all OSs, but we don't really // want them appearing in filenames #define CONTROL_CHARACTERS "\001\002\003\004\005\006\007" \ "\010\011\012\013\014\015\016\017" \ "\020\021\022\023\024\025\026\027" \ "\030\031\032\033\034\035\036\037"