Merge inbound to central, a=merge CLOSED TREE

MozReview-Commit-ID: 9HQViJrDT6S
This commit is contained in:
Wes Kocher
2017-04-26 17:30:31 -07:00
144 changed files with 1271 additions and 643 deletions

View File

@@ -47,6 +47,7 @@ function filepickerLoad() {
if (o.displayDirectory) {
var directory = o.displayDirectory.path;
}
var specialDirectory = o.displaySpecialDirectory;
const initialText = o.defaultString;
var filterTitles = o.filters.titles;
@@ -133,21 +134,23 @@ function filepickerLoad() {
// This allows the window to show onscreen before we begin
// loading the file list
setTimeout(setInitialDirectory, 0, directory);
setTimeout(setInitialDirectory, 0, { directory, specialDirectory });
}
function setInitialDirectory(directory) {
function setInitialDirectory(directories) {
// Start in the user's home directory
var dirService = Components.classes[NS_DIRECTORYSERVICE_CONTRACTID]
.getService(nsIProperties);
homeDir = dirService.get("Home", Components.interfaces.nsIFile);
homeDir = dirService.get(directories.specialDirectory
? directories.specialDirectory : "Home",
Components.interfaces.nsIFile);
if (directory) {
sfile.initWithPath(directory);
if (directories.directory) {
sfile.initWithPath(directories.directory);
if (!sfile.exists() || !sfile.isDirectory())
directory = false;
directories.directory = false;
}
if (!directory) {
if (!directories.directory) {
sfile.initWithPath(homeDir.path);
}

View File

@@ -55,6 +55,7 @@ function nsFilePicker() {
this.mFilterTitles = new Array();
this.mFilters = new Array();
this.mDisplayDirectory = null;
this.mDisplaySpecialDirectory = null;
if (lastDirectory) {
try {
var dir = Components.classes[LOCAL_FILE_CONTRACTID].createInstance(nsILocalFile);
@@ -87,6 +88,14 @@ nsFilePicker.prototype = {
.QueryInterface(nsILocalFile);
},
/* attribute AString displaySpecialDirectory; */
set displaySpecialDirectory(a) {
this.mDisplaySpecialDirectory = a;
},
get displaySpecialDirectory() {
return this.mDisplaySpecialDirectory;
},
/* readonly attribute nsILocalFile file; */
get file() { return this.mFilesEnumerator.mFiles[0]; },
@@ -256,6 +265,7 @@ nsFilePicker.prototype = {
o.title = this.mTitle;
o.mode = this.mMode;
o.displayDirectory = this.mDisplayDirectory;
o.displaySpecialDirectory = this.mDisplaySpecialDirectory;
o.defaultString = this.mDefaultString;
o.filterIndex = this.mFilterIndex;
o.filters = {};

View File

@@ -758,7 +758,7 @@ nsAppStartup::GetStartupInfo(JSContext* aCx, JS::MutableHandle<JS::Value> aRetva
if (procTime.IsNull()) {
bool error = false;
procTime = TimeStamp::ProcessCreation(error);
procTime = TimeStamp::ProcessCreation(&error);
if (error) {
Telemetry::Accumulate(Telemetry::STARTUP_MEASUREMENT_ERRORS,

View File

@@ -83,7 +83,7 @@ MsSinceProcessStart(double* aResult)
{
bool error;
*aResult = (TimeStamp::NowLoRes() -
TimeStamp::ProcessCreation(error)).ToMilliseconds();
TimeStamp::ProcessCreation(&error)).ToMilliseconds();
if (error) {
return NS_ERROR_NOT_AVAILABLE;
}

View File

@@ -588,8 +588,7 @@ TelemetryEvent::RecordChildEvents(GeckoProcessType aProcessType,
// Timestamps from child processes are absolute. We fix them up here to be
// relative to the main process start time.
// This allows us to put events from all processes on the same timeline.
bool inconsistent = false;
double relativeTimestamp = (e.timestamp - TimeStamp::ProcessCreation(inconsistent)).ToMilliseconds();
double relativeTimestamp = (e.timestamp - TimeStamp::ProcessCreation()).ToMilliseconds();
::RecordEvent(locker, aProcessType, relativeTimestamp, e.category, e.method, e.object, e.value, e.extra);
}