Bug 1403665 - remove " and ? from filenames draft
authorIan Bicking <ianb@colorstudy.com>
Wed, 27 Sep 2017 13:15:52 -0500
changeset 671257 a380017d70d97d3e934c1e400b08d75bc3c33ea3
parent 671250 6100472d3aa833dff22a4edb0934fe600f43ddb8
child 733478 13c3f9d21b17f41873790420de47aea50c1b4cd0
push id81895
push userbmo:ianb@mozilla.com
push dateWed, 27 Sep 2017 18:16:04 +0000
bugs1403665
milestone58.0a1
Bug 1403665 - remove " and ? from filenames This is an export of this commit: https://github.com/mozilla-services/screenshots/pull/3524/commits/42a561d6ad6e160628344d271f9244df5179e8e0 And fixes this Screenshots bug: https://github.com/mozilla-services/screenshots/issues/3517 MozReview-Commit-ID: GPkfNCFGflZ
browser/extensions/screenshots/webextension/build/shot.js
--- a/browser/extensions/screenshots/webextension/build/shot.js
+++ b/browser/extensions/screenshots/webextension/build/shot.js
@@ -360,17 +360,17 @@ class AbstractShot {
       assertOrigin(val);
     }
     this._origin = val || undefined;
   }
 
   get filename() {
     let filenameTitle = this.title;
     let date = new Date(this.createdDate);
-    filenameTitle = filenameTitle.replace(/[:\\<>/!@&*.|\n\r\t]/g, " ");
+    filenameTitle = filenameTitle.replace(/[:\\<>/!@&?"*.|\n\r\t]/g, " ");
     filenameTitle = filenameTitle.replace(/\s{1,4000}/g, " ");
     let clipFilename = `Screenshot-${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${filenameTitle}`;
     const clipFilenameBytesSize = clipFilename.length * 2; // JS STrings are UTF-16
     if (clipFilenameBytesSize > 251) { // 255 bytes (Usual filesystems max) - 4 for the ".png" file extension string
       const excedingchars = (clipFilenameBytesSize - 246) / 2; // 251 - 5 for ellipsis "[...]"
       clipFilename = clipFilename.substring(0, clipFilename.length - excedingchars);
       clipFilename = clipFilename + '[...]';
     }