From abf40d7b5ed0fb3800e9649399e7859124a363d8 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Tue, 15 Oct 2013 17:32:00 +0200 Subject: [PATCH 01/43] bug 926325 - Refactored test to avoid js errors in test run; r=mikeratcliffe --- browser/devtools/inspector/inspector-panel.js | 28 ++++++++ ...nspector_bug_922125_destroy_on_navigate.js | 71 ++++++++++++------- 2 files changed, 73 insertions(+), 26 deletions(-) diff --git a/browser/devtools/inspector/inspector-panel.js b/browser/devtools/inspector/inspector-panel.js index 0858d29397b..f157c051d8f 100644 --- a/browser/devtools/inspector/inspector-panel.js +++ b/browser/devtools/inspector/inspector-panel.js @@ -26,6 +26,33 @@ const LAYOUT_CHANGE_TIMER = 250; * The inspector controls the highlighter, the breadcrumbs, * the markup view, and the sidebar (computed view, rule view * and layout view). + * + * Events: + * - ready + * Fired when the inspector panel is opened for the first time and ready to + * use + * - new-root + * Fired after a new root (navigation to a new page) event was fired by + * the walker, and taken into account by the inspector (after the markup + * view has been reloaded) + * - markuploaded + * Fired when the markup-view frame has loaded + * - layout-change + * Fired when the layout of the inspector changes + * - breadcrumbs-updated + * Fired when the breadcrumb widget updates to a new node + * - layoutview-updated + * Fired when the layoutview (box model) updates to a new node + * - markupmutation + * Fired after markup mutations have been processed by the markup-view + * - computed-view-refreshed + * Fired when the computed rules view updates to a new node + * - computed-view-property-expanded + * Fired when a property is expanded in the computed rules view + * - computed-view-property-collapsed + * Fired when a property is collapsed in the computed rules view + * - rule-view-refreshed + * Fired when the rule view updates to a new node */ function InspectorPanel(iframeWindow, toolbox) { this._toolbox = toolbox; @@ -320,6 +347,7 @@ InspectorPanel.prototype = { this.once("markuploaded", () => { this.markup.expandNode(this.selection.nodeFront); this.setupSearchBox(); + this.emit("new-root"); }); }); }, diff --git a/browser/devtools/inspector/test/browser_inspector_bug_922125_destroy_on_navigate.js b/browser/devtools/inspector/test/browser_inspector_bug_922125_destroy_on_navigate.js index 5648f5f7870..072ad22d7f2 100644 --- a/browser/devtools/inspector/test/browser_inspector_bug_922125_destroy_on_navigate.js +++ b/browser/devtools/inspector/test/browser_inspector_bug_922125_destroy_on_navigate.js @@ -10,19 +10,29 @@ function test() { const URL_1 = "data:text/html;charset=UTF-8,
ONE
"; const URL_2 = "data:text/html;charset=UTF-8,
TWO
"; - let inspector; + let toolbox, inspector; // open tab, load URL_1, and wait for load to finish let tab = gBrowser.selectedTab = gBrowser.addTab(); let target = TargetFactory.forTab(gBrowser.selectedTab); + let deferred = promise.defer(); let browser = gBrowser.getBrowserForTab(tab); - function onPageOneLoad() { - browser.removeEventListener("load", onPageOneLoad, true); + function onTabLoad() { + browser.removeEventListener("load", onTabLoad, true); + deferred.resolve(null); + } + browser.addEventListener("load", onTabLoad, true); + browser.loadURI(URL_1); - gDevTools.showToolbox(target).then(aToolbox => { - return aToolbox.selectTool("inspector"); - }).then(i => { + // open devtools panel + deferred.promise.then(() => { + return gDevTools.showToolbox(target, null, Toolbox.HostType.BOTTOM); + }).then(aToolbox => { + toolbox = aToolbox; + }).then(() => { + // select the inspector + return toolbox.selectTool("inspector").then(i => { inspector = i; // Verify we are on page one @@ -30,32 +40,41 @@ function test() { ok(testNode, "We have the test node on page 1"); assertMarkupViewIsLoaded(); + }); + }).then(() => { + // navigate to URL_2 + let deferred = promise.defer(); - // Listen to will-navigate to check if the view is empty - target.on("will-navigate", () => { - info("Navigation to page 2 has started, the inspector should be empty"); - assertMarkupViewIsEmpty(); + // Listen to will-navigate to check if the view is empty + target.on("will-navigate", () => { + info("Navigation to page 2 has started, the inspector should be empty"); + assertMarkupViewIsEmpty(); + }); + inspector.once("new-root", () => { + info("Navigation to page 2 was done, the inspector should be back up"); + + // Verify we are on page one + let testNode = content.document.querySelector("#two"); + ok(testNode, "We have the test node on page 2"); + + // On page 2 load, verify we have the right content + assertMarkupViewIsLoaded(); + + inspector.selection.setNode(content.document.querySelector("#two")); + inspector.once("inspector-updated", () => { + deferred.resolve(); }); - inspector.once("markuploaded", () => { - info("Navigation to page 2 was done, the inspector should be back up"); + }); - // Verify we are on page one - let testNode = content.document.querySelector("#two"); - ok(testNode, "We have the test node on page 2"); - - // On page 2 load, verify we have the right content - assertMarkupViewIsLoaded(); - endTests(); - }); - - // Navigate to page 2 + inspector.selection.setNode(content.document.querySelector("#one")); + inspector.once("inspector-updated", () => { browser.loadURI(URL_2); }); - } - // Navigate to page 1 - browser.addEventListener("load", onPageOneLoad, true); - browser.loadURI(URL_1); + return deferred.promise; + }).then(() => { + endTests(); + }); function assertMarkupViewIsLoaded() { let markupViewBox = inspector.panelDoc.getElementById("markup-box"); From 074d2e908c97a607fc80e1ba4d178c97e60d223c Mon Sep 17 00:00:00 2001 From: Wes Johnston Date: Mon, 21 Oct 2013 08:34:27 -0700 Subject: [PATCH 02/43] Bug 780379 - Add buttons to download prompts. r=mfinkle --- mobile/android/components/HelperAppDialog.js | 84 ++++++++++++++++--- .../locales/en-US/chrome/browser.properties | 2 + 2 files changed, 74 insertions(+), 12 deletions(-) diff --git a/mobile/android/components/HelperAppDialog.js b/mobile/android/components/HelperAppDialog.js index 6a8dca932b9..da7ce50b04b 100644 --- a/mobile/android/components/HelperAppDialog.js +++ b/mobile/android/components/HelperAppDialog.js @@ -34,6 +34,7 @@ HelperAppLauncherDialog.prototype = { // Add a fake intent for save to disk at the top of the list apps.unshift({ name: bundle.GetStringFromName("helperapps.saveToDisk"), + packageName: "org.mozilla.gecko.Download", iconUri: "drawable://icon", launch: function() { // Reset the preferredAction here @@ -43,23 +44,82 @@ HelperAppLauncherDialog.prototype = { } }); - let app = apps[0]; - if (apps.length > 1) { - app = HelperApps.prompt(apps, { - title: bundle.GetStringFromName("helperapps.pick") + // See if the user already marked something as the default for this mimetype, + // and if that app is still installed. + let preferredApp = this._getPreferredApp(aLauncher); + if (preferredApp) { + let pref = apps.filter(function(app) { + return app.packageName === preferredApp; }); - } - if (app) { - aLauncher.MIMEInfo.preferredAction = Ci.nsIMIMEInfo.useHelperApp; - if (!app.launch(aLauncher.source)) { - aLauncher.cancel(); + if (pref.length > 0) { + pref[0].launch(aLauncher.source); + return; } - } else { - // Something weird happened. Log an error - Services.console.logStringMessage("Unexpected selection from grid: " + app); } + let callback = function(app) { + aLauncher.MIMEInfo.preferredAction = Ci.nsIMIMEInfo.useHelperApp; + app.launch(aLauncher.source); + if (!app.launch(aLauncher.source)) { + aLauncher.cancel(Cr.NS_BINDING_ABORTED); + } + } + + if (apps.length > 1) { + HelperApps.prompt(apps, { + title: bundle.GetStringFromName("helperapps.pick"), + buttons: [ + bundle.GetStringFromName("helperapps.alwaysUse"), + bundle.GetStringFromName("helperapps.useJustOnce") + ] + }, (data) => { + if (data.button < 0) + return; + + callback(apps[data.icongrid0]); + + if (data.button == 0) + this._setPreferredApp(aLauncher, apps[data.icongrid0]); + }); + } else { + callback(apps[0]); + } + }, + + _getPrefName: function getPrefName(mimetype) { + return "browser.download.preferred." + mimetype.replace("\\", "."); + }, + + _getMimeTypeFromLauncher: function getMimeTypeFromLauncher(launcher) { + let mime = launcher.MIMEInfo.MIMEType; + if (!mime) + mime = ContentAreaUtils.getMIMETypeForURI(launcher.source) || ""; + return mime; + }, + + _getPreferredApp: function getPreferredApp(launcher) { + let mime = this._getMimeTypeFromLauncher(launcher); + if (!mime) + return; + + try { + return Services.prefs.getCharPref(this._getPrefName(mime)); + } catch(ex) { + Services.console.logStringMessage("Error getting pref for " + mime + " " + ex); + } + return null; + }, + + _setPreferredApp: function setPreferredApp(launcher, app) { + let mime = this._getMimeTypeFromLauncher(launcher); + if (!mime) + return; + + if (app) + Services.prefs.setCharPref(this._getPrefName(mime), app.packageName); + else + Services.prefs.clearUserPref(this._getPrefName(mime)); }, promptForSaveToFile: function hald_promptForSaveToFile(aLauncher, aContext, aDefaultFile, aSuggestedFileExt, aForcePrompt) { diff --git a/mobile/android/locales/en-US/chrome/browser.properties b/mobile/android/locales/en-US/chrome/browser.properties index 1a70ef611f0..ad8c175a734 100644 --- a/mobile/android/locales/en-US/chrome/browser.properties +++ b/mobile/android/locales/en-US/chrome/browser.properties @@ -265,6 +265,8 @@ helperapps.always=Always helperapps.never=Never helperapps.pick=Complete action using helperapps.saveToDisk=Download +helperapps.alwaysUse=Always +helperapps.useJustOnce=Just once #Lightweight themes # LOCALIZATION NOTE (lwthemeInstallRequest.message): %S will be replaced with From 98102b182ead4449079bfaab550baff769cfdfbf Mon Sep 17 00:00:00 2001 From: Paolo Amadini Date: Mon, 21 Oct 2013 17:37:55 +0200 Subject: [PATCH 03/43] Bug 928947 - Typo in onProgressChange in the DownloadLegacy component. r=enn --- toolkit/components/jsdownloads/src/DownloadLegacy.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/toolkit/components/jsdownloads/src/DownloadLegacy.js b/toolkit/components/jsdownloads/src/DownloadLegacy.js index c355777860f..f47237d5cdf 100644 --- a/toolkit/components/jsdownloads/src/DownloadLegacy.js +++ b/toolkit/components/jsdownloads/src/DownloadLegacy.js @@ -131,9 +131,9 @@ DownloadLegacyTransfer.prototype = { aCurTotalProgress, aMaxTotalProgress) { - return onProgressChange64(aWebProgress, aRequest, aCurSelfProgress, - aMaxSelfProgress, aCurTotalProgress, - aMaxTotalProgress); + this.onProgressChange64(aWebProgress, aRequest, aCurSelfProgress, + aMaxSelfProgress, aCurTotalProgress, + aMaxTotalProgress); }, onLocationChange: function () { }, From a24fa4cf6977ae0d6a1845de58d788156ae01d89 Mon Sep 17 00:00:00 2001 From: Matt Brubeck Date: Thu, 17 Oct 2013 10:51:12 -0700 Subject: [PATCH 04/43] Bug 925796 - Fix bookmark creation for Metro l10n repacks [r=gps] --- browser/metro/locales/import/Makefile.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/browser/metro/locales/import/Makefile.in b/browser/metro/locales/import/Makefile.in index 019697090cd..a0b68766f57 100644 --- a/browser/metro/locales/import/Makefile.in +++ b/browser/metro/locales/import/Makefile.in @@ -30,9 +30,11 @@ libs:: # Bookmarks # Pick up desktop's bookmarks.inc file +ifdef LOCALE_MERGEDIR +vpath book%.inc $(LOCALE_MERGEDIR)/browser/profile +endif vpath book%.inc $(LOCALE_SRCDIR)/profile ifdef LOCALE_MERGEDIR -vpath book%.inc $(LOCALE_SRCDIR)/profile vpath book%.inc @top_srcdir@/$(relativesrcdir)/en-US/profile endif From 9b3b0eeb5af66bcc7d383d2d1164c0644fd96ec2 Mon Sep 17 00:00:00 2001 From: Nick Alexander Date: Mon, 21 Oct 2013 09:43:04 -0700 Subject: [PATCH 05/43] Bug 904299 - Delete and stop writing services manifest files. r=me DONTBUILD NPOTB --HG-- extra : rebase_source : 1f0934683a7d80e36f514543fa48c3d9de025109 --- .../android-drawable-hdpi-resources.mn | 0 .../android-drawable-ldpi-resources.mn | 0 .../android-drawable-mdpi-resources.mn | 2 - .../services/android-drawable-resources.mn | 1 - .../services/android-layout-resources.mn | 11 - .../services/android-values-resources.mn | 1 - mobile/android/services/java-sources.mn | 289 ----------- .../services/java-third-party-sources.mn | 464 ------------------ mobile/android/services/preprocess-sources.mn | 4 - 9 files changed, 772 deletions(-) delete mode 100644 mobile/android/services/android-drawable-hdpi-resources.mn delete mode 100644 mobile/android/services/android-drawable-ldpi-resources.mn delete mode 100644 mobile/android/services/android-drawable-mdpi-resources.mn delete mode 100644 mobile/android/services/android-drawable-resources.mn delete mode 100644 mobile/android/services/android-layout-resources.mn delete mode 100644 mobile/android/services/android-values-resources.mn delete mode 100644 mobile/android/services/java-sources.mn delete mode 100644 mobile/android/services/java-third-party-sources.mn delete mode 100644 mobile/android/services/preprocess-sources.mn diff --git a/mobile/android/services/android-drawable-hdpi-resources.mn b/mobile/android/services/android-drawable-hdpi-resources.mn deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/mobile/android/services/android-drawable-ldpi-resources.mn b/mobile/android/services/android-drawable-ldpi-resources.mn deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/mobile/android/services/android-drawable-mdpi-resources.mn b/mobile/android/services/android-drawable-mdpi-resources.mn deleted file mode 100644 index 897ac2c4a4f..00000000000 --- a/mobile/android/services/android-drawable-mdpi-resources.mn +++ /dev/null @@ -1,2 +0,0 @@ -mobile/android/base/resources/drawable-mdpi/sync_desktop.png -mobile/android/base/resources/drawable-mdpi/sync_mobile.png diff --git a/mobile/android/services/android-drawable-resources.mn b/mobile/android/services/android-drawable-resources.mn deleted file mode 100644 index 3c6056d1d57..00000000000 --- a/mobile/android/services/android-drawable-resources.mn +++ /dev/null @@ -1 +0,0 @@ -mobile/android/base/resources/drawable/sync_pin_background.xml diff --git a/mobile/android/services/android-layout-resources.mn b/mobile/android/services/android-layout-resources.mn deleted file mode 100644 index c751c4e9736..00000000000 --- a/mobile/android/services/android-layout-resources.mn +++ /dev/null @@ -1,11 +0,0 @@ -res/layout/sync_account.xml -res/layout/sync_list_item.xml -res/layout/sync_redirect_to_setup.xml -res/layout/sync_send_tab.xml -res/layout/sync_setup.xml -res/layout/sync_setup_failure.xml -res/layout/sync_setup_jpake_waiting.xml -res/layout/sync_setup_nointernet.xml -res/layout/sync_setup_pair.xml -res/layout/sync_setup_success.xml -res/layout/sync_setup_webview.xml diff --git a/mobile/android/services/android-values-resources.mn b/mobile/android/services/android-values-resources.mn deleted file mode 100644 index 12db95c5aa5..00000000000 --- a/mobile/android/services/android-values-resources.mn +++ /dev/null @@ -1 +0,0 @@ -res/values-large-v11/sync_styles.xml diff --git a/mobile/android/services/java-sources.mn b/mobile/android/services/java-sources.mn deleted file mode 100644 index c3796242089..00000000000 --- a/mobile/android/services/java-sources.mn +++ /dev/null @@ -1,289 +0,0 @@ -background/announcements/Announcement.java -background/announcements/AnnouncementPresenter.java -background/announcements/AnnouncementsBroadcastReceiver.java -background/announcements/AnnouncementsBroadcastService.java -background/announcements/AnnouncementsFetchDelegate.java -background/announcements/AnnouncementsFetcher.java -background/announcements/AnnouncementsFetchResourceDelegate.java -background/announcements/AnnouncementsService.java -background/BackgroundService.java -background/bagheera/BagheeraClient.java -background/bagheera/BagheeraRequestDelegate.java -background/bagheera/BoundedByteArrayEntity.java -background/bagheera/DeflateHelper.java -background/common/DateUtils.java -background/common/log/Logger.java -background/common/log/writers/AndroidLevelCachingLogWriter.java -background/common/log/writers/AndroidLogWriter.java -background/common/log/writers/LevelFilteringLogWriter.java -background/common/log/writers/LogWriter.java -background/common/log/writers/PrintLogWriter.java -background/common/log/writers/SimpleTagLogWriter.java -background/common/log/writers/StringLogWriter.java -background/common/log/writers/TagLogWriter.java -background/common/log/writers/ThreadLocalTagLogWriter.java -background/datareporting/TelemetryRecorder.java -background/db/CursorDumper.java -background/db/Tab.java -background/healthreport/Environment.java -background/healthreport/EnvironmentBuilder.java -background/healthreport/EnvironmentV1.java -background/healthreport/HealthReportBroadcastReceiver.java -background/healthreport/HealthReportBroadcastService.java -background/healthreport/HealthReportDatabases.java -background/healthreport/HealthReportDatabaseStorage.java -background/healthreport/HealthReportGenerator.java -background/healthreport/HealthReportProvider.java -background/healthreport/HealthReportStorage.java -background/healthreport/HealthReportUtils.java -background/healthreport/ProfileInformationCache.java -background/healthreport/prune/HealthReportPruneService.java -background/healthreport/prune/PrunePolicy.java -background/healthreport/prune/PrunePolicyDatabaseStorage.java -background/healthreport/prune/PrunePolicyStorage.java -background/healthreport/upload/AndroidSubmissionClient.java -background/healthreport/upload/HealthReportUploadService.java -background/healthreport/upload/ObsoleteDocumentTracker.java -background/healthreport/upload/SubmissionClient.java -background/healthreport/upload/SubmissionPolicy.java -sync/AlreadySyncingException.java -sync/CollectionKeys.java -sync/CommandProcessor.java -sync/CommandRunner.java -sync/config/AccountPickler.java -sync/config/activities/SelectEnginesActivity.java -sync/config/ClientRecordTerminator.java -sync/config/ConfigurationMigrator.java -sync/CredentialException.java -sync/CredentialsSource.java -sync/crypto/CryptoException.java -sync/crypto/CryptoInfo.java -sync/crypto/HKDF.java -sync/crypto/HMACVerificationException.java -sync/crypto/KeyBundle.java -sync/crypto/MissingCryptoInputException.java -sync/crypto/NoKeyBundleException.java -sync/crypto/PersistedCrypto5Keys.java -sync/CryptoRecord.java -sync/DelayedWorkTracker.java -sync/delegates/ClientsDataDelegate.java -sync/delegates/FreshStartDelegate.java -sync/delegates/GlobalSessionCallback.java -sync/delegates/JSONRecordFetchDelegate.java -sync/delegates/KeyUploadDelegate.java -sync/delegates/MetaGlobalDelegate.java -sync/delegates/WipeServerDelegate.java -sync/EngineSettings.java -sync/ExtendedJSONObject.java -sync/GlobalSession.java -sync/HTTPFailureException.java -sync/InfoCollections.java -sync/InfoCounts.java -sync/jpake/BigIntegerHelper.java -sync/jpake/Gx3OrGx4IsZeroOrOneException.java -sync/jpake/IncorrectZkpException.java -sync/jpake/JPakeClient.java -sync/jpake/JPakeCrypto.java -sync/jpake/JPakeJson.java -sync/jpake/JPakeNoActivePairingException.java -sync/jpake/JPakeNumGenerator.java -sync/jpake/JPakeNumGeneratorRandom.java -sync/jpake/JPakeParty.java -sync/jpake/stage/CompleteStage.java -sync/jpake/stage/ComputeFinalStage.java -sync/jpake/stage/ComputeKeyVerificationStage.java -sync/jpake/stage/ComputeStepOneStage.java -sync/jpake/stage/ComputeStepTwoStage.java -sync/jpake/stage/DecryptDataStage.java -sync/jpake/stage/DeleteChannel.java -sync/jpake/stage/GetChannelStage.java -sync/jpake/stage/GetRequestStage.java -sync/jpake/stage/JPakeStage.java -sync/jpake/stage/PutRequestStage.java -sync/jpake/stage/VerifyPairingStage.java -sync/jpake/Zkp.java -sync/JSONRecordFetcher.java -sync/KeyBundleProvider.java -sync/MetaGlobal.java -sync/MetaGlobalException.java -sync/MetaGlobalMissingEnginesException.java -sync/MetaGlobalNotSetException.java -sync/middleware/Crypto5MiddlewareRepository.java -sync/middleware/Crypto5MiddlewareRepositorySession.java -sync/middleware/MiddlewareRepository.java -sync/middleware/MiddlewareRepositorySession.java -sync/net/AuthHeaderProvider.java -sync/net/BaseResource.java -sync/net/BaseResourceDelegate.java -sync/net/BasicAuthHeaderProvider.java -sync/net/BrowserIDAuthHeaderProvider.java -sync/net/ConnectionMonitorThread.java -sync/net/HandleProgressException.java -sync/net/HawkAuthHeaderProvider.java -sync/net/HMACAuthHeaderProvider.java -sync/net/HttpResponseObserver.java -sync/net/Resource.java -sync/net/ResourceDelegate.java -sync/net/SyncResponse.java -sync/net/SyncStorageCollectionRequest.java -sync/net/SyncStorageCollectionRequestDelegate.java -sync/net/SyncStorageRecordRequest.java -sync/net/SyncStorageRequest.java -sync/net/SyncStorageRequestDelegate.java -sync/net/SyncStorageRequestIncrementalDelegate.java -sync/net/SyncStorageResponse.java -sync/net/TLSSocketFactory.java -sync/net/WBOCollectionRequestDelegate.java -sync/net/WBORequestDelegate.java -sync/NoCollectionKeysSetException.java -sync/NodeAuthenticationException.java -sync/NonArrayJSONException.java -sync/NonObjectJSONException.java -sync/NullClusterURLException.java -sync/PersistedMetaGlobal.java -sync/PrefsSource.java -sync/receivers/SyncAccountDeletedReceiver.java -sync/receivers/SyncAccountDeletedService.java -sync/receivers/UpgradeReceiver.java -sync/repositories/android/AndroidBrowserBookmarksDataAccessor.java -sync/repositories/android/AndroidBrowserBookmarksRepository.java -sync/repositories/android/AndroidBrowserBookmarksRepositorySession.java -sync/repositories/android/AndroidBrowserHistoryDataAccessor.java -sync/repositories/android/AndroidBrowserHistoryDataExtender.java -sync/repositories/android/AndroidBrowserHistoryRepository.java -sync/repositories/android/AndroidBrowserHistoryRepositorySession.java -sync/repositories/android/AndroidBrowserRepository.java -sync/repositories/android/AndroidBrowserRepositoryDataAccessor.java -sync/repositories/android/AndroidBrowserRepositorySession.java -sync/repositories/android/BookmarksDeletionManager.java -sync/repositories/android/BookmarksInsertionManager.java -sync/repositories/android/BrowserContractHelpers.java -sync/repositories/android/CachedSQLiteOpenHelper.java -sync/repositories/android/ClientsDatabase.java -sync/repositories/android/ClientsDatabaseAccessor.java -sync/repositories/android/FennecTabsRepository.java -sync/repositories/android/FormHistoryRepositorySession.java -sync/repositories/android/PasswordsRepositorySession.java -sync/repositories/android/RepoUtils.java -sync/repositories/BookmarkNeedsReparentingException.java -sync/repositories/BookmarksRepository.java -sync/repositories/ConstrainedServer11Repository.java -sync/repositories/delegates/DeferrableRepositorySessionCreationDelegate.java -sync/repositories/delegates/DeferredRepositorySessionBeginDelegate.java -sync/repositories/delegates/DeferredRepositorySessionFetchRecordsDelegate.java -sync/repositories/delegates/DeferredRepositorySessionFinishDelegate.java -sync/repositories/delegates/DeferredRepositorySessionStoreDelegate.java -sync/repositories/delegates/RepositorySessionBeginDelegate.java -sync/repositories/delegates/RepositorySessionCleanDelegate.java -sync/repositories/delegates/RepositorySessionCreationDelegate.java -sync/repositories/delegates/RepositorySessionFetchRecordsDelegate.java -sync/repositories/delegates/RepositorySessionFinishDelegate.java -sync/repositories/delegates/RepositorySessionGuidsSinceDelegate.java -sync/repositories/delegates/RepositorySessionStoreDelegate.java -sync/repositories/delegates/RepositorySessionWipeDelegate.java -sync/repositories/domain/BookmarkRecord.java -sync/repositories/domain/BookmarkRecordFactory.java -sync/repositories/domain/ClientRecord.java -sync/repositories/domain/ClientRecordFactory.java -sync/repositories/domain/FormHistoryRecord.java -sync/repositories/domain/HistoryRecord.java -sync/repositories/domain/HistoryRecordFactory.java -sync/repositories/domain/PasswordRecord.java -sync/repositories/domain/Record.java -sync/repositories/domain/RecordParseException.java -sync/repositories/domain/TabsRecord.java -sync/repositories/domain/VersionConstants.java -sync/repositories/FetchFailedException.java -sync/repositories/HashSetStoreTracker.java -sync/repositories/HistoryRepository.java -sync/repositories/IdentityRecordFactory.java -sync/repositories/InactiveSessionException.java -sync/repositories/InvalidBookmarkTypeException.java -sync/repositories/InvalidRequestException.java -sync/repositories/InvalidSessionTransitionException.java -sync/repositories/MultipleRecordsForGuidException.java -sync/repositories/NoContentProviderException.java -sync/repositories/NoGuidForIdException.java -sync/repositories/NoStoreDelegateException.java -sync/repositories/NullCursorException.java -sync/repositories/ParentNotFoundException.java -sync/repositories/ProfileDatabaseException.java -sync/repositories/RecordFactory.java -sync/repositories/RecordFilter.java -sync/repositories/Repository.java -sync/repositories/RepositorySession.java -sync/repositories/RepositorySessionBundle.java -sync/repositories/Server11Repository.java -sync/repositories/Server11RepositorySession.java -sync/repositories/StoreFailedException.java -sync/repositories/StoreTracker.java -sync/repositories/StoreTrackingRepositorySession.java -sync/Server11PreviousPostFailedException.java -sync/Server11RecordPostFailedException.java -sync/setup/activities/AccountActivity.java -sync/setup/activities/ActivityUtils.java -sync/setup/activities/ClientRecordArrayAdapter.java -sync/setup/activities/RedirectToSetupActivity.java -sync/setup/activities/SendTabActivity.java -sync/setup/activities/SendTabData.java -sync/setup/activities/SetupFailureActivity.java -sync/setup/activities/SetupSuccessActivity.java -sync/setup/activities/SetupSyncActivity.java -sync/setup/activities/SyncActivity.java -sync/setup/activities/WebURLFinder.java -sync/setup/activities/WebViewActivity.java -sync/setup/auth/AccountAuthenticator.java -sync/setup/auth/AuthenticateAccountStage.java -sync/setup/auth/AuthenticationResult.java -sync/setup/auth/AuthenticatorStage.java -sync/setup/auth/EnsureUserExistenceStage.java -sync/setup/auth/FetchUserNodeStage.java -sync/setup/Constants.java -sync/setup/InvalidSyncKeyException.java -sync/setup/SyncAccounts.java -sync/setup/SyncAuthenticatorService.java -sync/stage/AbstractNonRepositorySyncStage.java -sync/stage/AbstractSessionManagingSyncStage.java -sync/stage/AndroidBrowserBookmarksServerSyncStage.java -sync/stage/AndroidBrowserHistoryServerSyncStage.java -sync/stage/CheckPreconditionsStage.java -sync/stage/CompletedStage.java -sync/stage/EnsureClusterURLStage.java -sync/stage/EnsureCrypto5KeysStage.java -sync/stage/FennecTabsServerSyncStage.java -sync/stage/FetchInfoCollectionsStage.java -sync/stage/FetchMetaGlobalStage.java -sync/stage/FormHistoryServerSyncStage.java -sync/stage/GlobalSyncStage.java -sync/stage/NoSuchStageException.java -sync/stage/NoSyncIDException.java -sync/stage/PasswordsServerSyncStage.java -sync/stage/SafeConstrainedServer11Repository.java -sync/stage/ServerSyncStage.java -sync/stage/SyncClientsEngineStage.java -sync/stage/UploadMetaGlobalStage.java -sync/syncadapter/SyncAdapter.java -sync/syncadapter/SyncService.java -sync/SyncConfiguration.java -sync/SyncConfigurationException.java -sync/SyncException.java -sync/synchronizer/ConcurrentRecordConsumer.java -sync/synchronizer/RecordConsumer.java -sync/synchronizer/RecordsChannel.java -sync/synchronizer/RecordsChannelDelegate.java -sync/synchronizer/RecordsConsumerDelegate.java -sync/synchronizer/SerialRecordConsumer.java -sync/synchronizer/ServerLocalSynchronizer.java -sync/synchronizer/ServerLocalSynchronizerSession.java -sync/synchronizer/SessionNotBegunException.java -sync/synchronizer/Synchronizer.java -sync/synchronizer/SynchronizerDelegate.java -sync/synchronizer/SynchronizerSession.java -sync/synchronizer/SynchronizerSessionDelegate.java -sync/synchronizer/UnbundleError.java -sync/synchronizer/UnexpectedSessionException.java -sync/SynchronizerConfiguration.java -sync/ThreadPool.java -sync/UnexpectedJSONException.java -sync/UnknownSynchronizerConfigurationVersionException.java -sync/Utils.java diff --git a/mobile/android/services/java-third-party-sources.mn b/mobile/android/services/java-third-party-sources.mn deleted file mode 100644 index 8f707114115..00000000000 --- a/mobile/android/services/java-third-party-sources.mn +++ /dev/null @@ -1,464 +0,0 @@ -ch/boye/httpclientandroidlib/androidextra/HttpClientAndroidLog.java -ch/boye/httpclientandroidlib/annotation/GuardedBy.java -ch/boye/httpclientandroidlib/annotation/Immutable.java -ch/boye/httpclientandroidlib/annotation/NotThreadSafe.java -ch/boye/httpclientandroidlib/annotation/ThreadSafe.java -ch/boye/httpclientandroidlib/auth/AUTH.java -ch/boye/httpclientandroidlib/auth/AuthenticationException.java -ch/boye/httpclientandroidlib/auth/AuthScheme.java -ch/boye/httpclientandroidlib/auth/AuthSchemeFactory.java -ch/boye/httpclientandroidlib/auth/AuthSchemeRegistry.java -ch/boye/httpclientandroidlib/auth/AuthScope.java -ch/boye/httpclientandroidlib/auth/AuthState.java -ch/boye/httpclientandroidlib/auth/BasicUserPrincipal.java -ch/boye/httpclientandroidlib/auth/ContextAwareAuthScheme.java -ch/boye/httpclientandroidlib/auth/Credentials.java -ch/boye/httpclientandroidlib/auth/InvalidCredentialsException.java -ch/boye/httpclientandroidlib/auth/MalformedChallengeException.java -ch/boye/httpclientandroidlib/auth/NTCredentials.java -ch/boye/httpclientandroidlib/auth/NTUserPrincipal.java -ch/boye/httpclientandroidlib/auth/params/AuthParamBean.java -ch/boye/httpclientandroidlib/auth/params/AuthParams.java -ch/boye/httpclientandroidlib/auth/params/AuthPNames.java -ch/boye/httpclientandroidlib/auth/UsernamePasswordCredentials.java -ch/boye/httpclientandroidlib/client/AuthCache.java -ch/boye/httpclientandroidlib/client/AuthenticationHandler.java -ch/boye/httpclientandroidlib/client/CircularRedirectException.java -ch/boye/httpclientandroidlib/client/ClientProtocolException.java -ch/boye/httpclientandroidlib/client/CookieStore.java -ch/boye/httpclientandroidlib/client/CredentialsProvider.java -ch/boye/httpclientandroidlib/client/entity/DecompressingEntity.java -ch/boye/httpclientandroidlib/client/entity/DeflateDecompressingEntity.java -ch/boye/httpclientandroidlib/client/entity/GzipDecompressingEntity.java -ch/boye/httpclientandroidlib/client/entity/UrlEncodedFormEntity.java -ch/boye/httpclientandroidlib/client/HttpClient.java -ch/boye/httpclientandroidlib/client/HttpRequestRetryHandler.java -ch/boye/httpclientandroidlib/client/HttpResponseException.java -ch/boye/httpclientandroidlib/client/methods/AbortableHttpRequest.java -ch/boye/httpclientandroidlib/client/methods/HttpDelete.java -ch/boye/httpclientandroidlib/client/methods/HttpEntityEnclosingRequestBase.java -ch/boye/httpclientandroidlib/client/methods/HttpGet.java -ch/boye/httpclientandroidlib/client/methods/HttpHead.java -ch/boye/httpclientandroidlib/client/methods/HttpOptions.java -ch/boye/httpclientandroidlib/client/methods/HttpPost.java -ch/boye/httpclientandroidlib/client/methods/HttpPut.java -ch/boye/httpclientandroidlib/client/methods/HttpRequestBase.java -ch/boye/httpclientandroidlib/client/methods/HttpTrace.java -ch/boye/httpclientandroidlib/client/methods/HttpUriRequest.java -ch/boye/httpclientandroidlib/client/NonRepeatableRequestException.java -ch/boye/httpclientandroidlib/client/params/AllClientPNames.java -ch/boye/httpclientandroidlib/client/params/AuthPolicy.java -ch/boye/httpclientandroidlib/client/params/ClientParamBean.java -ch/boye/httpclientandroidlib/client/params/ClientPNames.java -ch/boye/httpclientandroidlib/client/params/CookiePolicy.java -ch/boye/httpclientandroidlib/client/params/HttpClientParams.java -ch/boye/httpclientandroidlib/client/protocol/ClientContext.java -ch/boye/httpclientandroidlib/client/protocol/ClientContextConfigurer.java -ch/boye/httpclientandroidlib/client/protocol/RequestAcceptEncoding.java -ch/boye/httpclientandroidlib/client/protocol/RequestAddCookies.java -ch/boye/httpclientandroidlib/client/protocol/RequestAuthCache.java -ch/boye/httpclientandroidlib/client/protocol/RequestClientConnControl.java -ch/boye/httpclientandroidlib/client/protocol/RequestDefaultHeaders.java -ch/boye/httpclientandroidlib/client/protocol/RequestProxyAuthentication.java -ch/boye/httpclientandroidlib/client/protocol/RequestTargetAuthentication.java -ch/boye/httpclientandroidlib/client/protocol/ResponseAuthCache.java -ch/boye/httpclientandroidlib/client/protocol/ResponseContentEncoding.java -ch/boye/httpclientandroidlib/client/protocol/ResponseProcessCookies.java -ch/boye/httpclientandroidlib/client/RedirectException.java -ch/boye/httpclientandroidlib/client/RedirectHandler.java -ch/boye/httpclientandroidlib/client/RedirectStrategy.java -ch/boye/httpclientandroidlib/client/RequestDirector.java -ch/boye/httpclientandroidlib/client/ResponseHandler.java -ch/boye/httpclientandroidlib/client/UserTokenHandler.java -ch/boye/httpclientandroidlib/client/utils/CloneUtils.java -ch/boye/httpclientandroidlib/client/utils/Idn.java -ch/boye/httpclientandroidlib/client/utils/JdkIdn.java -ch/boye/httpclientandroidlib/client/utils/Punycode.java -ch/boye/httpclientandroidlib/client/utils/Rfc3492Idn.java -ch/boye/httpclientandroidlib/client/utils/URIUtils.java -ch/boye/httpclientandroidlib/client/utils/URLEncodedUtils.java -ch/boye/httpclientandroidlib/conn/BasicEofSensorWatcher.java -ch/boye/httpclientandroidlib/conn/BasicManagedEntity.java -ch/boye/httpclientandroidlib/conn/ClientConnectionManager.java -ch/boye/httpclientandroidlib/conn/ClientConnectionManagerFactory.java -ch/boye/httpclientandroidlib/conn/ClientConnectionOperator.java -ch/boye/httpclientandroidlib/conn/ClientConnectionRequest.java -ch/boye/httpclientandroidlib/conn/ConnectionKeepAliveStrategy.java -ch/boye/httpclientandroidlib/conn/ConnectionPoolTimeoutException.java -ch/boye/httpclientandroidlib/conn/ConnectionReleaseTrigger.java -ch/boye/httpclientandroidlib/conn/ConnectTimeoutException.java -ch/boye/httpclientandroidlib/conn/EofSensorInputStream.java -ch/boye/httpclientandroidlib/conn/EofSensorWatcher.java -ch/boye/httpclientandroidlib/conn/HttpHostConnectException.java -ch/boye/httpclientandroidlib/conn/HttpRoutedConnection.java -ch/boye/httpclientandroidlib/conn/ManagedClientConnection.java -ch/boye/httpclientandroidlib/conn/MultihomePlainSocketFactory.java -ch/boye/httpclientandroidlib/conn/OperatedClientConnection.java -ch/boye/httpclientandroidlib/conn/params/ConnConnectionParamBean.java -ch/boye/httpclientandroidlib/conn/params/ConnConnectionPNames.java -ch/boye/httpclientandroidlib/conn/params/ConnManagerParamBean.java -ch/boye/httpclientandroidlib/conn/params/ConnManagerParams.java -ch/boye/httpclientandroidlib/conn/params/ConnManagerPNames.java -ch/boye/httpclientandroidlib/conn/params/ConnPerRoute.java -ch/boye/httpclientandroidlib/conn/params/ConnPerRouteBean.java -ch/boye/httpclientandroidlib/conn/params/ConnRouteParamBean.java -ch/boye/httpclientandroidlib/conn/params/ConnRouteParams.java -ch/boye/httpclientandroidlib/conn/params/ConnRoutePNames.java -ch/boye/httpclientandroidlib/conn/routing/BasicRouteDirector.java -ch/boye/httpclientandroidlib/conn/routing/HttpRoute.java -ch/boye/httpclientandroidlib/conn/routing/HttpRouteDirector.java -ch/boye/httpclientandroidlib/conn/routing/HttpRoutePlanner.java -ch/boye/httpclientandroidlib/conn/routing/RouteInfo.java -ch/boye/httpclientandroidlib/conn/routing/RouteTracker.java -ch/boye/httpclientandroidlib/conn/scheme/HostNameResolver.java -ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactory.java -ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactoryAdaptor.java -ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactory.java -ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactoryAdaptor.java -ch/boye/httpclientandroidlib/conn/scheme/PlainSocketFactory.java -ch/boye/httpclientandroidlib/conn/scheme/Scheme.java -ch/boye/httpclientandroidlib/conn/scheme/SchemeRegistry.java -ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactory.java -ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactoryAdaptor.java -ch/boye/httpclientandroidlib/conn/scheme/SocketFactory.java -ch/boye/httpclientandroidlib/conn/scheme/SocketFactoryAdaptor.java -ch/boye/httpclientandroidlib/conn/ssl/AbstractVerifier.java -ch/boye/httpclientandroidlib/conn/ssl/AllowAllHostnameVerifier.java -ch/boye/httpclientandroidlib/conn/ssl/BrowserCompatHostnameVerifier.java -ch/boye/httpclientandroidlib/conn/ssl/SSLSocketFactory.java -ch/boye/httpclientandroidlib/conn/ssl/StrictHostnameVerifier.java -ch/boye/httpclientandroidlib/conn/ssl/TrustManagerDecorator.java -ch/boye/httpclientandroidlib/conn/ssl/TrustSelfSignedStrategy.java -ch/boye/httpclientandroidlib/conn/ssl/TrustStrategy.java -ch/boye/httpclientandroidlib/conn/ssl/X509HostnameVerifier.java -ch/boye/httpclientandroidlib/conn/util/InetAddressUtils.java -ch/boye/httpclientandroidlib/ConnectionClosedException.java -ch/boye/httpclientandroidlib/ConnectionReuseStrategy.java -ch/boye/httpclientandroidlib/cookie/ClientCookie.java -ch/boye/httpclientandroidlib/cookie/Cookie.java -ch/boye/httpclientandroidlib/cookie/CookieAttributeHandler.java -ch/boye/httpclientandroidlib/cookie/CookieIdentityComparator.java -ch/boye/httpclientandroidlib/cookie/CookieOrigin.java -ch/boye/httpclientandroidlib/cookie/CookiePathComparator.java -ch/boye/httpclientandroidlib/cookie/CookieRestrictionViolationException.java -ch/boye/httpclientandroidlib/cookie/CookieSpec.java -ch/boye/httpclientandroidlib/cookie/CookieSpecFactory.java -ch/boye/httpclientandroidlib/cookie/CookieSpecRegistry.java -ch/boye/httpclientandroidlib/cookie/MalformedCookieException.java -ch/boye/httpclientandroidlib/cookie/params/CookieSpecParamBean.java -ch/boye/httpclientandroidlib/cookie/params/CookieSpecPNames.java -ch/boye/httpclientandroidlib/cookie/SetCookie.java -ch/boye/httpclientandroidlib/cookie/SetCookie2.java -ch/boye/httpclientandroidlib/cookie/SM.java -ch/boye/httpclientandroidlib/entity/AbstractHttpEntity.java -ch/boye/httpclientandroidlib/entity/BasicHttpEntity.java -ch/boye/httpclientandroidlib/entity/BufferedHttpEntity.java -ch/boye/httpclientandroidlib/entity/ByteArrayEntity.java -ch/boye/httpclientandroidlib/entity/ContentLengthStrategy.java -ch/boye/httpclientandroidlib/entity/ContentProducer.java -ch/boye/httpclientandroidlib/entity/EntityTemplate.java -ch/boye/httpclientandroidlib/entity/FileEntity.java -ch/boye/httpclientandroidlib/entity/HttpEntityWrapper.java -ch/boye/httpclientandroidlib/entity/InputStreamEntity.java -ch/boye/httpclientandroidlib/entity/SerializableEntity.java -ch/boye/httpclientandroidlib/entity/StringEntity.java -ch/boye/httpclientandroidlib/FormattedHeader.java -ch/boye/httpclientandroidlib/Header.java -ch/boye/httpclientandroidlib/HeaderElement.java -ch/boye/httpclientandroidlib/HeaderElementIterator.java -ch/boye/httpclientandroidlib/HeaderIterator.java -ch/boye/httpclientandroidlib/HttpClientConnection.java -ch/boye/httpclientandroidlib/HttpConnection.java -ch/boye/httpclientandroidlib/HttpConnectionMetrics.java -ch/boye/httpclientandroidlib/HttpEntity.java -ch/boye/httpclientandroidlib/HttpEntityEnclosingRequest.java -ch/boye/httpclientandroidlib/HttpException.java -ch/boye/httpclientandroidlib/HttpHeaders.java -ch/boye/httpclientandroidlib/HttpHost.java -ch/boye/httpclientandroidlib/HttpInetConnection.java -ch/boye/httpclientandroidlib/HttpMessage.java -ch/boye/httpclientandroidlib/HttpRequest.java -ch/boye/httpclientandroidlib/HttpRequestFactory.java -ch/boye/httpclientandroidlib/HttpRequestInterceptor.java -ch/boye/httpclientandroidlib/HttpResponse.java -ch/boye/httpclientandroidlib/HttpResponseFactory.java -ch/boye/httpclientandroidlib/HttpResponseInterceptor.java -ch/boye/httpclientandroidlib/HttpServerConnection.java -ch/boye/httpclientandroidlib/HttpStatus.java -ch/boye/httpclientandroidlib/HttpVersion.java -ch/boye/httpclientandroidlib/impl/AbstractHttpClientConnection.java -ch/boye/httpclientandroidlib/impl/AbstractHttpServerConnection.java -ch/boye/httpclientandroidlib/impl/auth/AuthSchemeBase.java -ch/boye/httpclientandroidlib/impl/auth/BasicScheme.java -ch/boye/httpclientandroidlib/impl/auth/BasicSchemeFactory.java -ch/boye/httpclientandroidlib/impl/auth/DigestScheme.java -ch/boye/httpclientandroidlib/impl/auth/DigestSchemeFactory.java -ch/boye/httpclientandroidlib/impl/auth/NTLMEngine.java -ch/boye/httpclientandroidlib/impl/auth/NTLMEngineException.java -ch/boye/httpclientandroidlib/impl/auth/NTLMEngineImpl.java -ch/boye/httpclientandroidlib/impl/auth/NTLMScheme.java -ch/boye/httpclientandroidlib/impl/auth/NTLMSchemeFactory.java -ch/boye/httpclientandroidlib/impl/auth/RFC2617Scheme.java -ch/boye/httpclientandroidlib/impl/auth/SpnegoTokenGenerator.java -ch/boye/httpclientandroidlib/impl/auth/UnsupportedDigestAlgorithmException.java -ch/boye/httpclientandroidlib/impl/client/AbstractAuthenticationHandler.java -ch/boye/httpclientandroidlib/impl/client/AbstractHttpClient.java -ch/boye/httpclientandroidlib/impl/client/BasicAuthCache.java -ch/boye/httpclientandroidlib/impl/client/BasicCookieStore.java -ch/boye/httpclientandroidlib/impl/client/BasicCredentialsProvider.java -ch/boye/httpclientandroidlib/impl/client/BasicResponseHandler.java -ch/boye/httpclientandroidlib/impl/client/ClientParamsStack.java -ch/boye/httpclientandroidlib/impl/client/ContentEncodingHttpClient.java -ch/boye/httpclientandroidlib/impl/client/DefaultConnectionKeepAliveStrategy.java -ch/boye/httpclientandroidlib/impl/client/DefaultHttpClient.java -ch/boye/httpclientandroidlib/impl/client/DefaultHttpRequestRetryHandler.java -ch/boye/httpclientandroidlib/impl/client/DefaultProxyAuthenticationHandler.java -ch/boye/httpclientandroidlib/impl/client/DefaultRedirectHandler.java -ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategy.java -ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategyAdaptor.java -ch/boye/httpclientandroidlib/impl/client/DefaultRequestDirector.java -ch/boye/httpclientandroidlib/impl/client/DefaultTargetAuthenticationHandler.java -ch/boye/httpclientandroidlib/impl/client/DefaultUserTokenHandler.java -ch/boye/httpclientandroidlib/impl/client/EntityEnclosingRequestWrapper.java -ch/boye/httpclientandroidlib/impl/client/RedirectLocations.java -ch/boye/httpclientandroidlib/impl/client/RequestWrapper.java -ch/boye/httpclientandroidlib/impl/client/RoutedRequest.java -ch/boye/httpclientandroidlib/impl/client/TunnelRefusedException.java -ch/boye/httpclientandroidlib/impl/conn/AbstractClientConnAdapter.java -ch/boye/httpclientandroidlib/impl/conn/AbstractPooledConnAdapter.java -ch/boye/httpclientandroidlib/impl/conn/AbstractPoolEntry.java -ch/boye/httpclientandroidlib/impl/conn/ConnectionShutdownException.java -ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnection.java -ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnectionOperator.java -ch/boye/httpclientandroidlib/impl/conn/DefaultHttpRoutePlanner.java -ch/boye/httpclientandroidlib/impl/conn/DefaultResponseParser.java -ch/boye/httpclientandroidlib/impl/conn/HttpInetSocketAddress.java -ch/boye/httpclientandroidlib/impl/conn/IdleConnectionHandler.java -ch/boye/httpclientandroidlib/impl/conn/LoggingSessionInputBuffer.java -ch/boye/httpclientandroidlib/impl/conn/LoggingSessionOutputBuffer.java -ch/boye/httpclientandroidlib/impl/conn/ProxySelectorRoutePlanner.java -ch/boye/httpclientandroidlib/impl/conn/SchemeRegistryFactory.java -ch/boye/httpclientandroidlib/impl/conn/SingleClientConnManager.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/AbstractConnPool.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPooledConnAdapter.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntry.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntryRef.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/ConnPoolByRoute.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/PoolEntryRequest.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueHandler.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueWorker.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/RouteSpecificPool.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/ThreadSafeClientConnManager.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThread.java -ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThreadAborter.java -ch/boye/httpclientandroidlib/impl/conn/Wire.java -ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieAttributeHandler.java -ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieSpec.java -ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie.java -ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie2.java -ch/boye/httpclientandroidlib/impl/cookie/BasicCommentHandler.java -ch/boye/httpclientandroidlib/impl/cookie/BasicDomainHandler.java -ch/boye/httpclientandroidlib/impl/cookie/BasicExpiresHandler.java -ch/boye/httpclientandroidlib/impl/cookie/BasicMaxAgeHandler.java -ch/boye/httpclientandroidlib/impl/cookie/BasicPathHandler.java -ch/boye/httpclientandroidlib/impl/cookie/BasicSecureHandler.java -ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpec.java -ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpecFactory.java -ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpec.java -ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpecFactory.java -ch/boye/httpclientandroidlib/impl/cookie/CookieSpecBase.java -ch/boye/httpclientandroidlib/impl/cookie/DateParseException.java -ch/boye/httpclientandroidlib/impl/cookie/DateUtils.java -ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpec.java -ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpecFactory.java -ch/boye/httpclientandroidlib/impl/cookie/NetscapeDomainHandler.java -ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftHeaderParser.java -ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpec.java -ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpecFactory.java -ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixFilter.java -ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixListParser.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2109DomainHandler.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2109Spec.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2109SpecFactory.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2109VersionHandler.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2965CommentUrlAttributeHandler.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2965DiscardAttributeHandler.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2965DomainAttributeHandler.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2965PortAttributeHandler.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2965Spec.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2965SpecFactory.java -ch/boye/httpclientandroidlib/impl/cookie/RFC2965VersionAttributeHandler.java -ch/boye/httpclientandroidlib/impl/DefaultConnectionReuseStrategy.java -ch/boye/httpclientandroidlib/impl/DefaultHttpClientConnection.java -ch/boye/httpclientandroidlib/impl/DefaultHttpRequestFactory.java -ch/boye/httpclientandroidlib/impl/DefaultHttpResponseFactory.java -ch/boye/httpclientandroidlib/impl/DefaultHttpServerConnection.java -ch/boye/httpclientandroidlib/impl/EnglishReasonPhraseCatalog.java -ch/boye/httpclientandroidlib/impl/entity/EntityDeserializer.java -ch/boye/httpclientandroidlib/impl/entity/EntitySerializer.java -ch/boye/httpclientandroidlib/impl/entity/LaxContentLengthStrategy.java -ch/boye/httpclientandroidlib/impl/entity/StrictContentLengthStrategy.java -ch/boye/httpclientandroidlib/impl/HttpConnectionMetricsImpl.java -ch/boye/httpclientandroidlib/impl/io/AbstractMessageParser.java -ch/boye/httpclientandroidlib/impl/io/AbstractMessageWriter.java -ch/boye/httpclientandroidlib/impl/io/AbstractSessionInputBuffer.java -ch/boye/httpclientandroidlib/impl/io/AbstractSessionOutputBuffer.java -ch/boye/httpclientandroidlib/impl/io/ChunkedInputStream.java -ch/boye/httpclientandroidlib/impl/io/ChunkedOutputStream.java -ch/boye/httpclientandroidlib/impl/io/ContentLengthInputStream.java -ch/boye/httpclientandroidlib/impl/io/ContentLengthOutputStream.java -ch/boye/httpclientandroidlib/impl/io/HttpRequestParser.java -ch/boye/httpclientandroidlib/impl/io/HttpRequestWriter.java -ch/boye/httpclientandroidlib/impl/io/HttpResponseParser.java -ch/boye/httpclientandroidlib/impl/io/HttpResponseWriter.java -ch/boye/httpclientandroidlib/impl/io/HttpTransportMetricsImpl.java -ch/boye/httpclientandroidlib/impl/io/IdentityInputStream.java -ch/boye/httpclientandroidlib/impl/io/IdentityOutputStream.java -ch/boye/httpclientandroidlib/impl/io/SocketInputBuffer.java -ch/boye/httpclientandroidlib/impl/io/SocketOutputBuffer.java -ch/boye/httpclientandroidlib/impl/NoConnectionReuseStrategy.java -ch/boye/httpclientandroidlib/impl/SocketHttpClientConnection.java -ch/boye/httpclientandroidlib/impl/SocketHttpServerConnection.java -ch/boye/httpclientandroidlib/io/BufferInfo.java -ch/boye/httpclientandroidlib/io/EofSensor.java -ch/boye/httpclientandroidlib/io/HttpMessageParser.java -ch/boye/httpclientandroidlib/io/HttpMessageWriter.java -ch/boye/httpclientandroidlib/io/HttpTransportMetrics.java -ch/boye/httpclientandroidlib/io/SessionInputBuffer.java -ch/boye/httpclientandroidlib/io/SessionOutputBuffer.java -ch/boye/httpclientandroidlib/MalformedChunkCodingException.java -ch/boye/httpclientandroidlib/message/AbstractHttpMessage.java -ch/boye/httpclientandroidlib/message/BasicHeader.java -ch/boye/httpclientandroidlib/message/BasicHeaderElement.java -ch/boye/httpclientandroidlib/message/BasicHeaderElementIterator.java -ch/boye/httpclientandroidlib/message/BasicHeaderIterator.java -ch/boye/httpclientandroidlib/message/BasicHeaderValueFormatter.java -ch/boye/httpclientandroidlib/message/BasicHeaderValueParser.java -ch/boye/httpclientandroidlib/message/BasicHttpEntityEnclosingRequest.java -ch/boye/httpclientandroidlib/message/BasicHttpRequest.java -ch/boye/httpclientandroidlib/message/BasicHttpResponse.java -ch/boye/httpclientandroidlib/message/BasicLineFormatter.java -ch/boye/httpclientandroidlib/message/BasicLineParser.java -ch/boye/httpclientandroidlib/message/BasicListHeaderIterator.java -ch/boye/httpclientandroidlib/message/BasicNameValuePair.java -ch/boye/httpclientandroidlib/message/BasicRequestLine.java -ch/boye/httpclientandroidlib/message/BasicStatusLine.java -ch/boye/httpclientandroidlib/message/BasicTokenIterator.java -ch/boye/httpclientandroidlib/message/BufferedHeader.java -ch/boye/httpclientandroidlib/message/HeaderGroup.java -ch/boye/httpclientandroidlib/message/HeaderValueFormatter.java -ch/boye/httpclientandroidlib/message/HeaderValueParser.java -ch/boye/httpclientandroidlib/message/LineFormatter.java -ch/boye/httpclientandroidlib/message/LineParser.java -ch/boye/httpclientandroidlib/message/ParserCursor.java -ch/boye/httpclientandroidlib/MethodNotSupportedException.java -ch/boye/httpclientandroidlib/NameValuePair.java -ch/boye/httpclientandroidlib/NoHttpResponseException.java -ch/boye/httpclientandroidlib/params/AbstractHttpParams.java -ch/boye/httpclientandroidlib/params/BasicHttpParams.java -ch/boye/httpclientandroidlib/params/CoreConnectionPNames.java -ch/boye/httpclientandroidlib/params/CoreProtocolPNames.java -ch/boye/httpclientandroidlib/params/DefaultedHttpParams.java -ch/boye/httpclientandroidlib/params/HttpAbstractParamBean.java -ch/boye/httpclientandroidlib/params/HttpConnectionParamBean.java -ch/boye/httpclientandroidlib/params/HttpConnectionParams.java -ch/boye/httpclientandroidlib/params/HttpParams.java -ch/boye/httpclientandroidlib/params/HttpProtocolParamBean.java -ch/boye/httpclientandroidlib/params/HttpProtocolParams.java -ch/boye/httpclientandroidlib/params/SyncBasicHttpParams.java -ch/boye/httpclientandroidlib/ParseException.java -ch/boye/httpclientandroidlib/protocol/BasicHttpContext.java -ch/boye/httpclientandroidlib/protocol/BasicHttpProcessor.java -ch/boye/httpclientandroidlib/protocol/DefaultedHttpContext.java -ch/boye/httpclientandroidlib/protocol/ExecutionContext.java -ch/boye/httpclientandroidlib/protocol/HTTP.java -ch/boye/httpclientandroidlib/protocol/HttpContext.java -ch/boye/httpclientandroidlib/protocol/HttpDateGenerator.java -ch/boye/httpclientandroidlib/protocol/HttpExpectationVerifier.java -ch/boye/httpclientandroidlib/protocol/HttpProcessor.java -ch/boye/httpclientandroidlib/protocol/HttpRequestExecutor.java -ch/boye/httpclientandroidlib/protocol/HttpRequestHandler.java -ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerRegistry.java -ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerResolver.java -ch/boye/httpclientandroidlib/protocol/HttpRequestInterceptorList.java -ch/boye/httpclientandroidlib/protocol/HttpResponseInterceptorList.java -ch/boye/httpclientandroidlib/protocol/HttpService.java -ch/boye/httpclientandroidlib/protocol/ImmutableHttpProcessor.java -ch/boye/httpclientandroidlib/protocol/RequestConnControl.java -ch/boye/httpclientandroidlib/protocol/RequestContent.java -ch/boye/httpclientandroidlib/protocol/RequestDate.java -ch/boye/httpclientandroidlib/protocol/RequestExpectContinue.java -ch/boye/httpclientandroidlib/protocol/RequestTargetHost.java -ch/boye/httpclientandroidlib/protocol/RequestUserAgent.java -ch/boye/httpclientandroidlib/protocol/ResponseConnControl.java -ch/boye/httpclientandroidlib/protocol/ResponseContent.java -ch/boye/httpclientandroidlib/protocol/ResponseDate.java -ch/boye/httpclientandroidlib/protocol/ResponseServer.java -ch/boye/httpclientandroidlib/protocol/SyncBasicHttpContext.java -ch/boye/httpclientandroidlib/protocol/UriPatternMatcher.java -ch/boye/httpclientandroidlib/ProtocolException.java -ch/boye/httpclientandroidlib/ProtocolVersion.java -ch/boye/httpclientandroidlib/ReasonPhraseCatalog.java -ch/boye/httpclientandroidlib/RequestLine.java -ch/boye/httpclientandroidlib/StatusLine.java -ch/boye/httpclientandroidlib/TokenIterator.java -ch/boye/httpclientandroidlib/TruncatedChunkException.java -ch/boye/httpclientandroidlib/UnsupportedHttpVersionException.java -ch/boye/httpclientandroidlib/util/ByteArrayBuffer.java -ch/boye/httpclientandroidlib/util/CharArrayBuffer.java -ch/boye/httpclientandroidlib/util/EncodingUtils.java -ch/boye/httpclientandroidlib/util/EntityUtils.java -ch/boye/httpclientandroidlib/util/ExceptionUtils.java -ch/boye/httpclientandroidlib/util/LangUtils.java -ch/boye/httpclientandroidlib/util/VersionInfo.java -org/json/simple/ItemList.java -org/json/simple/JSONArray.java -org/json/simple/JSONAware.java -org/json/simple/JSONObject.java -org/json/simple/JSONStreamAware.java -org/json/simple/JSONValue.java -org/json/simple/parser/ContainerFactory.java -org/json/simple/parser/ContentHandler.java -org/json/simple/parser/JSONParser.java -org/json/simple/parser/ParseException.java -org/json/simple/parser/Yylex.java -org/json/simple/parser/Yytoken.java -org/mozilla/apache/commons/codec/binary/Base32.java -org/mozilla/apache/commons/codec/binary/Base32InputStream.java -org/mozilla/apache/commons/codec/binary/Base32OutputStream.java -org/mozilla/apache/commons/codec/binary/Base64.java -org/mozilla/apache/commons/codec/binary/Base64InputStream.java -org/mozilla/apache/commons/codec/binary/Base64OutputStream.java -org/mozilla/apache/commons/codec/binary/BaseNCodec.java -org/mozilla/apache/commons/codec/binary/BaseNCodecInputStream.java -org/mozilla/apache/commons/codec/binary/BaseNCodecOutputStream.java -org/mozilla/apache/commons/codec/binary/BinaryCodec.java -org/mozilla/apache/commons/codec/binary/Hex.java -org/mozilla/apache/commons/codec/binary/StringUtils.java -org/mozilla/apache/commons/codec/BinaryDecoder.java -org/mozilla/apache/commons/codec/BinaryEncoder.java -org/mozilla/apache/commons/codec/CharEncoding.java -org/mozilla/apache/commons/codec/Decoder.java -org/mozilla/apache/commons/codec/DecoderException.java -org/mozilla/apache/commons/codec/digest/DigestUtils.java -org/mozilla/apache/commons/codec/Encoder.java -org/mozilla/apache/commons/codec/EncoderException.java -org/mozilla/apache/commons/codec/language/AbstractCaverphone.java -org/mozilla/apache/commons/codec/language/Caverphone.java -org/mozilla/apache/commons/codec/language/Caverphone1.java -org/mozilla/apache/commons/codec/language/Caverphone2.java -org/mozilla/apache/commons/codec/language/ColognePhonetic.java -org/mozilla/apache/commons/codec/language/DoubleMetaphone.java -org/mozilla/apache/commons/codec/language/Metaphone.java -org/mozilla/apache/commons/codec/language/RefinedSoundex.java -org/mozilla/apache/commons/codec/language/Soundex.java -org/mozilla/apache/commons/codec/language/SoundexUtils.java -org/mozilla/apache/commons/codec/net/BCodec.java -org/mozilla/apache/commons/codec/net/QCodec.java -org/mozilla/apache/commons/codec/net/QuotedPrintableCodec.java -org/mozilla/apache/commons/codec/net/RFC1522Codec.java -org/mozilla/apache/commons/codec/net/URLCodec.java -org/mozilla/apache/commons/codec/net/Utils.java -org/mozilla/apache/commons/codec/StringDecoder.java -org/mozilla/apache/commons/codec/StringEncoder.java -org/mozilla/apache/commons/codec/StringEncoderComparator.java diff --git a/mobile/android/services/preprocess-sources.mn b/mobile/android/services/preprocess-sources.mn deleted file mode 100644 index 9e48e065416..00000000000 --- a/mobile/android/services/preprocess-sources.mn +++ /dev/null @@ -1,4 +0,0 @@ -background/common/GlobalConstants.java -sync/SyncConstants.java -background/announcements/AnnouncementsConstants.java -background/healthreport/HealthReportConstants.java From c64addea18c68aad72d71b49540254a77b4f9194 Mon Sep 17 00:00:00 2001 From: Marina Samuel Date: Mon, 21 Oct 2013 13:02:02 -0400 Subject: [PATCH 06/43] Bug 925467: Part 1: Workaround to make OSK more consistent. r=jmathies --- .../metro/base/content/bindings/bindings.xml | 20 +++++++++++++++---- browser/metro/base/content/browser-ui.js | 1 + .../base/content/contenthandlers/Content.js | 6 ++++++ .../contenthandlers/SelectionHandler.js | 20 ++++++++++++++++--- .../content/helperui/SelectionHelperUI.js | 19 ++++++++++++++++++ 5 files changed, 59 insertions(+), 7 deletions(-) diff --git a/browser/metro/base/content/bindings/bindings.xml b/browser/metro/base/content/bindings/bindings.xml index 88f5e2de32c..15267577c1f 100644 --- a/browser/metro/base/content/bindings/bindings.xml +++ b/browser/metro/base/content/bindings/bindings.xml @@ -194,8 +194,14 @@ @@ -287,8 +293,14 @@ diff --git a/browser/metro/base/content/browser-ui.js b/browser/metro/base/content/browser-ui.js index 36dd112edfd..52eaa528303 100644 --- a/browser/metro/base/content/browser-ui.js +++ b/browser/metro/base/content/browser-ui.js @@ -112,6 +112,7 @@ var BrowserUI = { NewTabUtils.init(); SettingsCharm.init(); NavButtonSlider.init(); + SelectionHelperUI.init(); // We can delay some initialization until after startup. We wait until // the first page is shown, then dispatch a UIReadyDelayed event. diff --git a/browser/metro/base/content/contenthandlers/Content.js b/browser/metro/base/content/contenthandlers/Content.js index cc5051c050f..1846e10bd5c 100644 --- a/browser/metro/base/content/contenthandlers/Content.js +++ b/browser/metro/base/content/contenthandlers/Content.js @@ -184,6 +184,12 @@ let Content = { break; case "click": + // Workaround for bug 925457: we sometimes don't recognize the + // correct tap target or are unable to identify if it's editable. + // Instead always save tap co-ordinates for the keyboard to look for + // when it is up. + SelectionHandler.onClickCoords(aEvent.clientX, aEvent.clientY); + if (aEvent.eventPhase == aEvent.BUBBLING_PHASE) this._onClickBubble(aEvent); else diff --git a/browser/metro/base/content/contenthandlers/SelectionHandler.js b/browser/metro/base/content/contenthandlers/SelectionHandler.js index 48d70ba1baa..ba1f545e6fb 100644 --- a/browser/metro/base/content/contenthandlers/SelectionHandler.js +++ b/browser/metro/base/content/contenthandlers/SelectionHandler.js @@ -8,6 +8,7 @@ var SelectionHandler = { init: function init() { this.type = kContentSelector; this.snap = true; + this.lastYPos = this.lastXPos = null; addMessageListener("Browser:SelectionStart", this); addMessageListener("Browser:SelectionAttach", this); addMessageListener("Browser:SelectionEnd", this); @@ -340,6 +341,11 @@ var SelectionHandler = { this.sendAsync("Content:SelectionHandlerPong", { id: aId }); }, + onClickCoords: function (xPos, yPos) { + this.lastXPos = xPos; + this.lastYPos = yPos; + }, + /************************************************* * Selection helpers */ @@ -412,9 +418,12 @@ var SelectionHandler = { */ _calcNewContentPosition: function _calcNewContentPosition(aNewViewHeight) { // We have no target element but the keyboard is up - // so lets not cover content + // so lets not cover content that is below the keyboard if (!this._cache || !this._cache.element) { - return Services.metro.keyboardHeight; + if (this.lastYPos != null && this.lastYPos > aNewViewHeight) { + return Services.metro.keyboardHeight; + } + return 0; } let position = Util.centerElementInView(aNewViewHeight, this._cache.element); @@ -523,7 +532,12 @@ var SelectionHandler = { break; case "Browser:RepositionInfoRequest": - this._repositionInfoRequest(json); + // This message is sent simultaneously with a tap event. + // Wait a bit to make sure we have the most up-to-date tap co-ordinates + // before a call to _calcNewContentPosition() which accesses them. + content.setTimeout (function () { + SelectionHandler._repositionInfoRequest(json); + }, 50); break; case "Browser:SelectionHandlerPing": diff --git a/browser/metro/base/content/helperui/SelectionHelperUI.js b/browser/metro/base/content/helperui/SelectionHelperUI.js index 5d6fb286753..147bbdc2655 100644 --- a/browser/metro/base/content/helperui/SelectionHelperUI.js +++ b/browser/metro/base/content/helperui/SelectionHelperUI.js @@ -344,6 +344,21 @@ var SelectionHelperUI = { return false; }, + + /* + * Observers + */ + + observe: function (aSubject, aTopic, aData) { + switch (aTopic) { + case "attach_edit_session_to_content": + let event = aSubject; + SelectionHelperUI.attachEditSession(Browser.selectedTab.browser, + event.clientX, event.clientY); + break; + } + }, + /* * Public apis */ @@ -495,6 +510,10 @@ var SelectionHelperUI = { * Init and shutdown */ + init: function () { + Services.obs.addObserver(this, "attach_edit_session_to_content", false); + }, + _init: function _init(aMsgTarget) { // store the target message manager this._msgTarget = aMsgTarget; From 66735b86d61e1974303bcbae0c5cb9d2f8620ad1 Mon Sep 17 00:00:00 2001 From: Marina Samuel Date: Mon, 21 Oct 2013 13:02:06 -0400 Subject: [PATCH 07/43] Bug 925467: Part 2: Blur the about:config search box to close the osk when tapping on content. r=jmathies --- browser/metro/Makefile.in | 2 +- browser/metro/metroapp.ini.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/browser/metro/Makefile.in b/browser/metro/Makefile.in index 948797992c4..7dab4cda3a9 100644 --- a/browser/metro/Makefile.in +++ b/browser/metro/Makefile.in @@ -13,7 +13,7 @@ endif GRE_MILESTONE := $(shell tail -n 1 $(topsrcdir)/config/milestone.txt 2>/dev/null || tail -1 $(topsrcdir)/config/milestone.txt) GRE_BUILDID := $(shell cat $(DEPTH)/config/buildid) -DEFINES += -DGRE_MILESTONE=$(GRE_MILESTONE) -DGRE_BUILDID=$(GRE_BUILDID) +DEFINES += -DGRE_MILESTONE=$(GRE_MILESTONE) -DGRE_BUILDID=$(GRE_BUILDID) -DMOZ_APP_BASENAME=$(MOZ_APP_BASENAME) # 'application.ini' breaks firefox build config. So we use something different. metroapp.ini: metroapp.ini.in $(DEPTH)/config/buildid $(topsrcdir)/config/milestone.txt diff --git a/browser/metro/metroapp.ini.in b/browser/metro/metroapp.ini.in index 2b7867ba1f7..948108fc321 100644 --- a/browser/metro/metroapp.ini.in +++ b/browser/metro/metroapp.ini.in @@ -1,7 +1,7 @@ #filter substitution [App] Vendor=Mozilla -Name=MetroFirefox +Name=@MOZ_APP_BASENAME@ UAName=Firefox Version=@GRE_MILESTONE@ BuildID=@GRE_BUILDID@ From 9fceddea4be157f14b7b3d68e2d70343c1e78c0e Mon Sep 17 00:00:00 2001 From: Marina Samuel Date: Mon, 21 Oct 2013 13:11:32 -0400 Subject: [PATCH 08/43] Bug 925467: Revert push to wrong patch. 418d0fbd33b0. r=me --- browser/metro/Makefile.in | 2 +- browser/metro/metroapp.ini.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/browser/metro/Makefile.in b/browser/metro/Makefile.in index 7dab4cda3a9..948797992c4 100644 --- a/browser/metro/Makefile.in +++ b/browser/metro/Makefile.in @@ -13,7 +13,7 @@ endif GRE_MILESTONE := $(shell tail -n 1 $(topsrcdir)/config/milestone.txt 2>/dev/null || tail -1 $(topsrcdir)/config/milestone.txt) GRE_BUILDID := $(shell cat $(DEPTH)/config/buildid) -DEFINES += -DGRE_MILESTONE=$(GRE_MILESTONE) -DGRE_BUILDID=$(GRE_BUILDID) -DMOZ_APP_BASENAME=$(MOZ_APP_BASENAME) +DEFINES += -DGRE_MILESTONE=$(GRE_MILESTONE) -DGRE_BUILDID=$(GRE_BUILDID) # 'application.ini' breaks firefox build config. So we use something different. metroapp.ini: metroapp.ini.in $(DEPTH)/config/buildid $(topsrcdir)/config/milestone.txt diff --git a/browser/metro/metroapp.ini.in b/browser/metro/metroapp.ini.in index 948108fc321..2b7867ba1f7 100644 --- a/browser/metro/metroapp.ini.in +++ b/browser/metro/metroapp.ini.in @@ -1,7 +1,7 @@ #filter substitution [App] Vendor=Mozilla -Name=@MOZ_APP_BASENAME@ +Name=MetroFirefox UAName=Firefox Version=@GRE_MILESTONE@ BuildID=@GRE_BUILDID@ From b4a29c62b1e537184879d9b6e9fad7347279304d Mon Sep 17 00:00:00 2001 From: Marina Samuel Date: Mon, 21 Oct 2013 13:18:39 -0400 Subject: [PATCH 09/43] Bug 925467: Part 2: Blur the about:config search box to close the osk when tapping on content. r=jmathies --- browser/metro/base/content/config.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/browser/metro/base/content/config.js b/browser/metro/base/content/config.js index 6b0349a7c88..7482bc98ba2 100644 --- a/browser/metro/base/content/config.js +++ b/browser/metro/base/content/config.js @@ -7,6 +7,11 @@ let Ci = Components.interfaces; Components.utils.import("resource://gre/modules/Services.jsm"); var ViewConfig = { + get _main() { + delete this._main; + return this._main = document.getElementById("main-container"); + }, + get _container() { delete this._container; return this._container = document.getElementById("prefs-container"); @@ -18,6 +23,7 @@ var ViewConfig = { }, init: function init() { + this._main.addEventListener("click", this, false); window.addEventListener("resize", this, false); window.addEventListener("prefchange", this, false); window.addEventListener("prefnew", this, false); @@ -29,6 +35,7 @@ var ViewConfig = { }, uninit: function uninit() { + this._main.removeEventListener("click", this, false); window.removeEventListener("resize", this, false); window.removeEventListener("prefchange", this, false); window.removeEventListener("prefnew", this, false); @@ -168,6 +175,10 @@ var ViewConfig = { case "prefnew": this._handlePrefChange(aEvent.detail, aEvent.type == "prefnew"); break; + + case "click": + this._onClick(); + break; } }, @@ -179,6 +190,12 @@ var ViewConfig = { mainBox.setAttribute("height", height); }, + _onClick: function () { + // Blur the search box when tapping anywhere else in the content + // in order to close the soft keyboard. + document.getElementById("textbox").blur(); + }, + _handlePrefChange: function _handlePrefChange(aIndex, aNew) { let isEditing = !this._editor.hidden; let shouldUpdateEditor = false; From 976a1d00781f4ee8182faf7cf88f32aaccf3d98a Mon Sep 17 00:00:00 2001 From: Benjamin Smedberg Date: Fri, 18 Oct 2013 14:24:08 -0400 Subject: [PATCH 10/43] Bug 812683 - Fix various crashes in Windows graphics libraries by blocking the ASUS Gamer OSD software, which is discontinued and unsupported, r=jrmuizel --HG-- extra : rebase_source : 673dc4634f41dd334f53b30da13e7bea854e1fb6 --- toolkit/xre/nsWindowsDllBlocklist.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/toolkit/xre/nsWindowsDllBlocklist.cpp b/toolkit/xre/nsWindowsDllBlocklist.cpp index c3e78a7157f..87fa4bf57bd 100644 --- a/toolkit/xre/nsWindowsDllBlocklist.cpp +++ b/toolkit/xre/nsWindowsDllBlocklist.cpp @@ -138,6 +138,10 @@ static DllBlockInfo sWindowsDllBlocklist[] = { // bug 925459, bitguard crashes { "bitguard.dll", MAKE_VERSION(2, 6, 1694, 24) }, + // bug 812683 - crashes in Windows library when Asus Gamer OSD is installed + // Software is discontinued/unsupported + { "atkdx11disp.dll", ALL_VERSIONS }, + { nullptr, 0 } }; From 2fdf781052c921072b970c66a8da5259c5c69fc2 Mon Sep 17 00:00:00 2001 From: Benjamin Smedberg Date: Fri, 18 Oct 2013 14:24:50 -0400 Subject: [PATCH 11/43] Bug 927944 - Annotate crash reports with a list of DLLs that were blocked via the windows blocklist. Also fix the blocklist to recognize forward-slash as a path delimiter, r=ehsan --HG-- extra : rebase_source : 5cbff13357fe96c5a86b5511a58b69176aa71817 --- toolkit/crashreporter/nsExceptionHandler.cpp | 8 ++ toolkit/crashreporter/nsExceptionHandler.h | 5 + toolkit/xre/nsWindowsDllBlocklist.cpp | 120 ++++++++++++++++++- 3 files changed, 127 insertions(+), 6 deletions(-) diff --git a/toolkit/crashreporter/nsExceptionHandler.cpp b/toolkit/crashreporter/nsExceptionHandler.cpp index b24de5ae677..d98415c5d25 100644 --- a/toolkit/crashreporter/nsExceptionHandler.cpp +++ b/toolkit/crashreporter/nsExceptionHandler.cpp @@ -222,6 +222,11 @@ static const char kIsGarbageCollectingParameter[] = "IsGarbageCollecting="; static const int kIsGarbageCollectingParameterLen = sizeof(kIsGarbageCollectingParameter)-1; +#ifdef XP_WIN +static const char kBlockedDllsParameter[] = "BlockedDllList="; +static const int kBlockedDllsParameterLen = sizeof(kBlockedDllsParameter) - 1; +#endif + // this holds additional data sent via the API static Mutex* crashReporterAPILock; static Mutex* notesFieldLock; @@ -540,6 +545,9 @@ bool MinidumpCallback( WriteFile(hFile, isGarbageCollecting ? "1" : "0", 1, &nBytes, nullptr); WriteFile(hFile, "\n", 1, &nBytes, nullptr); } + WriteFile(hFile, kBlockedDllsParameter, kBlockedDllsParameterLen, &nBytes, nullptr); + WriteBlockedDlls(hFile); + WriteFile(hFile, "\n", 1, &nBytes, nullptr); // Try to get some information about memory. MEMORYSTATUSEX statex; diff --git a/toolkit/crashreporter/nsExceptionHandler.h b/toolkit/crashreporter/nsExceptionHandler.h index 1131306c6c4..7e64f745843 100644 --- a/toolkit/crashreporter/nsExceptionHandler.h +++ b/toolkit/crashreporter/nsExceptionHandler.h @@ -44,6 +44,11 @@ nsresult AppendAppNotesToCrashReport(const nsACString& data); nsresult SetGarbageCollecting(bool collecting); +#ifdef XP_WIN +// Implemented by the blocklist, this method writes the blocklist annotation +void WriteBlockedDlls(HANDLE file); +#endif + nsresult SetRestartArgs(int argc, char** argv); nsresult SetupExtraData(nsIFile* aAppDataDirectory, const nsACString& aBuildID); diff --git a/toolkit/xre/nsWindowsDllBlocklist.cpp b/toolkit/xre/nsWindowsDllBlocklist.cpp index 87fa4bf57bd..99ac2aa079f 100644 --- a/toolkit/xre/nsWindowsDllBlocklist.cpp +++ b/toolkit/xre/nsWindowsDllBlocklist.cpp @@ -23,7 +23,7 @@ using namespace mozilla; -#if defined(MOZ_CRASHREPORTER) && !defined(NO_BLOCKLIST_CRASHREPORTER) +#ifdef MOZ_CRASHREPORTER #include "nsExceptionHandler.h" #endif @@ -224,6 +224,10 @@ CheckASLR(const wchar_t* path) return retval; } +// This lock protects both the reentrancy sentinel and the crash reporter +// data structures. +static CRITICAL_SECTION sLock; + /** * Some versions of Windows call LoadLibraryEx to get the version information * for a DLL, which causes our patched LdrLoadDll implementation to re-enter @@ -270,16 +274,98 @@ public: } private: - static CRITICAL_SECTION sLock; static std::map* sThreadMap; const char* mPreviousDllName; bool mReentered; }; -CRITICAL_SECTION ReentrancySentinel::sLock; std::map* ReentrancySentinel::sThreadMap; +/** + * This is a linked list of DLLs that have been blocked. It doesn't use + * mozilla::LinkedList because this is an append-only list and doesn't need + * to be doubly linked. + */ +class DllBlockSet +{ +public: + static void Add(const char* name, unsigned long long version); + + // Write the list of blocked DLLs to a file HANDLE. This method is run after + // a crash occurs and must therefore not use the heap, etc. + static void Write(HANDLE file); + +private: + DllBlockSet(const char* name, unsigned long long version) + : mName(name) + , mVersion(version) + , mNext(nullptr) + { + } + + const char* mName; // points into the sWindowsDllBlocklist string + unsigned long long mVersion; + DllBlockSet* mNext; + + static DllBlockSet* gFirst; +}; + +DllBlockSet* DllBlockSet::gFirst; + +void +DllBlockSet::Add(const char* name, unsigned long long version) +{ + EnterCriticalSection(&sLock); + for (DllBlockSet* b = gFirst; b; b = b->mNext) { + if (0 == strcmp(b->mName, name) && b->mVersion == version) { + LeaveCriticalSection(&sLock); + return; + } + } + // Not already present + DllBlockSet* n = new DllBlockSet(name, version); + n->mNext = gFirst; + gFirst = n; + LeaveCriticalSection(&sLock); +} + +void +DllBlockSet::Write(HANDLE file) +{ + EnterCriticalSection(&sLock); + DWORD nBytes; + + // Because this method is called after a crash occurs, and uses heap memory, + // protect this entire block with a structured exception handler. + __try { + for (DllBlockSet* b = gFirst; b; b = b->mNext) { + // write name[,v.v.v.v]; + WriteFile(file, b->mName, strlen(b->mName), &nBytes, nullptr); + if (b->mVersion != -1) { + WriteFile(file, ",", 1, &nBytes, nullptr); + uint16_t parts[4]; + parts[0] = b->mVersion >> 48; + parts[1] = (b->mVersion >> 32) & 0xFFFF; + parts[2] = (b->mVersion >> 16) & 0xFFFF; + parts[3] = b->mVersion & 0xFFFF; + for (int p = 0; p < 4; ++p) { + char buf[32]; + ltoa(parts[p], buf, 10); + WriteFile(file, buf, strlen(buf), &nBytes, nullptr); + if (p != 3) { + WriteFile(file, ".", 1, &nBytes, nullptr); + } + } + } + WriteFile(file, ";", 1, &nBytes, nullptr); + } + } + __except (EXCEPTION_EXECUTE_HANDLER) { } + + LeaveCriticalSection(&sLock); +} + static wchar_t* getFullPath (PWCHAR filePath, wchar_t* fname) { @@ -308,6 +394,17 @@ wchar_t* getFullPath (PWCHAR filePath, wchar_t* fname) return full_fname; } +// No builtin function to find the last character matching a set +static wchar_t* lastslash(wchar_t* s, int len) +{ + for (wchar_t* c = s + len - 1; c >= s; --c) { + if (*c == L'\\' || *c == L'/') { + return c; + } + } + return nullptr; +} + static NTSTATUS NTAPI patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileName, PHANDLE handle) { @@ -334,7 +431,7 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam goto continue_loading; } - dll_part = wcsrchr(fname, L'\\'); + dll_part = lastslash(fname, len); if (dll_part) { dll_part = dll_part + 1; len -= dll_part - fname; @@ -400,6 +497,8 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam goto continue_loading; } + unsigned long long fVersion = ALL_VERSIONS; + if (info->maxVersion != ALL_VERSIONS) { ReentrancySentinel sentinel(dllName); if (sentinel.BailOut()) { @@ -426,7 +525,7 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam if (GetFileVersionInfoW(full_fname, 0, infoSize, infoData) && VerQueryValueW(infoData, L"\\", (LPVOID*) &vInfo, &vInfoLen)) { - unsigned long long fVersion = + fVersion = ((unsigned long long)vInfo->dwFileVersionMS) << 32 | ((unsigned long long)vInfo->dwFileVersionLS); @@ -440,6 +539,7 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam if (!load_ok) { printf_stderr("LdrLoadDll: Blocking load of '%s' -- see http://www.mozilla.com/en-US/blocklist/\n", dllName); + DllBlockSet::Add(info->name, fVersion); return STATUS_DLL_NOT_FOUND; } } @@ -485,9 +585,17 @@ XRE_SetupDllBlocklist() printf_stderr ("LdrLoadDll hook failed, no dll blocklisting active\n"); #endif -#if defined(MOZ_CRASHREPORTER) && !defined(NO_BLOCKLIST_CRASHREPORTER) +#ifdef MOZ_CRASHREPORTER if (!ok) { CrashReporter::AppendAppNotesToCrashReport(NS_LITERAL_CSTRING("DllBlockList Failed\n")); } #endif } + +#ifdef MOZ_CRASHREPORTER +void +CrashReporter::WriteBlockedDlls(HANDLE file) +{ + DllBlockSet::Write(file); +} +#endif From b563c2d421af70e8613f0ac23d33892b42308d76 Mon Sep 17 00:00:00 2001 From: Benjamin Smedberg Date: Fri, 18 Oct 2013 14:24:51 -0400 Subject: [PATCH 12/43] Bug 927944 part B - move AutoCriticalSection to nsWindowsHelpers.h and use it instead of manual lock handling in nsWindowsDllBlocklist.cpp, r=ehsan --HG-- extra : rebase_source : 54e55b729263bffbb5a92c3336eacf248e99a659 --- toolkit/xre/nsWindowsDllBlocklist.cpp | 15 +++++---------- xpcom/base/nsWindowsHelpers.h | 20 ++++++++++++++++++++ xpcom/ds/TimeStamp_windows.cpp | 21 +-------------------- 3 files changed, 26 insertions(+), 30 deletions(-) diff --git a/toolkit/xre/nsWindowsDllBlocklist.cpp b/toolkit/xre/nsWindowsDllBlocklist.cpp index 99ac2aa079f..73d21e87d08 100644 --- a/toolkit/xre/nsWindowsDllBlocklist.cpp +++ b/toolkit/xre/nsWindowsDllBlocklist.cpp @@ -20,6 +20,7 @@ #include "nsWindowsDllInterceptor.h" #include "mozilla/WindowsVersion.h" +#include "nsWindowsHelpers.h" using namespace mozilla; @@ -244,22 +245,20 @@ public: explicit ReentrancySentinel(const char* dllName) { DWORD currentThreadId = GetCurrentThreadId(); - EnterCriticalSection(&sLock); + AutoCriticalSection lock(&sLock); mPreviousDllName = (*sThreadMap)[currentThreadId]; // If there is a DLL currently being loaded and it has the same name // as the current attempt, we're re-entering. mReentered = mPreviousDllName && !stricmp(mPreviousDllName, dllName); (*sThreadMap)[currentThreadId] = dllName; - LeaveCriticalSection(&sLock); } ~ReentrancySentinel() { DWORD currentThreadId = GetCurrentThreadId(); - EnterCriticalSection(&sLock); + AutoCriticalSection lock(&sLock); (*sThreadMap)[currentThreadId] = mPreviousDllName; - LeaveCriticalSection(&sLock); } bool BailOut() const @@ -316,10 +315,9 @@ DllBlockSet* DllBlockSet::gFirst; void DllBlockSet::Add(const char* name, unsigned long long version) { - EnterCriticalSection(&sLock); + AutoCriticalSection lock(&sLock); for (DllBlockSet* b = gFirst; b; b = b->mNext) { if (0 == strcmp(b->mName, name) && b->mVersion == version) { - LeaveCriticalSection(&sLock); return; } } @@ -327,13 +325,12 @@ DllBlockSet::Add(const char* name, unsigned long long version) DllBlockSet* n = new DllBlockSet(name, version); n->mNext = gFirst; gFirst = n; - LeaveCriticalSection(&sLock); } void DllBlockSet::Write(HANDLE file) { - EnterCriticalSection(&sLock); + AutoCriticalSection lock(&sLock); DWORD nBytes; // Because this method is called after a crash occurs, and uses heap memory, @@ -362,8 +359,6 @@ DllBlockSet::Write(HANDLE file) } } __except (EXCEPTION_EXECUTE_HANDLER) { } - - LeaveCriticalSection(&sLock); } static diff --git a/xpcom/base/nsWindowsHelpers.h b/xpcom/base/nsWindowsHelpers.h index f53ef775f37..411ab2106ca 100644 --- a/xpcom/base/nsWindowsHelpers.h +++ b/xpcom/base/nsWindowsHelpers.h @@ -9,6 +9,26 @@ #include "nsAutoRef.h" #include "nscore.h" +// ---------------------------------------------------------------------------- +// Critical Section helper class +// ---------------------------------------------------------------------------- + +class AutoCriticalSection +{ +public: + AutoCriticalSection(LPCRITICAL_SECTION section) + : mSection(section) + { + ::EnterCriticalSection(mSection); + } + ~AutoCriticalSection() + { + ::LeaveCriticalSection(mSection); + } +private: + LPCRITICAL_SECTION mSection; +}; + template<> class nsAutoRefTraits { diff --git a/xpcom/ds/TimeStamp_windows.cpp b/xpcom/ds/TimeStamp_windows.cpp index 55a876d2811..ac2c476199b 100644 --- a/xpcom/ds/TimeStamp_windows.cpp +++ b/xpcom/ds/TimeStamp_windows.cpp @@ -14,6 +14,7 @@ #include "mozilla/MathAlgorithms.h" #include "mozilla/Mutex.h" #include "mozilla/TimeStamp.h" +#include "nsWindowsHelpers.h" #include #include "nsCRT.h" @@ -185,26 +186,6 @@ namespace mozilla { typedef ULONGLONG (WINAPI* GetTickCount64_t)(); static GetTickCount64_t sGetTickCount64 = nullptr; -// ---------------------------------------------------------------------------- -// Critical Section helper class -// ---------------------------------------------------------------------------- - -class AutoCriticalSection -{ -public: - AutoCriticalSection(LPCRITICAL_SECTION section) - : mSection(section) - { - ::EnterCriticalSection(mSection); - } - ~AutoCriticalSection() - { - ::LeaveCriticalSection(mSection); - } -private: - LPCRITICAL_SECTION mSection; -}; - // Function protecting GetTickCount result from rolling over, // result is in [ms] static ULONGLONG WINAPI From 4ee550b1aa8004d26d10a437f6b6cee1481257f7 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Fri, 18 Oct 2013 21:30:25 -0700 Subject: [PATCH 13/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/df6babb1ab17 Author: David Flanagan Desc: Merge pull request #12322 from davidflanagan/autocorrect-config Bug 884752: configure keyboard layouts and dictionaries at build time r=janjongboom,luke-chang,aus ======== https://hg.mozilla.org/integration/gaia-central/rev/54533d45d205 Author: David Flanagan Desc: Bug 884752: configure keyboard layouts and dictionaries at build time --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 154c5663139..12cad771666 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "723401621af1bfabb671ec53ac7cafd62b700cb9", + "revision": "df6babb1ab1723359803f7d8754939d56a39a066", "repo_path": "/integration/gaia-central" } From dbdcb1461791ea1e588bc086ac464954b73a561a Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Fri, 18 Oct 2013 21:30:50 -0700 Subject: [PATCH 14/43] Bumping gaia.json for 1 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/3f45b320a79a Author: Mike Pennisi Desc: Revert "Bug 907177 - [Clock] Add integration tests" This reverts commit cd0e6bba0a258ab9a9215d274bcc339d07ca9ab3. It appears that a platform bug is causing a failure in this test suite. --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 12cad771666..69a6ced05d0 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "df6babb1ab1723359803f7d8754939d56a39a066", + "revision": "3f45b320a79a9a56854ac2d3ebff7a1f7f77821b", "repo_path": "/integration/gaia-central" } From f991ad201a9bcdd9bcfcdb28759d1a66a5e57f18 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Fri, 18 Oct 2013 21:31:14 -0700 Subject: [PATCH 15/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/ee0e0dc1bbdd Author: Jonathan Griffin Desc: Merge pull request #12902 from jonallengriffin/marionette_errors Bug 927404 - Fix reporting for failed gaiatest tests, r=dhunt, a=test-on... ======== https://hg.mozilla.org/integration/gaia-central/rev/87eb2a7c6f30 Author: Jonathan Griffin Desc: Bug 927404 - Fix reporting for failed gaiatest tests, r=dhunt, a=test-only --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 69a6ced05d0..88aa29c198a 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "3f45b320a79a9a56854ac2d3ebff7a1f7f77821b", + "revision": "ee0e0dc1bbdd9b8e4af1e2c9d372506749b572d1", "repo_path": "/integration/gaia-central" } From efba4e09fe3cffec61819c4f20c9eda48ebabec0 Mon Sep 17 00:00:00 2001 From: Shawn Huang Date: Sat, 19 Oct 2013 13:04:30 +0800 Subject: [PATCH 16/43] Bug 928214 - [Bluetooth]bluedroid-Prototype: BluetootServiceBluedroid, r=echou --- dom/bluetooth/BluetoothService.cpp | 8 +- dom/bluetooth/BluetoothServiceBluedroid.cpp | 341 ++++++++++++++++++++ dom/bluetooth/BluetoothServiceBluedroid.h | 189 +++++++++++ dom/bluetooth/moz.build | 17 +- 4 files changed, 547 insertions(+), 8 deletions(-) create mode 100644 dom/bluetooth/BluetoothServiceBluedroid.cpp create mode 100644 dom/bluetooth/BluetoothServiceBluedroid.h diff --git a/dom/bluetooth/BluetoothService.cpp b/dom/bluetooth/BluetoothService.cpp index 6739dc84180..ec8f5d8323d 100644 --- a/dom/bluetooth/BluetoothService.cpp +++ b/dom/bluetooth/BluetoothService.cpp @@ -44,8 +44,10 @@ #if defined(MOZ_B2G_BT) # if defined(MOZ_BLUETOOTH_GONK) -#ifndef MOZ_B2G_BT_BLUEDROID +#ifdef MOZ_B2G_BT_BLUEZ #include "BluetoothGonkService.h" +#else +#include "BluetoothServiceBluedroid.h" #endif # elif defined(MOZ_BLUETOOTH_DBUS) # include "BluetoothDBusService.h" @@ -306,7 +308,9 @@ BluetoothService::Create() #endif #if defined(MOZ_BLUETOOTH_GONK) -#ifndef MOZ_B2G_BT_BLUEDROID +#ifdef MOZ_B2G_BT_BLUEDROID + return new BluetoothServiceBluedroid(); +#else return new BluetoothGonkService(); #endif #elif defined(MOZ_BLUETOOTH_DBUS) diff --git a/dom/bluetooth/BluetoothServiceBluedroid.cpp b/dom/bluetooth/BluetoothServiceBluedroid.cpp new file mode 100644 index 00000000000..ba0cd27715d --- /dev/null +++ b/dom/bluetooth/BluetoothServiceBluedroid.cpp @@ -0,0 +1,341 @@ +/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- +/* vim: set ts=2 et sw=2 tw=80: */ +/* +** Copyright 2006, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + +#include "BluetoothServiceBluedroid.h" +#include "BluetoothReplyRunnable.h" +#include "BluetoothUtils.h" +#include "BluetoothUuid.h" +#include "mozilla/dom/bluetooth/BluetoothTypes.h" +#include "mozilla/ipc/UnixSocket.h" + +using namespace mozilla; +using namespace mozilla::ipc; +USING_BLUETOOTH_NAMESPACE + +nsresult +BluetoothServiceBluedroid::StartInternal() +{ + return NS_OK; +} + +nsresult +BluetoothServiceBluedroid::StopInternal() +{ + return NS_OK; +} + +bool +BluetoothServiceBluedroid::IsEnabledInternal() +{ + return true; +} + +nsresult +BluetoothServiceBluedroid::GetDefaultAdapterPathInternal( + BluetoothReplyRunnable* aRunnable) +{ + return NS_OK; +} + +nsresult +BluetoothServiceBluedroid::GetConnectedDevicePropertiesInternal( + uint16_t aProfileId, BluetoothReplyRunnable* aRunnable) +{ + return NS_OK; + +} + +nsresult +BluetoothServiceBluedroid::GetPairedDevicePropertiesInternal( + const nsTArray& aDeviceAddress, BluetoothReplyRunnable* aRunnable) +{ + return NS_OK; +} + +nsresult +BluetoothServiceBluedroid::StartDiscoveryInternal( + BluetoothReplyRunnable* aRunnable) +{ + return NS_OK; +} + +nsresult +BluetoothServiceBluedroid::StopDiscoveryInternal( + BluetoothReplyRunnable* aRunnable) +{ + return NS_OK; +} + +nsresult +BluetoothServiceBluedroid::GetDevicePropertiesInternal( + const BluetoothSignal& aSignal) +{ + return NS_OK; +} + +nsresult +BluetoothServiceBluedroid::SetProperty(BluetoothObjectType aType, + const BluetoothNamedValue& aValue, + BluetoothReplyRunnable* aRunnable) +{ + return NS_OK; +} + +bool +BluetoothServiceBluedroid::GetDevicePath(const nsAString& aAdapterPath, + const nsAString& aDeviceAddress, + nsAString& aDevicePath) +{ + return true; +} + +bool +BluetoothServiceBluedroid::AddServiceRecords(const char* serviceName, + unsigned long long uuidMsb, + unsigned long long uuidLsb, + int channel) +{ + return true; +} + +bool +BluetoothServiceBluedroid::RemoveServiceRecords(const char* serviceName, + unsigned long long uuidMsb, + unsigned long long uuidLsb, + int channel) +{ + return true; +} + +bool +BluetoothServiceBluedroid::AddReservedServicesInternal( + const nsTArray& aServices, + nsTArray& aServiceHandlesContainer) +{ + return true; + +} + +bool +BluetoothServiceBluedroid::RemoveReservedServicesInternal( + const nsTArray& aServiceHandles) +{ + return true; +} + +nsresult +BluetoothServiceBluedroid::GetScoSocket( + const nsAString& aObjectPath, bool aAuth, bool aEncrypt, + mozilla::ipc::UnixSocketConsumer* aConsumer) +{ + return NS_OK; +} + +nsresult +BluetoothServiceBluedroid::GetServiceChannel( + const nsAString& aDeviceAddress, + const nsAString& aServiceUuid, + BluetoothProfileManagerBase* aManager) +{ + return NS_OK; +} + +bool +BluetoothServiceBluedroid::UpdateSdpRecords( + const nsAString& aDeviceAddress, + BluetoothProfileManagerBase* aManager) +{ + return true; +} + +nsresult +BluetoothServiceBluedroid::CreatePairedDeviceInternal( + const nsAString& aDeviceAddress, int aTimeout, + BluetoothReplyRunnable* aRunnable) +{ + return NS_OK; +} + +nsresult +BluetoothServiceBluedroid::RemoveDeviceInternal( + const nsAString& aDeviceObjectPath, + BluetoothReplyRunnable* aRunnable) +{ + return NS_OK; +} + +bool +BluetoothServiceBluedroid::SetPinCodeInternal( + const nsAString& aDeviceAddress, const nsAString& aPinCode, + BluetoothReplyRunnable* aRunnable) +{ + return true; +} + +bool +BluetoothServiceBluedroid::SetPasskeyInternal( + const nsAString& aDeviceAddress, uint32_t aPasskey, + BluetoothReplyRunnable* aRunnable) +{ + return true; +} + +bool +BluetoothServiceBluedroid::SetPairingConfirmationInternal( + const nsAString& aDeviceAddress, bool aConfirm, + BluetoothReplyRunnable* aRunnable) +{ + return true; +} + +bool +BluetoothServiceBluedroid::SetAuthorizationInternal( + const nsAString& aDeviceAddress, bool aAllow, + BluetoothReplyRunnable* aRunnable) +{ + return true; +} + +nsresult +BluetoothServiceBluedroid::PrepareAdapterInternal() +{ + return NS_OK; +} + +void +BluetoothServiceBluedroid::Connect(const nsAString& aDeviceAddress, + uint32_t aCod, + uint16_t aServiceUuid, + BluetoothReplyRunnable* aRunnable) +{ + +} + +bool +BluetoothServiceBluedroid::IsConnected(uint16_t aProfileId) +{ + return true; +} + +void +BluetoothServiceBluedroid::Disconnect( + const nsAString& aDeviceAddress, uint16_t aServiceUuid, + BluetoothReplyRunnable* aRunnable) +{ + +} + +void +BluetoothServiceBluedroid::SendFile(const nsAString& aDeviceAddress, + BlobParent* aBlobParent, + BlobChild* aBlobChild, + BluetoothReplyRunnable* aRunnable) +{ + +} + +void +BluetoothServiceBluedroid::StopSendingFile(const nsAString& aDeviceAddress, + BluetoothReplyRunnable* aRunnable) +{ + +} + +void +BluetoothServiceBluedroid::ConfirmReceivingFile( + const nsAString& aDeviceAddress, bool aConfirm, + BluetoothReplyRunnable* aRunnable) +{ + +} + +void +BluetoothServiceBluedroid::ConnectSco(BluetoothReplyRunnable* aRunnable) +{ + +} + +void +BluetoothServiceBluedroid::DisconnectSco(BluetoothReplyRunnable* aRunnable) +{ + +} + +void +BluetoothServiceBluedroid::IsScoConnected(BluetoothReplyRunnable* aRunnable) +{ + +} + +void +BluetoothServiceBluedroid::SendMetaData(const nsAString& aTitle, + const nsAString& aArtist, + const nsAString& aAlbum, + int64_t aMediaNumber, + int64_t aTotalMediaCount, + int64_t aDuration, + BluetoothReplyRunnable* aRunnable) +{ + +} + +void +BluetoothServiceBluedroid::SendPlayStatus( + int64_t aDuration, int64_t aPosition, + const nsAString& aPlayStatus, + BluetoothReplyRunnable* aRunnable) +{ + +} + +void +BluetoothServiceBluedroid::UpdatePlayStatus( + uint32_t aDuration, uint32_t aPosition, ControlPlayStatus aPlayStatus) +{ + +} + +nsresult +BluetoothServiceBluedroid::SendSinkMessage(const nsAString& aDeviceAddresses, + const nsAString& aMessage) +{ + return NS_OK; +} + +nsresult +BluetoothServiceBluedroid::SendInputMessage(const nsAString& aDeviceAddresses, + const nsAString& aMessage) +{ + return NS_OK; +} + +void +BluetoothServiceBluedroid::AnswerWaitingCall(BluetoothReplyRunnable* aRunnable) +{ +} + +void +BluetoothServiceBluedroid::IgnoreWaitingCall(BluetoothReplyRunnable* aRunnable) +{ +} + +void +BluetoothServiceBluedroid::ToggleCalls(BluetoothReplyRunnable* aRunnable) +{ +} + diff --git a/dom/bluetooth/BluetoothServiceBluedroid.h b/dom/bluetooth/BluetoothServiceBluedroid.h new file mode 100644 index 00000000000..dcb591fe45c --- /dev/null +++ b/dom/bluetooth/BluetoothServiceBluedroid.h @@ -0,0 +1,189 @@ +/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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/. */ + +#ifndef mozilla_dom_bluetooth_bluetoothservicebluedroid_h__ +#define mozilla_dom_bluetooth_bluetoothservicebluedroid_h__ + +#include "BluetoothCommon.h" +#include "BluetoothService.h" + +class DBusMessage; + +BEGIN_BLUETOOTH_NAMESPACE + +class BluetoothServiceBluedroid : public BluetoothService +{ +public: + virtual nsresult StartInternal(); + virtual nsresult StopInternal(); + virtual bool IsEnabledInternal(); + + virtual nsresult GetDefaultAdapterPathInternal( + BluetoothReplyRunnable* aRunnable); + + virtual nsresult GetConnectedDevicePropertiesInternal(uint16_t aProfileId, + BluetoothReplyRunnable* aRunnable); + + virtual nsresult GetPairedDevicePropertiesInternal( + const nsTArray& aDeviceAddress, + BluetoothReplyRunnable* aRunnable); + + virtual nsresult StartDiscoveryInternal(BluetoothReplyRunnable* aRunnable); + virtual nsresult StopDiscoveryInternal(BluetoothReplyRunnable* aRunnable); + + virtual nsresult + GetDevicePropertiesInternal(const BluetoothSignal& aSignal); + + virtual nsresult + SetProperty(BluetoothObjectType aType, + const BluetoothNamedValue& aValue, + BluetoothReplyRunnable* aRunnable); + + virtual bool + GetDevicePath(const nsAString& aAdapterPath, + const nsAString& aDeviceAddress, + nsAString& aDevicePath); + + static bool + AddServiceRecords(const char* serviceName, + unsigned long long uuidMsb, + unsigned long long uuidLsb, + int channel); + + static bool + RemoveServiceRecords(const char* serviceName, + unsigned long long uuidMsb, + unsigned long long uuidLsb, + int channel); + + static bool + AddReservedServicesInternal(const nsTArray& aServices, + nsTArray& aServiceHandlesContainer); + + static bool + RemoveReservedServicesInternal(const nsTArray& aServiceHandles); + + virtual nsresult + GetScoSocket(const nsAString& aObjectPath, + bool aAuth, + bool aEncrypt, + mozilla::ipc::UnixSocketConsumer* aConsumer); + + virtual nsresult + GetServiceChannel(const nsAString& aDeviceAddress, + const nsAString& aServiceUuid, + BluetoothProfileManagerBase* aManager); + + virtual bool + UpdateSdpRecords(const nsAString& aDeviceAddress, + BluetoothProfileManagerBase* aManager); + + virtual nsresult + CreatePairedDeviceInternal(const nsAString& aDeviceAddress, + int aTimeout, + BluetoothReplyRunnable* aRunnable); + + virtual nsresult + RemoveDeviceInternal(const nsAString& aDeviceObjectPath, + BluetoothReplyRunnable* aRunnable); + + virtual bool + SetPinCodeInternal(const nsAString& aDeviceAddress, const nsAString& aPinCode, + BluetoothReplyRunnable* aRunnable); + + virtual bool + SetPasskeyInternal(const nsAString& aDeviceAddress, uint32_t aPasskey, + BluetoothReplyRunnable* aRunnable); + + virtual bool + SetPairingConfirmationInternal(const nsAString& aDeviceAddress, bool aConfirm, + BluetoothReplyRunnable* aRunnable); + + virtual bool + SetAuthorizationInternal(const nsAString& aDeviceAddress, bool aAllow, + BluetoothReplyRunnable* aRunnable); + + virtual nsresult + PrepareAdapterInternal(); + + virtual void + Connect(const nsAString& aDeviceAddress, + uint32_t aCod, + uint16_t aServiceUuid, + BluetoothReplyRunnable* aRunnable); + + virtual bool + IsConnected(uint16_t aProfileId); + + virtual void + Disconnect(const nsAString& aDeviceAddress, uint16_t aServiceUuid, + BluetoothReplyRunnable* aRunnable); + + virtual void + SendFile(const nsAString& aDeviceAddress, + BlobParent* aBlobParent, + BlobChild* aBlobChild, + BluetoothReplyRunnable* aRunnable); + + virtual void + StopSendingFile(const nsAString& aDeviceAddress, + BluetoothReplyRunnable* aRunnable); + + virtual void + ConfirmReceivingFile(const nsAString& aDeviceAddress, bool aConfirm, + BluetoothReplyRunnable* aRunnable); + + virtual void + ConnectSco(BluetoothReplyRunnable* aRunnable); + + virtual void + DisconnectSco(BluetoothReplyRunnable* aRunnable); + + virtual void + IsScoConnected(BluetoothReplyRunnable* aRunnable); + + virtual void + AnswerWaitingCall(BluetoothReplyRunnable* aRunnable); + + virtual void + IgnoreWaitingCall(BluetoothReplyRunnable* aRunnable); + + virtual void + ToggleCalls(BluetoothReplyRunnable* aRunnable); + + virtual void + SendMetaData(const nsAString& aTitle, + const nsAString& aArtist, + const nsAString& aAlbum, + int64_t aMediaNumber, + int64_t aTotalMediaCount, + int64_t aDuration, + BluetoothReplyRunnable* aRunnable) MOZ_OVERRIDE; + + virtual void + SendPlayStatus(int64_t aDuration, + int64_t aPosition, + const nsAString& aPlayStatus, + BluetoothReplyRunnable* aRunnable) MOZ_OVERRIDE; + + virtual void + UpdatePlayStatus(uint32_t aDuration, + uint32_t aPosition, + ControlPlayStatus aPlayStatus) MOZ_OVERRIDE; + + virtual nsresult + SendSinkMessage(const nsAString& aDeviceAddresses, + const nsAString& aMessage) MOZ_OVERRIDE; + + virtual nsresult + SendInputMessage(const nsAString& aDeviceAddresses, + const nsAString& aMessage) MOZ_OVERRIDE; +}; + +END_BLUETOOTH_NAMESPACE + +#endif + diff --git a/dom/bluetooth/moz.build b/dom/bluetooth/moz.build index 1dd0297e661..f656399004e 100644 --- a/dom/bluetooth/moz.build +++ b/dom/bluetooth/moz.build @@ -52,15 +52,20 @@ if CONFIG['MOZ_B2G_BT']: 'BluetoothRilListener.cpp', ] - if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['MOZ_B2G_BT_BLUEZ']: - CPP_SOURCES += [ - 'linux/BluetoothDBusService.cpp', - 'gonk/BluetoothGonkService.cpp', - ] + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': + if CONFIG['MOZ_B2G_BT_BLUEZ']: + CPP_SOURCES += [ + 'linux/BluetoothDBusService.cpp', + 'gonk/BluetoothGonkService.cpp', + ] + if CONFIG['MOZ_B2G_BT_BLUEDROID']: + CPP_SOURCES += [ + 'BluetoothServiceBluedroid.cpp', + ] else: if CONFIG['MOZ_ENABLE_DBUS']: CPP_SOURCES += [ - 'linux/BluetoothDBusService.cpp', + 'linux/BluetoothDBusService.cpp', ] EXPORTS.mozilla.dom.bluetooth.ipc += [ From e42978a4867226e1218f901ce9f0052c33e7b3d6 Mon Sep 17 00:00:00 2001 From: Eric Chou Date: Sat, 19 Oct 2013 15:52:35 +0800 Subject: [PATCH 17/43] Backed out changeset e09e6815a873 (bug 928214) for crashing Settings app --- dom/bluetooth/BluetoothService.cpp | 8 +- dom/bluetooth/BluetoothServiceBluedroid.cpp | 341 -------------------- dom/bluetooth/BluetoothServiceBluedroid.h | 189 ----------- dom/bluetooth/moz.build | 17 +- 4 files changed, 8 insertions(+), 547 deletions(-) delete mode 100644 dom/bluetooth/BluetoothServiceBluedroid.cpp delete mode 100644 dom/bluetooth/BluetoothServiceBluedroid.h diff --git a/dom/bluetooth/BluetoothService.cpp b/dom/bluetooth/BluetoothService.cpp index ec8f5d8323d..6739dc84180 100644 --- a/dom/bluetooth/BluetoothService.cpp +++ b/dom/bluetooth/BluetoothService.cpp @@ -44,10 +44,8 @@ #if defined(MOZ_B2G_BT) # if defined(MOZ_BLUETOOTH_GONK) -#ifdef MOZ_B2G_BT_BLUEZ +#ifndef MOZ_B2G_BT_BLUEDROID #include "BluetoothGonkService.h" -#else -#include "BluetoothServiceBluedroid.h" #endif # elif defined(MOZ_BLUETOOTH_DBUS) # include "BluetoothDBusService.h" @@ -308,9 +306,7 @@ BluetoothService::Create() #endif #if defined(MOZ_BLUETOOTH_GONK) -#ifdef MOZ_B2G_BT_BLUEDROID - return new BluetoothServiceBluedroid(); -#else +#ifndef MOZ_B2G_BT_BLUEDROID return new BluetoothGonkService(); #endif #elif defined(MOZ_BLUETOOTH_DBUS) diff --git a/dom/bluetooth/BluetoothServiceBluedroid.cpp b/dom/bluetooth/BluetoothServiceBluedroid.cpp deleted file mode 100644 index ba0cd27715d..00000000000 --- a/dom/bluetooth/BluetoothServiceBluedroid.cpp +++ /dev/null @@ -1,341 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- -/* vim: set ts=2 et sw=2 tw=80: */ -/* -** Copyright 2006, The Android Open Source Project -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ - -#include "BluetoothServiceBluedroid.h" -#include "BluetoothReplyRunnable.h" -#include "BluetoothUtils.h" -#include "BluetoothUuid.h" -#include "mozilla/dom/bluetooth/BluetoothTypes.h" -#include "mozilla/ipc/UnixSocket.h" - -using namespace mozilla; -using namespace mozilla::ipc; -USING_BLUETOOTH_NAMESPACE - -nsresult -BluetoothServiceBluedroid::StartInternal() -{ - return NS_OK; -} - -nsresult -BluetoothServiceBluedroid::StopInternal() -{ - return NS_OK; -} - -bool -BluetoothServiceBluedroid::IsEnabledInternal() -{ - return true; -} - -nsresult -BluetoothServiceBluedroid::GetDefaultAdapterPathInternal( - BluetoothReplyRunnable* aRunnable) -{ - return NS_OK; -} - -nsresult -BluetoothServiceBluedroid::GetConnectedDevicePropertiesInternal( - uint16_t aProfileId, BluetoothReplyRunnable* aRunnable) -{ - return NS_OK; - -} - -nsresult -BluetoothServiceBluedroid::GetPairedDevicePropertiesInternal( - const nsTArray& aDeviceAddress, BluetoothReplyRunnable* aRunnable) -{ - return NS_OK; -} - -nsresult -BluetoothServiceBluedroid::StartDiscoveryInternal( - BluetoothReplyRunnable* aRunnable) -{ - return NS_OK; -} - -nsresult -BluetoothServiceBluedroid::StopDiscoveryInternal( - BluetoothReplyRunnable* aRunnable) -{ - return NS_OK; -} - -nsresult -BluetoothServiceBluedroid::GetDevicePropertiesInternal( - const BluetoothSignal& aSignal) -{ - return NS_OK; -} - -nsresult -BluetoothServiceBluedroid::SetProperty(BluetoothObjectType aType, - const BluetoothNamedValue& aValue, - BluetoothReplyRunnable* aRunnable) -{ - return NS_OK; -} - -bool -BluetoothServiceBluedroid::GetDevicePath(const nsAString& aAdapterPath, - const nsAString& aDeviceAddress, - nsAString& aDevicePath) -{ - return true; -} - -bool -BluetoothServiceBluedroid::AddServiceRecords(const char* serviceName, - unsigned long long uuidMsb, - unsigned long long uuidLsb, - int channel) -{ - return true; -} - -bool -BluetoothServiceBluedroid::RemoveServiceRecords(const char* serviceName, - unsigned long long uuidMsb, - unsigned long long uuidLsb, - int channel) -{ - return true; -} - -bool -BluetoothServiceBluedroid::AddReservedServicesInternal( - const nsTArray& aServices, - nsTArray& aServiceHandlesContainer) -{ - return true; - -} - -bool -BluetoothServiceBluedroid::RemoveReservedServicesInternal( - const nsTArray& aServiceHandles) -{ - return true; -} - -nsresult -BluetoothServiceBluedroid::GetScoSocket( - const nsAString& aObjectPath, bool aAuth, bool aEncrypt, - mozilla::ipc::UnixSocketConsumer* aConsumer) -{ - return NS_OK; -} - -nsresult -BluetoothServiceBluedroid::GetServiceChannel( - const nsAString& aDeviceAddress, - const nsAString& aServiceUuid, - BluetoothProfileManagerBase* aManager) -{ - return NS_OK; -} - -bool -BluetoothServiceBluedroid::UpdateSdpRecords( - const nsAString& aDeviceAddress, - BluetoothProfileManagerBase* aManager) -{ - return true; -} - -nsresult -BluetoothServiceBluedroid::CreatePairedDeviceInternal( - const nsAString& aDeviceAddress, int aTimeout, - BluetoothReplyRunnable* aRunnable) -{ - return NS_OK; -} - -nsresult -BluetoothServiceBluedroid::RemoveDeviceInternal( - const nsAString& aDeviceObjectPath, - BluetoothReplyRunnable* aRunnable) -{ - return NS_OK; -} - -bool -BluetoothServiceBluedroid::SetPinCodeInternal( - const nsAString& aDeviceAddress, const nsAString& aPinCode, - BluetoothReplyRunnable* aRunnable) -{ - return true; -} - -bool -BluetoothServiceBluedroid::SetPasskeyInternal( - const nsAString& aDeviceAddress, uint32_t aPasskey, - BluetoothReplyRunnable* aRunnable) -{ - return true; -} - -bool -BluetoothServiceBluedroid::SetPairingConfirmationInternal( - const nsAString& aDeviceAddress, bool aConfirm, - BluetoothReplyRunnable* aRunnable) -{ - return true; -} - -bool -BluetoothServiceBluedroid::SetAuthorizationInternal( - const nsAString& aDeviceAddress, bool aAllow, - BluetoothReplyRunnable* aRunnable) -{ - return true; -} - -nsresult -BluetoothServiceBluedroid::PrepareAdapterInternal() -{ - return NS_OK; -} - -void -BluetoothServiceBluedroid::Connect(const nsAString& aDeviceAddress, - uint32_t aCod, - uint16_t aServiceUuid, - BluetoothReplyRunnable* aRunnable) -{ - -} - -bool -BluetoothServiceBluedroid::IsConnected(uint16_t aProfileId) -{ - return true; -} - -void -BluetoothServiceBluedroid::Disconnect( - const nsAString& aDeviceAddress, uint16_t aServiceUuid, - BluetoothReplyRunnable* aRunnable) -{ - -} - -void -BluetoothServiceBluedroid::SendFile(const nsAString& aDeviceAddress, - BlobParent* aBlobParent, - BlobChild* aBlobChild, - BluetoothReplyRunnable* aRunnable) -{ - -} - -void -BluetoothServiceBluedroid::StopSendingFile(const nsAString& aDeviceAddress, - BluetoothReplyRunnable* aRunnable) -{ - -} - -void -BluetoothServiceBluedroid::ConfirmReceivingFile( - const nsAString& aDeviceAddress, bool aConfirm, - BluetoothReplyRunnable* aRunnable) -{ - -} - -void -BluetoothServiceBluedroid::ConnectSco(BluetoothReplyRunnable* aRunnable) -{ - -} - -void -BluetoothServiceBluedroid::DisconnectSco(BluetoothReplyRunnable* aRunnable) -{ - -} - -void -BluetoothServiceBluedroid::IsScoConnected(BluetoothReplyRunnable* aRunnable) -{ - -} - -void -BluetoothServiceBluedroid::SendMetaData(const nsAString& aTitle, - const nsAString& aArtist, - const nsAString& aAlbum, - int64_t aMediaNumber, - int64_t aTotalMediaCount, - int64_t aDuration, - BluetoothReplyRunnable* aRunnable) -{ - -} - -void -BluetoothServiceBluedroid::SendPlayStatus( - int64_t aDuration, int64_t aPosition, - const nsAString& aPlayStatus, - BluetoothReplyRunnable* aRunnable) -{ - -} - -void -BluetoothServiceBluedroid::UpdatePlayStatus( - uint32_t aDuration, uint32_t aPosition, ControlPlayStatus aPlayStatus) -{ - -} - -nsresult -BluetoothServiceBluedroid::SendSinkMessage(const nsAString& aDeviceAddresses, - const nsAString& aMessage) -{ - return NS_OK; -} - -nsresult -BluetoothServiceBluedroid::SendInputMessage(const nsAString& aDeviceAddresses, - const nsAString& aMessage) -{ - return NS_OK; -} - -void -BluetoothServiceBluedroid::AnswerWaitingCall(BluetoothReplyRunnable* aRunnable) -{ -} - -void -BluetoothServiceBluedroid::IgnoreWaitingCall(BluetoothReplyRunnable* aRunnable) -{ -} - -void -BluetoothServiceBluedroid::ToggleCalls(BluetoothReplyRunnable* aRunnable) -{ -} - diff --git a/dom/bluetooth/BluetoothServiceBluedroid.h b/dom/bluetooth/BluetoothServiceBluedroid.h deleted file mode 100644 index dcb591fe45c..00000000000 --- a/dom/bluetooth/BluetoothServiceBluedroid.h +++ /dev/null @@ -1,189 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * 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/. */ - -#ifndef mozilla_dom_bluetooth_bluetoothservicebluedroid_h__ -#define mozilla_dom_bluetooth_bluetoothservicebluedroid_h__ - -#include "BluetoothCommon.h" -#include "BluetoothService.h" - -class DBusMessage; - -BEGIN_BLUETOOTH_NAMESPACE - -class BluetoothServiceBluedroid : public BluetoothService -{ -public: - virtual nsresult StartInternal(); - virtual nsresult StopInternal(); - virtual bool IsEnabledInternal(); - - virtual nsresult GetDefaultAdapterPathInternal( - BluetoothReplyRunnable* aRunnable); - - virtual nsresult GetConnectedDevicePropertiesInternal(uint16_t aProfileId, - BluetoothReplyRunnable* aRunnable); - - virtual nsresult GetPairedDevicePropertiesInternal( - const nsTArray& aDeviceAddress, - BluetoothReplyRunnable* aRunnable); - - virtual nsresult StartDiscoveryInternal(BluetoothReplyRunnable* aRunnable); - virtual nsresult StopDiscoveryInternal(BluetoothReplyRunnable* aRunnable); - - virtual nsresult - GetDevicePropertiesInternal(const BluetoothSignal& aSignal); - - virtual nsresult - SetProperty(BluetoothObjectType aType, - const BluetoothNamedValue& aValue, - BluetoothReplyRunnable* aRunnable); - - virtual bool - GetDevicePath(const nsAString& aAdapterPath, - const nsAString& aDeviceAddress, - nsAString& aDevicePath); - - static bool - AddServiceRecords(const char* serviceName, - unsigned long long uuidMsb, - unsigned long long uuidLsb, - int channel); - - static bool - RemoveServiceRecords(const char* serviceName, - unsigned long long uuidMsb, - unsigned long long uuidLsb, - int channel); - - static bool - AddReservedServicesInternal(const nsTArray& aServices, - nsTArray& aServiceHandlesContainer); - - static bool - RemoveReservedServicesInternal(const nsTArray& aServiceHandles); - - virtual nsresult - GetScoSocket(const nsAString& aObjectPath, - bool aAuth, - bool aEncrypt, - mozilla::ipc::UnixSocketConsumer* aConsumer); - - virtual nsresult - GetServiceChannel(const nsAString& aDeviceAddress, - const nsAString& aServiceUuid, - BluetoothProfileManagerBase* aManager); - - virtual bool - UpdateSdpRecords(const nsAString& aDeviceAddress, - BluetoothProfileManagerBase* aManager); - - virtual nsresult - CreatePairedDeviceInternal(const nsAString& aDeviceAddress, - int aTimeout, - BluetoothReplyRunnable* aRunnable); - - virtual nsresult - RemoveDeviceInternal(const nsAString& aDeviceObjectPath, - BluetoothReplyRunnable* aRunnable); - - virtual bool - SetPinCodeInternal(const nsAString& aDeviceAddress, const nsAString& aPinCode, - BluetoothReplyRunnable* aRunnable); - - virtual bool - SetPasskeyInternal(const nsAString& aDeviceAddress, uint32_t aPasskey, - BluetoothReplyRunnable* aRunnable); - - virtual bool - SetPairingConfirmationInternal(const nsAString& aDeviceAddress, bool aConfirm, - BluetoothReplyRunnable* aRunnable); - - virtual bool - SetAuthorizationInternal(const nsAString& aDeviceAddress, bool aAllow, - BluetoothReplyRunnable* aRunnable); - - virtual nsresult - PrepareAdapterInternal(); - - virtual void - Connect(const nsAString& aDeviceAddress, - uint32_t aCod, - uint16_t aServiceUuid, - BluetoothReplyRunnable* aRunnable); - - virtual bool - IsConnected(uint16_t aProfileId); - - virtual void - Disconnect(const nsAString& aDeviceAddress, uint16_t aServiceUuid, - BluetoothReplyRunnable* aRunnable); - - virtual void - SendFile(const nsAString& aDeviceAddress, - BlobParent* aBlobParent, - BlobChild* aBlobChild, - BluetoothReplyRunnable* aRunnable); - - virtual void - StopSendingFile(const nsAString& aDeviceAddress, - BluetoothReplyRunnable* aRunnable); - - virtual void - ConfirmReceivingFile(const nsAString& aDeviceAddress, bool aConfirm, - BluetoothReplyRunnable* aRunnable); - - virtual void - ConnectSco(BluetoothReplyRunnable* aRunnable); - - virtual void - DisconnectSco(BluetoothReplyRunnable* aRunnable); - - virtual void - IsScoConnected(BluetoothReplyRunnable* aRunnable); - - virtual void - AnswerWaitingCall(BluetoothReplyRunnable* aRunnable); - - virtual void - IgnoreWaitingCall(BluetoothReplyRunnable* aRunnable); - - virtual void - ToggleCalls(BluetoothReplyRunnable* aRunnable); - - virtual void - SendMetaData(const nsAString& aTitle, - const nsAString& aArtist, - const nsAString& aAlbum, - int64_t aMediaNumber, - int64_t aTotalMediaCount, - int64_t aDuration, - BluetoothReplyRunnable* aRunnable) MOZ_OVERRIDE; - - virtual void - SendPlayStatus(int64_t aDuration, - int64_t aPosition, - const nsAString& aPlayStatus, - BluetoothReplyRunnable* aRunnable) MOZ_OVERRIDE; - - virtual void - UpdatePlayStatus(uint32_t aDuration, - uint32_t aPosition, - ControlPlayStatus aPlayStatus) MOZ_OVERRIDE; - - virtual nsresult - SendSinkMessage(const nsAString& aDeviceAddresses, - const nsAString& aMessage) MOZ_OVERRIDE; - - virtual nsresult - SendInputMessage(const nsAString& aDeviceAddresses, - const nsAString& aMessage) MOZ_OVERRIDE; -}; - -END_BLUETOOTH_NAMESPACE - -#endif - diff --git a/dom/bluetooth/moz.build b/dom/bluetooth/moz.build index f656399004e..1dd0297e661 100644 --- a/dom/bluetooth/moz.build +++ b/dom/bluetooth/moz.build @@ -52,20 +52,15 @@ if CONFIG['MOZ_B2G_BT']: 'BluetoothRilListener.cpp', ] - if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': - if CONFIG['MOZ_B2G_BT_BLUEZ']: - CPP_SOURCES += [ - 'linux/BluetoothDBusService.cpp', - 'gonk/BluetoothGonkService.cpp', - ] - if CONFIG['MOZ_B2G_BT_BLUEDROID']: - CPP_SOURCES += [ - 'BluetoothServiceBluedroid.cpp', - ] + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['MOZ_B2G_BT_BLUEZ']: + CPP_SOURCES += [ + 'linux/BluetoothDBusService.cpp', + 'gonk/BluetoothGonkService.cpp', + ] else: if CONFIG['MOZ_ENABLE_DBUS']: CPP_SOURCES += [ - 'linux/BluetoothDBusService.cpp', + 'linux/BluetoothDBusService.cpp', ] EXPORTS.mozilla.dom.bluetooth.ipc += [ From 78d847180ed2022444e95d472cf39616ec33591f Mon Sep 17 00:00:00 2001 From: Eric Chou Date: Sat, 19 Oct 2013 16:01:25 +0800 Subject: [PATCH 18/43] Backed out changeset 089f015f15bb and e907ab075ec8 (bug 880610) for hitting MOZ_ASSERT --- configure.in | 11 +---------- dom/bluetooth/BluetoothService.cpp | 8 +------- dom/bluetooth/BluetoothUnixSocketConnector.cpp | 16 +++------------- dom/bluetooth/Makefile.in | 8 -------- dom/bluetooth/linux/BluetoothDBusService.h | 8 +++++--- dom/bluetooth/moz.build | 2 +- ipc/moz.build | 2 +- ipc/unixsocket/UnixSocket.h | 4 ++-- toolkit/library/Makefile.in | 2 +- 9 files changed, 15 insertions(+), 46 deletions(-) diff --git a/configure.in b/configure.in index 4faca98e945..18a5c0cb1cc 100644 --- a/configure.in +++ b/configure.in @@ -222,7 +222,6 @@ if test -n "$gonkdir" ; then 15) GONK_INCLUDES="-I$gonkdir/frameworks/base/opengl/include -I$gonkdir/frameworks/base/native/include -I$gonkdir/frameworks/base/include -I$gonkdir/frameworks/base/services/camera -I$gonkdir/frameworks/base/include/media/stagefright -I$gonkdir/frameworks/base/include/media/stagefright/openmax -I$gonkdir/frameworks/base/media/libstagefright/rtsp -I$gonkdir/frameworks/base/media/libstagefright/include -I$gonkdir/external/dbus -I$gonkdir/external/bluetooth/bluez/lib -I$gonkdir/dalvik/libnativehelper/include/nativehelper" MOZ_B2G_BT=1 - MOZ_B2G_BT_BLUEZ=1 MOZ_B2G_CAMERA=1 MOZ_OMX_DECODER=1 AC_SUBST(MOZ_OMX_DECODER) @@ -231,15 +230,9 @@ if test -n "$gonkdir" ; then 17|18) GONK_INCLUDES="-I$gonkdir/frameworks/native/include -I$gonkdir/frameworks/av/include -I$gonkdir/frameworks/av/include/media -I$gonkdir/frameworks/av/include/camera -I$gonkdir/frameworks/native/include/media/openmax -I$gonkdir/frameworks/av/media/libstagefright/include" if test -d "$gonkdir/external/bluetooth/bluez"; then - GONK_INCLUDES="$GONK_INCLUDES -I$gonkdir/external/dbus -I$gonkdir/external/bluetooth/bluez/lib" + GONK_INCLUDES+=" -I$gonkdir/external/dbus -I$gonkdir/external/bluetooth/bluez/lib" MOZ_B2G_BT=1 - MOZ_B2G_BT_BLUEZ=1 fi - if test -d "$gonkdir/external/bluetooth/bluedroid"; then - MOZ_B2G_BT=1 - MOZ_B2G_BT_BLUEDROID=1 - fi - MOZ_B2G_CAMERA=1 MOZ_OMX_DECODER=1 AC_SUBST(MOZ_OMX_DECODER) @@ -7295,8 +7288,6 @@ if test -n "$MOZ_B2G_BT"; then AC_DEFINE(MOZ_B2G_BT) fi AC_SUBST(MOZ_B2G_BT) -AC_SUBST(MOZ_B2G_BT_BLUEZ) -AC_SUBST(MOZ_B2G_BT_BLUEDROID) dnl ======================================================== dnl = Enable Pico Speech Synthesis (Gonk usually) diff --git a/dom/bluetooth/BluetoothService.cpp b/dom/bluetooth/BluetoothService.cpp index 6739dc84180..15351556fdb 100644 --- a/dom/bluetooth/BluetoothService.cpp +++ b/dom/bluetooth/BluetoothService.cpp @@ -44,9 +44,7 @@ #if defined(MOZ_B2G_BT) # if defined(MOZ_BLUETOOTH_GONK) -#ifndef MOZ_B2G_BT_BLUEDROID -#include "BluetoothGonkService.h" -#endif +# include "BluetoothGonkService.h" # elif defined(MOZ_BLUETOOTH_DBUS) # include "BluetoothDBusService.h" # else @@ -306,13 +304,9 @@ BluetoothService::Create() #endif #if defined(MOZ_BLUETOOTH_GONK) -#ifndef MOZ_B2G_BT_BLUEDROID return new BluetoothGonkService(); -#endif #elif defined(MOZ_BLUETOOTH_DBUS) -#ifdef MOZ_B2G_BT_BLUEZ return new BluetoothDBusService(); -#endif #endif BT_WARNING("No platform support for bluetooth!"); return nullptr; diff --git a/dom/bluetooth/BluetoothUnixSocketConnector.cpp b/dom/bluetooth/BluetoothUnixSocketConnector.cpp index 3e4c38e5f64..1cd1859aef8 100644 --- a/dom/bluetooth/BluetoothUnixSocketConnector.cpp +++ b/dom/bluetooth/BluetoothUnixSocketConnector.cpp @@ -27,12 +27,11 @@ #include #include -#ifdef MOZ_B2G_BT_BLUEZ #include #include #include #include -#endif + #include "BluetoothUnixSocketConnector.h" #include "nsThreadUtils.h" @@ -44,7 +43,6 @@ static const int L2CAP_SO_SNDBUF = 400 * 1024; // 400 KB send buffer static const int L2CAP_SO_RCVBUF = 400 * 1024; // 400 KB receive buffer static const int L2CAP_MAX_MTU = 65000; -#ifdef MOZ_B2G_BT_BLUEZ static int get_bdaddr(const char *str, bdaddr_t *ba) { @@ -64,8 +62,6 @@ void get_bdaddr_as_string(const bdaddr_t *ba, char *str) { b[5], b[4], b[3], b[2], b[1], b[0]); } -#endif - BluetoothUnixSocketConnector::BluetoothUnixSocketConnector( BluetoothSocketType aType, int aChannel, @@ -80,7 +76,6 @@ BluetoothUnixSocketConnector::BluetoothUnixSocketConnector( bool BluetoothUnixSocketConnector::SetUp(int aFd) { -#ifdef MOZ_B2G_BT_BLUEZ int lm = 0; int sndbuf, rcvbuf; @@ -162,7 +157,7 @@ BluetoothUnixSocketConnector::SetUp(int aFd) } } } -#endif + return true; } @@ -172,7 +167,6 @@ BluetoothUnixSocketConnector::Create() MOZ_ASSERT(!NS_IsMainThread()); int fd = -1; -#ifdef MOZ_B2G_BT_BLUEZ switch (mType) { case BluetoothSocketType::RFCOMM: fd = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); @@ -199,7 +193,7 @@ BluetoothUnixSocketConnector::Create() BT_WARNING("Could not set up socket!"); return -1; } -#endif + return fd; } @@ -209,7 +203,6 @@ BluetoothUnixSocketConnector::CreateAddr(bool aIsServer, sockaddr_any& aAddr, const char* aAddress) { -#ifdef MOZ_B2G_BT_BLUEZ // Set to BDADDR_ANY, if it's not a server, we'll reset. bdaddr_t bd_address_obj = {{0, 0, 0, 0, 0, 0}}; @@ -249,7 +242,6 @@ BluetoothUnixSocketConnector::CreateAddr(bool aIsServer, BT_WARNING("Socket type unknown!"); return false; } -#endif return true; } @@ -257,7 +249,6 @@ void BluetoothUnixSocketConnector::GetSocketAddr(const sockaddr_any& aAddr, nsAString& aAddrStr) { -#ifdef MOZ_B2G_BT_BLUEZ char addr[18]; switch (mType) { case BluetoothSocketType::RFCOMM: @@ -274,5 +265,4 @@ BluetoothUnixSocketConnector::GetSocketAddr(const sockaddr_any& aAddr, MOZ_CRASH("Socket should be either RFCOMM or SCO!"); } aAddrStr.AssignASCII(addr); -#endif } diff --git a/dom/bluetooth/Makefile.in b/dom/bluetooth/Makefile.in index ac9b049ce9b..51c58e312a2 100644 --- a/dom/bluetooth/Makefile.in +++ b/dom/bluetooth/Makefile.in @@ -36,14 +36,6 @@ DEFINES += -DMOZ_BLUETOOTH_DBUS endif endif -ifdef MOZ_B2G_BT_BLUEZ -DEFINES += -DMOZ_B2G_BT_BLUEZ -endif - -ifdef MOZ_B2G_BT_BLUEDROID -DEFINES += -DMOZ_B2G_BT_BLUEDROID -endif - # Add VPATH to LOCAL_INCLUDES so we are going to include the correct backend # subdirectory. LOCAL_INCLUDES += $(VPATH:%=-I%) diff --git a/dom/bluetooth/linux/BluetoothDBusService.h b/dom/bluetooth/linux/BluetoothDBusService.h index 2ef61e9b159..e3f65194ed7 100644 --- a/dom/bluetooth/linux/BluetoothDBusService.h +++ b/dom/bluetooth/linux/BluetoothDBusService.h @@ -24,9 +24,6 @@ BEGIN_BLUETOOTH_NAMESPACE class BluetoothDBusService : public BluetoothService { public: - BluetoothDBusService(); - ~BluetoothDBusService(); - bool IsReady(); virtual nsresult StartInternal() MOZ_OVERRIDE; @@ -171,6 +168,11 @@ public: virtual nsresult SendInputMessage(const nsAString& aDeviceAddresses, const nsAString& aMessage) MOZ_OVERRIDE; + +protected: + BluetoothDBusService(); + ~BluetoothDBusService(); + private: /** * For DBus Control method of "UpdateNotification", event id should be diff --git a/dom/bluetooth/moz.build b/dom/bluetooth/moz.build index 1dd0297e661..3167f03bf4b 100644 --- a/dom/bluetooth/moz.build +++ b/dom/bluetooth/moz.build @@ -52,7 +52,7 @@ if CONFIG['MOZ_B2G_BT']: 'BluetoothRilListener.cpp', ] - if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['MOZ_B2G_BT_BLUEZ']: + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': CPP_SOURCES += [ 'linux/BluetoothDBusService.cpp', 'gonk/BluetoothGonkService.cpp', diff --git a/ipc/moz.build b/ipc/moz.build index 7b9711ced12..2fe3de5f942 100644 --- a/ipc/moz.build +++ b/ipc/moz.build @@ -14,7 +14,7 @@ DIRS += [ if CONFIG['MOZ_B2G_RIL']: DIRS += ['ril'] -if CONFIG['MOZ_B2G_BT_BLUEZ']: +if CONFIG['MOZ_B2G_BT']: DIRS += ['dbus'] if CONFIG['MOZ_B2G_RIL'] or CONFIG['MOZ_B2G_BT']: diff --git a/ipc/unixsocket/UnixSocket.h b/ipc/unixsocket/UnixSocket.h index d1df680639c..006826e2373 100644 --- a/ipc/unixsocket/UnixSocket.h +++ b/ipc/unixsocket/UnixSocket.h @@ -12,7 +12,7 @@ #include #include #include -#ifdef MOZ_B2G_BT_BLUEZ +#ifdef MOZ_B2G_BT #include #include #include @@ -31,7 +31,7 @@ union sockaddr_any { sockaddr_un un; sockaddr_in in; sockaddr_in6 in6; -#ifdef MOZ_B2G_BT_BLUEZ +#ifdef MOZ_B2G_BT sockaddr_sco sco; sockaddr_rc rc; sockaddr_l2 l2; diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in index 80b4dc72f4a..8407073c2fb 100644 --- a/toolkit/library/Makefile.in +++ b/toolkit/library/Makefile.in @@ -89,7 +89,7 @@ ifdef MOZ_B2G_RIL #{ STATIC_LIBS += mozril_s endif #} -ifdef MOZ_B2G_BT_BLUEZ #{ +ifdef MOZ_B2G_BT #{ STATIC_LIBS += mozdbus_s ifeq (gonk,$(MOZ_WIDGET_TOOLKIT)) OS_LIBS += -ldbus From 2ea5e22f1c3f1e1675a3326939fe12f67bcb1a78 Mon Sep 17 00:00:00 2001 From: Dave Hylands Date: Fri, 18 Oct 2013 20:21:52 -0700 Subject: [PATCH 19/43] Bug 928558 - AutoMounter mark volumes as shared a bit early when open files are detected. r=qDot --- dom/system/gonk/AutoMounter.cpp | 53 ++++++++++++++++++++++++++--- dom/system/gonk/Volume.cpp | 8 +++++ dom/system/gonk/nsVolume.cpp | 6 ++++ dom/system/gonk/nsVolume.h | 7 ++-- dom/system/gonk/nsVolumeService.cpp | 2 +- 5 files changed, 68 insertions(+), 8 deletions(-) diff --git a/dom/system/gonk/AutoMounter.cpp b/dom/system/gonk/AutoMounter.cpp index eaa9dd344d2..e48a1407e70 100644 --- a/dom/system/gonk/AutoMounter.cpp +++ b/dom/system/gonk/AutoMounter.cpp @@ -316,11 +316,37 @@ AutoMounterResponseCallback::ResponseReceived(const VolumeCommand* aCommand) } } +class AutoBool { +public: + explicit AutoBool(bool &aBool) : mBool(aBool) { + mBool = true; + } + + ~AutoBool() { + mBool = false; + } + +private: + bool &mBool; +}; + /***************************************************************************/ void AutoMounter::UpdateState() { + static bool inUpdateState = false; + if (inUpdateState) { + // When UpdateState calls SetISharing, this causes a volume state + // change to occur, which would normally cause UpdateState to be called + // again. We want the volume state change to go out (so that device + // storage will see the change in sharing state), but since we're + // already in UpdateState we just want to prevent recursion from screwing + // things up. + return; + } + AutoBool inUpdateStateDetector(inUpdateState); + MOZ_ASSERT(MessageLoop::current() == XRE_GetIOMessageLoop()); // If the following preconditions are met: @@ -379,6 +405,7 @@ AutoMounter::UpdateState() umsAvail, umsEnabled, mMode, usbCablePluggedIn, tryToShare); bool filesOpen = false; + static unsigned filesOpenDelayCount = 0; VolumeArray::index_type volIndex; VolumeArray::size_type numVolumes = VolumeManager::NumVolumes(); for (volIndex = 0; volIndex < numVolumes; volIndex++) { @@ -413,6 +440,12 @@ AutoMounter::UpdateState() break; } + // Mark the volume as if we've started sharing. This will cause + // apps which watch device storage notifications to see the volume + // go into the shared state, and prompt them to close any open files + // that they might have. + vol->SetIsSharing(true); + // Check to see if there are any open files on the volume and // don't initiate the unmount while there are open files. OpenFileFinder::Info fileInfo; @@ -431,15 +464,26 @@ AutoMounter::UpdateState() LOGW("UpdateState: Mounted volume %s has open files, not sharing", vol->NameStr()); - // Check again in 5 seconds to see if the files are closed. Since - // we're trying to share the volume, this implies that we're + // Check again in a few seconds to see if the files are closed. + // Since we're trying to share the volume, this implies that we're // plugged into the PC via USB and this in turn implies that the // battery is charging, so we don't need to be too concerned about // wasting battery here. + // + // If we just detected that there were files open, then we use + // a short timer. We will have told the apps that we're trying + // trying to share, and they'll be closing their files. This makes + // the sharing more responsive. If after a few seconds, the apps + // haven't closed their files, then we back off. + + int delay = 1000; + if (filesOpenDelayCount > 10) { + delay = 5000; + } MessageLoopForIO::current()-> PostDelayedTask(FROM_HERE, NewRunnableMethod(this, &AutoMounter::UpdateState), - 5000); + delay); filesOpen = true; break; } @@ -447,7 +491,6 @@ AutoMounter::UpdateState() // Volume is mounted, we need to unmount before // we can share. LOG("UpdateState: Unmounting %s", vol->NameStr()); - vol->SetIsSharing(true); vol->StartUnmount(mResponseCallback); return; // UpdateState will be called again when the Unmount command completes } @@ -488,8 +531,10 @@ AutoMounter::UpdateState() int32_t status = AUTOMOUNTER_STATUS_DISABLED; if (filesOpen) { + filesOpenDelayCount++; status = AUTOMOUNTER_STATUS_FILES_OPEN; } else if (enabled) { + filesOpenDelayCount = 0; status = AUTOMOUNTER_STATUS_ENABLED; } SetAutoMounterStatus(status); diff --git a/dom/system/gonk/Volume.cpp b/dom/system/gonk/Volume.cpp index 532be04c078..dcde08c2c16 100644 --- a/dom/system/gonk/Volume.cpp +++ b/dom/system/gonk/Volume.cpp @@ -68,7 +68,15 @@ Volume::Volume(const nsCSubstring& aName) void Volume::SetIsSharing(bool aIsSharing) { + if (aIsSharing == mIsSharing) { + return; + } mIsSharing = aIsSharing; + LOG("Volume %s: IsSharing set to %d state %s", + NameStr(), (int)mIsSharing, StateStr(mState)); + if (mIsSharing) { + mEventObserverList.Broadcast(this); + } } void diff --git a/dom/system/gonk/nsVolume.cpp b/dom/system/gonk/nsVolume.cpp index 67061a5d1d0..e7bbe154354 100644 --- a/dom/system/gonk/nsVolume.cpp +++ b/dom/system/gonk/nsVolume.cpp @@ -95,6 +95,12 @@ bool nsVolume::Equals(nsIVolume* aVolume) return false; } + bool isSharing; + aVolume->GetIsSharing(&isSharing); + if (mIsSharing != isSharing) { + return false; + } + return true; } diff --git a/dom/system/gonk/nsVolume.h b/dom/system/gonk/nsVolume.h index b77ae3a4be2..5b01e26f967 100644 --- a/dom/system/gonk/nsVolume.h +++ b/dom/system/gonk/nsVolume.h @@ -71,6 +71,10 @@ public: int32_t State() const { return mState; } const char* StateStr() const { return NS_VolumeStateStr(mState); } + bool IsFake() const { return mIsFake; } + bool IsMediaPresent() const { return mIsMediaPresent; } + bool IsSharing() const { return mIsSharing; } + typedef nsTArray > Array; private: @@ -80,9 +84,6 @@ private: void UpdateMountLock(const nsAString& aMountLockState); void UpdateMountLock(bool aMountLocked); - bool IsFake() const { return mIsFake; } - bool IsMediaPresent() const { return mIsMediaPresent; } - bool IsSharing() const { return mIsSharing; } void SetIsFake(bool aIsFake); void SetState(int32_t aState); diff --git a/dom/system/gonk/nsVolumeService.cpp b/dom/system/gonk/nsVolumeService.cpp index 8e87c0008bb..fdf7cc20924 100644 --- a/dom/system/gonk/nsVolumeService.cpp +++ b/dom/system/gonk/nsVolumeService.cpp @@ -454,7 +454,7 @@ nsVolumeService::UpdateVolumeIOThread(const Volume* aVolume) "media %d sharing %d", aVolume->NameStr(), aVolume->StateStr(), aVolume->MountPoint().get(), aVolume->MountGeneration(), (int)aVolume->IsMountLocked(), - (int)aVolume->IsMediaPresent(), (int)aVolume->IsSharing()); + (int)aVolume->MediaPresent(), (int)aVolume->IsSharing()); MOZ_ASSERT(MessageLoop::current() == XRE_GetIOMessageLoop()); NS_DispatchToMainThread(new UpdateVolumeRunnable(this, aVolume)); } From 853c0724a6d2dcdbdc3650f357d30cbf0f272fad Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sat, 19 Oct 2013 07:00:24 -0700 Subject: [PATCH 20/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/796d5bddde1f Author: Francisco Jordano Desc: Merge pull request #12752 from arcturus/bug-914191-1 Bug 914191 - [Contacts] Import contacts from SD card make phone not enter sleep. ======== https://hg.mozilla.org/integration/gaia-central/rev/22cfa510129c Author: Francisco Jordano Desc: Bug 914191 - [Contacts] Import contacts from SD card make phone not enter sleep. --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 88aa29c198a..2f058c66a3c 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "ee0e0dc1bbdd9b8e4af1e2c9d372506749b572d1", + "revision": "796d5bddde1fb4fa70811503e66a437d6478a211", "repo_path": "/integration/gaia-central" } From 7a48b54b45dd0732160dfdedac81d69e993ef428 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sat, 19 Oct 2013 14:05:23 -0700 Subject: [PATCH 21/43] Bumping gaia.json for 3 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/74a4c9c58bbb Author: Julien Wajsberg Desc: Merge pull request #12897 from julienw/927470-executable-git-hook Bug 927470 - Force the executable bit for the git pre-commit hook r=rik ======== https://hg.mozilla.org/integration/gaia-central/rev/092d4f56aedc Author: Julien Wajsberg Desc: Bug 927470 - Force the executable bit for the git pre-commit hook r=rik ======== https://hg.mozilla.org/integration/gaia-central/rev/1bd926678e9a Author: Ben Kelly Desc: Revert "Merge pull request #12322 from davidflanagan/autocorrect-config" This reverts commit 38456b0b9ee903e597d2a2fd949c10fd673e1993, reversing changes made to 6b0a8108eac92ab3b5e73946c57f750fe8744356. --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 2f058c66a3c..e7da83c3113 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "796d5bddde1fb4fa70811503e66a437d6478a211", + "revision": "74a4c9c58bbbdf6610d597fa6f09db1ea93c2236", "repo_path": "/integration/gaia-central" } From 623db37a771babf5544dd94f04d1a14e1f072c93 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sat, 19 Oct 2013 14:05:46 -0700 Subject: [PATCH 22/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/4b4766c317a5 Author: Francisco Borja Salguero Castellano Desc: Merge pull request #12497 from borjasalguero/customization_ringtone Bug 891730 - [User Story] Ringtone Runtime Customization by SIM r=salva ======== https://hg.mozilla.org/integration/gaia-central/rev/01c8594625ec Author: borjasalguero Desc: Bug 891730 - [User Story] Ringtone Runtime Customization by SIM r=salva --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index e7da83c3113..469b18e5067 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "74a4c9c58bbbdf6610d597fa6f09db1ea93c2236", + "revision": "4b4766c317a5b429993580d2cdc0e80f28e656c6", "repo_path": "/integration/gaia-central" } From 67ec296787c780ddbb7fe79d62b298160b706eb2 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sat, 19 Oct 2013 14:18:32 -0700 Subject: [PATCH 23/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/464bfafbe960 Author: Pavel Ivanov Desc: Merge pull request #12907 from pivanov/bug-917895 Bug 917895 - [Email] Update Unread Count Banner ======== https://hg.mozilla.org/integration/gaia-central/rev/6057eebf02d3 Author: Pavel Ivanov Desc: Bug 917895 - [Email] Update Unread Count Banner --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 469b18e5067..6131a4e3f05 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "4b4766c317a5b429993580d2cdc0e80f28e656c6", + "revision": "464bfafbe96033440614550981d316d90bed220e", "repo_path": "/integration/gaia-central" } From 032f56f21803c5bf23dd5a9c4a517a04067f9c9a Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sat, 19 Oct 2013 14:18:55 -0700 Subject: [PATCH 24/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/0c2ae3f386f2 Author: Pavel Ivanov Desc: Merge pull request #12901 from pivanov/bug-917808 Bug 917808 - [Music] Generic album art overlaps hairline ======== https://hg.mozilla.org/integration/gaia-central/rev/0018198d4ce8 Author: Pavel Ivanov Desc: Bug 917808 - [Music] Generic album art overlaps hairline --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 6131a4e3f05..c273f144298 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "464bfafbe96033440614550981d316d90bed220e", + "revision": "0c2ae3f386f24604c1f0161e1942b6bbe62d5f38", "repo_path": "/integration/gaia-central" } From d75fbc8ee4843326ac72b0681214472d705ab849 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sat, 19 Oct 2013 17:35:23 -0700 Subject: [PATCH 25/43] Bumping gaia.json for 11 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/b064301cd271 Author: Reuben Morais Desc: Merge pull request #12952 from reubenmorais/contacts-webidl Fix users of the Contacts API to work with WebIDL. r=gwagner ======== https://hg.mozilla.org/integration/gaia-central/rev/7257b71fcffe Author: Reuben Morais Desc: Bug 850430 - Fix test_edit_contact.py to use the mozContact interface correctly. ======== https://hg.mozilla.org/integration/gaia-central/rev/c33f8752ab35 Author: Reuben Morais Desc: Bug 850430 - Fix Contact UI Test to use the mozContacts interface correctly. ======== https://hg.mozilla.org/integration/gaia-central/rev/11b278fca92a Author: Reuben Morais Desc: Fix Gaia UI tests to use the mozContact interface correctly. ======== https://hg.mozilla.org/integration/gaia-central/rev/e517c999d2fd Author: Reuben Morais Desc: Bug 850430 - Fix MockContact members to conform to the mozContact interface. ======== https://hg.mozilla.org/integration/gaia-central/rev/28bd0f314d83 Author: Reuben Morais Desc: Bug 850430 - Fix Data layer use of the old mozContact constructor. ======== https://hg.mozilla.org/integration/gaia-central/rev/2d5f7c49ac64 Author: Reuben Morais Desc: Bug 850430 - Fix Contacts customizer to use the new constructor. ======== https://hg.mozilla.org/integration/gaia-central/rev/ae9cda054275 Author: Reuben Morais Desc: Bug 850430 - Create Date objects when creating a mozContact from JSON. ======== https://hg.mozilla.org/integration/gaia-central/rev/b631bdfb9649 Author: Reuben Morais Desc: Bug 850430 - Fix mock mozContact to conform to the new interface. ======== https://hg.mozilla.org/integration/gaia-central/rev/67f8d352a290 Author: Reuben Morais Desc: Bug 850430 - Fix 'type' properties in fakecontacts.json ======== https://hg.mozilla.org/integration/gaia-central/rev/54158afde2b9 Author: Reuben Morais Desc: Bug 850430 - Switch uses of mozContact to the new constructor. r=gwagner --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index c273f144298..f469db81f31 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "0c2ae3f386f24604c1f0161e1942b6bbe62d5f38", + "revision": "b064301cd27159faeb31cca9c689e2049ea8c6ab", "repo_path": "/integration/gaia-central" } From a6c9ece4eb01612e08df6a2ccc4d258a67d1c443 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sun, 20 Oct 2013 09:25:24 -0700 Subject: [PATCH 26/43] Bumping gaia.json for 1 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/bd6498a514cc Author: Julien Wajsberg Desc: Bug 906316 - Don't download the xulrunner SDK each time we change a branch if their configuration are different r=yurenju,asuth,ochameau This also shows a message when the archive file seems to be corrupted, advising to run "make really-clean". Also changed "make really-clean" to remove all xulrunner related files. We now uncompress the archive directly in a specific directory that should change when we change the URL. We use a dot file inside the xulrunner SDK directory to keep the URL used to download that SDK. Now we can also define XULRUNNER_DIRECTORY from the command-line. If not defined, it will use the default xulrunner-sdk-26/xulrunner-sdk. We can also define XULRUNNER_BASE_DIRECTORY which is the place where the XULRunner SDK will get uncompressed. We export the new XULRUNNER_DIRECTORY variable along with the existing various xulrunner program paths. These paths have been made absolute using make's `abspath` operation. The patch also removes the ./ prefixes to those paths as they're likely useless and prevent from using an absolute path when defining XULRUNNER_DIRECTORY from the command line. This patch also remove the email's build_stage directory when running "make clean". This _will_ make all devs redownload XULRunner, sorry. This make the build fail if submakes fail Also add documentation at the top of the Makefile. --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index f469db81f31..fb4f6adb561 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "b064301cd27159faeb31cca9c689e2049ea8c6ab", + "revision": "bd6498a514cc3bbd5257876fa82d67eba1b0fff1", "repo_path": "/integration/gaia-central" } From e266e639c2cf046f92657f1c6918500f025523d1 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sun, 20 Oct 2013 09:50:23 -0700 Subject: [PATCH 27/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/0acabc6a8619 Author: evelynhung Desc: Merge pull request #12942 from flodolo/bug928347 Bug 928347 - Add missing strings in settings.en-US.properties, r=evelyn ======== https://hg.mozilla.org/integration/gaia-central/rev/844741327628 Author: Francesco Lodolo Desc: Bug 928347 - Add missing strings in settings.en-US.properties All strings have the correct data-l10n-id but strings are not available in the .properties file --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index fb4f6adb561..45206d6d19e 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "bd6498a514cc3bbd5257876fa82d67eba1b0fff1", + "revision": "0acabc6a8619200fc612a3236983ee3f0e8d72da", "repo_path": "/integration/gaia-central" } From bcd6ef217875f0c78a03db6e04517bbd501d0467 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sun, 20 Oct 2013 11:45:24 -0700 Subject: [PATCH 28/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/3d5ae214674b Author: Pavel Ivanov Desc: Merge pull request #12857 from pivanov/bug-917837 Bug 917837 - [Music] Use Full Line Highlights in Album View ======== https://hg.mozilla.org/integration/gaia-central/rev/4e701344b6db Author: Pavel Ivanov Desc: Bug 917837 - [Music] Use Full Line Highlights in Album View --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 45206d6d19e..fe18f5b06a9 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "0acabc6a8619200fc612a3236983ee3f0e8d72da", + "revision": "3d5ae214674b29fc5ce45cfeb429a22636a39999", "repo_path": "/integration/gaia-central" } From a1adc1b606ff0b12ca1248700179ae81b2943865 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sun, 20 Oct 2013 19:51:24 -0700 Subject: [PATCH 29/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/2dc51014b8ae Author: gasolin Desc: Merge pull request #12689 from gasolin/issue-917359 Bug 917359 - Remember my choice is exposed for the getUserMedia dialog, ..., r=alive ======== https://hg.mozilla.org/integration/gaia-central/rev/f8f9f045b8e2 Author: gasolin Desc: Bug 917359 - Remember my choice is exposed for the getUserMedia dialog, but shouldn't be --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index fe18f5b06a9..36f1c8f573f 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "3d5ae214674b29fc5ce45cfeb429a22636a39999", + "revision": "2dc51014b8aed9a34c10a215348e29242387b4e5", "repo_path": "/integration/gaia-central" } From e42d479040f7ff550d05d8a169305adf4ef5d003 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Sun, 20 Oct 2013 21:50:24 -0700 Subject: [PATCH 30/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/eb677c74ff52 Author: Timothy Guan-tin Chien Desc: Merge pull request #12959 from timdream/bug927768 Bug 927768 - Fix incorrect generated CSS transform value in card view, r=timdream ======== https://hg.mozilla.org/integration/gaia-central/rev/e9a1287bc968 Author: ying.xu Desc: Bug 927768 - Fix incorrect generated CSS transform value in card view --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 36f1c8f573f..5f941740df4 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "2dc51014b8aed9a34c10a215348e29242387b4e5", + "revision": "eb677c74ff524e0ab1349efe79e97e325d807c90", "repo_path": "/integration/gaia-central" } From b29a3bfdce8124b204c38e066884ec4fdd861986 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 00:20:24 -0700 Subject: [PATCH 31/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/2172a8ae2e64 Author: Dominic Kuo Desc: Merge pull request #12139 from arasbm/bug-909373-openaudio-activity-save-robustness bug-909373-[Music] open activity saving feature robustness, r=@dominickuo ======== https://hg.mozilla.org/integration/gaia-central/rev/176261f18241 Author: Aras Balali Moghaddam Desc: bug-909373-[Music] open activity saving feature robustness --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 5f941740df4..931041dfea5 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "eb677c74ff524e0ab1349efe79e97e325d807c90", + "revision": "2172a8ae2e6430de33ad0e6f2276f03bfb0ccc0a", "repo_path": "/integration/gaia-central" } From 86a93813d529ac9bad3232f16e092dad5e5e1b41 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 00:45:24 -0700 Subject: [PATCH 32/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/c79ce4a07c3f Author: Jose M. Cantera Desc: Merge pull request #12770 from jmcanterafonseca/fix_924244 Bug 924244 - [B2G][Contacts] After exporting a contact the UI still disp... ======== https://hg.mozilla.org/integration/gaia-central/rev/62678797d5a9 Author: Jose M. Cantera Desc: Bug 924244 - [B2G][Contacts] After exporting a contact the UI still displays Export in the top right --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 931041dfea5..daaf68ee610 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "2172a8ae2e6430de33ad0e6f2276f03bfb0ccc0a", + "revision": "c79ce4a07c3fdcfa4fa2dfdafe022d4791d87e77", "repo_path": "/integration/gaia-central" } From cb2b286c72ed5363b774a0418b08e2bfa1707379 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 00:55:23 -0700 Subject: [PATCH 33/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/83c708eba811 Author: James Lal Desc: Merge pull request #12951 from wanderview/uitest-symlink-b2g Bug 928631: support sym linked b2g in gaia-ui-test ======== https://hg.mozilla.org/integration/gaia-central/rev/48999903b977 Author: Ben Kelly Desc: Bug 928631: support sym linked b2g in gaia-ui-test --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index daaf68ee610..d0f3f0534cc 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "c79ce4a07c3fdcfa4fa2dfdafe022d4791d87e77", + "revision": "83c708eba811e47844c67f9f4ecc5a890f1273b5", "repo_path": "/integration/gaia-central" } From c97ce70b9d9bdfad89c38a5335b466bd72852dc7 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 01:41:24 -0700 Subject: [PATCH 34/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/7125c8040844 Author: Jan Jongboom Desc: Merge pull request #12499 from comoyo/keyboard_slide_up Bug 912028 - Background is visible on keyboard pop in. r=RudyL ======== https://hg.mozilla.org/integration/gaia-central/rev/c5f1991f7a3e Author: Jan Jongboom Desc: Bug 912028 - Background is visible on keyboard pop in --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index d0f3f0534cc..9cbfb8dee4a 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "83c708eba811e47844c67f9f4ecc5a890f1273b5", + "revision": "7125c8040844ed3c03f5bbbd424f92781ea67443", "repo_path": "/integration/gaia-central" } From 1b8c0cf234c0088912a5b4c504a8cc11029a87cd Mon Sep 17 00:00:00 2001 From: Benjamin Smedberg Date: Mon, 21 Oct 2013 10:33:49 -0400 Subject: [PATCH 35/43] Fixup for bug 927174 - use the preexisting app.support.baseURL pref instead of a custom one --HG-- extra : rebase_source : 90f2f8dc85b9198bca608b46bee037d93a118543 --- browser/app/profile/firefox.js | 2 -- browser/base/content/browser-plugins.js | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index d65467c43a9..c2f3c0228c6 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -675,8 +675,6 @@ pref("plugins.update.notifyUser", false); pref("plugins.click_to_play", true); -pref("plugins.clickToActivateInfo.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/clicktoplay"); - // let all plugins except Flash default to click-to-play pref("plugin.default.state", 1); pref("plugin.state.flash", 2); diff --git a/browser/base/content/browser-plugins.js b/browser/base/content/browser-plugins.js index 59e3f37bbe7..3f56795656e 100644 --- a/browser/base/content/browser-plugins.js +++ b/browser/base/content/browser-plugins.js @@ -705,7 +705,7 @@ var gPluginHandler = { url = Services.blocklist.getPluginBlocklistURL(pluginInfo.pluginTag); } else { - url = Services.urlFormatter.formatURLPref("plugins.clickToActivateInfo.url"); + url = Services.urlFormatter.formatURLPref("app.support.baseURL") + "clicktoplay"; } pluginInfo.detailsLink = url; From c6f66b716d48faed107188298c1bef40141959d5 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 08:15:24 -0700 Subject: [PATCH 36/43] Bumping gaia.json for 4 gaia-central revision(s) a=gaia-bump Truncated some number of revisions since the previous bump. ======== https://hg.mozilla.org/integration/gaia-central/rev/a1cbfe5e2473 Author: Zac Desc: Merge pull request #12969 from zacc/bug_928864 Bug 928864 - Reenable python ui test test_gallery_delete_image.py , Mari... ======== https://hg.mozilla.org/integration/gaia-central/rev/ccf46db548ed Author: Zac Campbell Desc: Bug 928864 - Reenable python ui test test_gallery_delete_image.py , Marionette modal dialog handling repaired ======== https://hg.mozilla.org/integration/gaia-central/rev/fd2544cad200 Author: Zac Desc: Merge pull request #12968 from zacc/bug_928834 Bug 928834 - Python - Change the timing of the base select wrapper to re... ======== https://hg.mozilla.org/integration/gaia-central/rev/33babafa1834 Author: Zac Campbell Desc: Bug 928834 - Python - Change the timing of the base select wrapper to resolve test failure in clock app --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 9cbfb8dee4a..225f5ebe86b 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "7125c8040844ed3c03f5bbbd424f92781ea67443", + "revision": "a1cbfe5e2473f569415af78842b2d63bf2b6c696", "repo_path": "/integration/gaia-central" } From 144eccb20cfd6235a918a3ed283d34696bd60186 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 08:15:47 -0700 Subject: [PATCH 37/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/2b6da8b94135 Author: lissyx Desc: Merge pull request #12916 from lissyx/bug923574 Bug 923574 - Ensure manifest size is valid r=etienne ======== https://hg.mozilla.org/integration/gaia-central/rev/76880157232d Author: Alexandre Lissy Desc: Bug 923574 - Ensure manifest size is valid When installing an application with an invalid/undefined size, the new WebIDL is not happy about this and the notification stays forever. We fix this by checking that the size is effectively defined before setting the max value of the notification. --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 225f5ebe86b..d74efb3a34e 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "a1cbfe5e2473f569415af78842b2d63bf2b6c696", + "revision": "2b6da8b941353bfb3b4055a3a73c308eb5c41fcb", "repo_path": "/integration/gaia-central" } From a073d329a01b633b4804e1da27928e0abb1003b2 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 08:16:09 -0700 Subject: [PATCH 38/43] Bumping gaia.json for 4 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/8c4cb8239031 Author: Ben Kelly Desc: Merge pull request #12970 from wanderview/contacts-merger-email-type Bug 928866: Fix contacts email import for type array. r=arcturus ======== https://hg.mozilla.org/integration/gaia-central/rev/844554e424e2 Author: Ben Kelly Desc: Bug 928866: Fix contacts email import for type array. ======== https://hg.mozilla.org/integration/gaia-central/rev/cae06f1c62aa Author: Ben Kelly Desc: Merge pull request #12972 from wanderview/contacts-webidl-google Bug 928875: Fix google import for webidl mozContacts. r=arcturus ======== https://hg.mozilla.org/integration/gaia-central/rev/558012651b53 Author: Ben Kelly Desc: Bug 928875: Fix google import for webidl mozContacts. --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index d74efb3a34e..aa084c346e4 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "2b6da8b941353bfb3b4055a3a73c308eb5c41fcb", + "revision": "8c4cb8239031a703ef87d8e4e5f6af293cae7abd", "repo_path": "/integration/gaia-central" } From 05b3c1a6545932dbf3784688bcc1ce3ec2ffc2bd Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 08:32:26 -0700 Subject: [PATCH 39/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/5d5eabb095fb Author: Zac Desc: Merge pull request #12978 from teodosia/unxfail-eme-search Bug 927030 - Reenable test_everythingme_search when bug 927023 is fixed ======== https://hg.mozilla.org/integration/gaia-central/rev/5bf38f4bb12c Author: Teodosia Pop Desc: Bug 927030 - Reenable test_everythingme_search when bug 927023 is fixed --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index aa084c346e4..8f4b4f8a08f 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "8c4cb8239031a703ef87d8e4e5f6af293cae7abd", + "revision": "5d5eabb095fb415788f0038a56b59b1d94fb39e7", "repo_path": "/integration/gaia-central" } From d8ff6caa9eaa29d406c9d64c7c61e66e53789e08 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 08:32:51 -0700 Subject: [PATCH 40/43] Bumping gaia.json for 5 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/5f765c6f46f5 Author: Anthony Ricaud Desc: Merge pull request #12975 from Rik/xfail-contacts-928915 Bug 928915 - Mark contacts gaia-ui-tests as xfail until they are fixed. r=zac ======== https://hg.mozilla.org/integration/gaia-central/rev/1518d7712f33 Author: Anthony Ricaud Desc: Bug 928915 - Mark contacts gaia-ui-tests as xfail until they are fixed. ======== https://hg.mozilla.org/integration/gaia-central/rev/db85b6fee428 Author: Julien Wajsberg Desc: Bug 923459 - [Messages] jshint fixes r=rwaldron * down to 6 jshint errors, the remaining errors are due (imho) to issues in jshint * bumped up the jshint version * add a test to test the wbmp decoder ======== https://hg.mozilla.org/integration/gaia-central/rev/87884d9045c2 Author: Ben Kelly Desc: Merge pull request #12979 from wanderview/uitest-delete-contact Bug 928937: Fix contact lookup in test_delete_contact.py r=zac ======== https://hg.mozilla.org/integration/gaia-central/rev/11093c98dd9b Author: Ben Kelly Desc: Bug 928937: Fix contact lookup in test_delete_contact.py --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 8f4b4f8a08f..c7f78e8b9fc 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "5d5eabb095fb415788f0038a56b59b1d94fb39e7", + "revision": "5f765c6f46f59b0730e6dc34edc60159e4263ccd", "repo_path": "/integration/gaia-central" } From e500e9f739f9c6231d5ecd6040382a2cb32d2bc4 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 11:15:24 -0700 Subject: [PATCH 41/43] Bumping gaia.json for 4 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/2e42bc57d96c Author: Ben Kelly Desc: Merge pull request #12981 from wanderview/contacts-delete-search Bug 928939: Check to see if contacts.Search is loaded in delete path. r=arcturus ======== https://hg.mozilla.org/integration/gaia-central/rev/1c76e1fcb4e9 Author: Ben Kelly Desc: Bug 928939: Check to see if contacts.Search is loaded in delete path. ======== https://hg.mozilla.org/integration/gaia-central/rev/e3bfdfdfd6b5 Author: Ben Kelly Desc: Merge pull request #12977 from wanderview/contacts-edit-defobj Bug 928922: Handle null value in contacts edit screen. r=arcturus ======== https://hg.mozilla.org/integration/gaia-central/rev/d8eb91dc37e4 Author: Ben Kelly Desc: Bug 928922: Handle null value in contacts edit screen --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index c7f78e8b9fc..795e6dc754a 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "5f765c6f46f59b0730e6dc34edc60159e4263ccd", + "revision": "2e42bc57d96cf4c130cbe608aa4eef417f0044f5", "repo_path": "/integration/gaia-central" } From 1086c6348ab63604fd11ee74e604eb66b788a782 Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 11:15:49 -0700 Subject: [PATCH 42/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/216a751e109b Author: Ben Kelly Desc: Merge pull request #12962 from reubenmorais/more-webidl-fixes Bug 928635 - Fix handling of array properties in the New Contact form. r=wanderview ======== https://hg.mozilla.org/integration/gaia-central/rev/0f06b2e962b6 Author: Reuben Morais Desc: Bug 928635 - Fix handling of array properties in the New Contact form. r=bkelly --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 795e6dc754a..e2ef998f23f 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "2e42bc57d96cf4c130cbe608aa4eef417f0044f5", + "revision": "216a751e109bd46700d41195c68985beee4ac2af", "repo_path": "/integration/gaia-central" } From f85d79df4b4801488629a24fdb9d3db22075295c Mon Sep 17 00:00:00 2001 From: Gaia Pushbot Date: Mon, 21 Oct 2013 11:16:13 -0700 Subject: [PATCH 43/43] Bumping gaia.json for 2 gaia-central revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/175b7a89aa5f Author: Ben Kelly Desc: Merge pull request #12982 from wanderview/contacts-webidl-sim Bug 928954: Fix contact sim import for webidl changes. r=arcturus ======== https://hg.mozilla.org/integration/gaia-central/rev/f1c802e00fa0 Author: Ben Kelly Desc: Bug 928954: Fix contact sim import for webidl changes --- b2g/config/gaia.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index e2ef998f23f..da2c1f073f9 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "216a751e109bd46700d41195c68985beee4ac2af", + "revision": "175b7a89aa5f39aa2b2263029ab086ac1833a636", "repo_path": "/integration/gaia-central" }