[X2Go-Commits] [pale-moon] 275/294: Merge branch 'master' into default-pref
git-admin at x2go.org
git-admin at x2go.org
Sat Apr 27 08:58:33 CEST 2019
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch upstream/28.5.0
in repository pale-moon.
commit af7e140d4ed8f5bc9a69da2f0338ad3cb1319dec
Merge: 40fc723 51722cd
Author: Ascrod <32915892+Ascrod at users.noreply.github.com>
Date: Thu Apr 18 20:35:10 2019 -0400
Merge branch 'master' into default-pref
application/basilisk/app/profile/basilisk.js | 42 -
.../base/content/aboutaccounts/aboutaccounts.css | 24 -
.../base/content/aboutaccounts/aboutaccounts.js | 538 ------
.../base/content/aboutaccounts/aboutaccounts.xhtml | 112 --
.../base/content/aboutaccounts/images/fox.png | Bin 1951 -> 0 bytes
.../aboutaccounts/images/graphic_sync_intro.png | Bin 6441 -> 0 bytes
.../aboutaccounts/images/graphic_sync_intro at 2x.png | Bin 12852 -> 0 bytes
.../basilisk/base/content/aboutaccounts/main.css | 166 --
.../base/content/aboutaccounts/normalize.css | 402 -----
.../basilisk/base/content/abouthome/aboutHome.css | 4 +
.../base/content/abouthome/aboutHome.xhtml | 2 +
.../basilisk/base/content/browser-context.inc | 14 -
.../basilisk/base/content/browser-doctype.inc | 2 +
.../basilisk/base/content/browser-fxaccounts.js | 314 ----
.../basilisk/base/content/browser-menubar.inc | 34 +-
.../basilisk/base/content/browser-places.js | 13 +-
application/basilisk/base/content/browser-sets.inc | 7 +-
.../basilisk/base/content/browser-syncui.js | 586 +++----
application/basilisk/base/content/browser.css | 12 +
application/basilisk/base/content/browser.js | 37 +-
application/basilisk/base/content/browser.xul | 70 +-
.../basilisk/base/content/global-scripts.inc | 2 -
application/basilisk/base/content/nsContextMenu.js | 5 -
.../basilisk/base/content/sync/customize.css | 28 -
.../basilisk/base/content/sync/customize.js | 25 -
.../basilisk/base/content/sync/customize.xul | 62 -
application/basilisk/base/content/web-panels.xul | 1 -
application/basilisk/base/jar.mn | 35 +-
.../basilisk/components/about/AboutRedirector.cpp | 10 +-
application/basilisk/components/build/nsModule.cpp | 4 +-
.../components/customizableui/CustomizableUI.jsm | 1 -
.../customizableui/CustomizableWidgets.jsm | 138 --
.../customizableui/content/panelUI.inc.xul | 110 --
.../basilisk/components/customizableui/moz.build | 5 +-
application/basilisk/components/moz.build | 7 +-
application/basilisk/components/nsBrowserGlue.js | 119 +-
.../basilisk/components/places/PlacesUIUtils.jsm | 6 +-
application/basilisk/components/places/moz.build | 2 +-
.../components/preferences/in-content/jar.mn | 4 +-
.../preferences/in-content/preferences.js | 2 +
.../preferences/in-content/preferences.xul | 8 +
.../components/preferences/in-content/sync.js | 442 +----
.../components/preferences/in-content/sync.xul | 327 +---
.../sync/aboutSyncTabs-bindings.xml | 0
.../content => components}/sync/aboutSyncTabs.css | 0
.../content => components}/sync/aboutSyncTabs.js | 113 +-
.../content => components}/sync/aboutSyncTabs.xul | 0
.../{base/content => components}/sync/addDevice.js | 0
.../content => components}/sync/addDevice.xul | 2 +-
.../content => components}/sync/genericChange.js | 15 +-
.../content => components}/sync/genericChange.xul | 4 +-
application/basilisk/components/sync/jar.mn | 22 +
.../{base/content => components}/sync/key.xhtml | 2 +-
.../basilisk/components/sync}/moz.build | 7 +-
.../basilisk/components/sync/notification.xml | 129 ++
application/basilisk/components/sync/progress.js | 71 +
.../basilisk/components/sync/progress.xhtml | 55 +
.../{base/content => components}/sync/quota.js | 0
.../{base/content => components}/sync/quota.xul | 0
.../{base/content => components}/sync/setup.js | 35 +-
.../{base/content => components}/sync/setup.xul | 15 +-
.../{base/content => components}/sync/utils.js | 29 +-
.../components/syncedtabs/EventEmitter.jsm | 45 -
.../syncedtabs/SyncedTabsDeckComponent.js | 169 --
.../components/syncedtabs/SyncedTabsDeckStore.js | 60 -
.../components/syncedtabs/SyncedTabsDeckView.js | 116 --
.../components/syncedtabs/SyncedTabsListStore.js | 235 ---
.../components/syncedtabs/TabListComponent.js | 138 --
.../basilisk/components/syncedtabs/TabListView.js | 568 -------
application/basilisk/components/syncedtabs/jar.mn | 7 -
.../basilisk/components/syncedtabs/moz.build | 17 -
.../basilisk/components/syncedtabs/sidebar.js | 30 -
.../basilisk/components/syncedtabs/sidebar.xhtml | 114 --
application/basilisk/components/syncedtabs/util.js | 23 -
application/basilisk/configure.in | 7 +
application/basilisk/installer/allowed-dupes.mn | 2 -
application/basilisk/installer/package-manifest.in | 2 -
.../locales/en-US/chrome/browser/aboutAccounts.dtd | 16 -
.../locales/en-US/chrome/browser/aboutHome.dtd | 4 +
.../locales/en-US/chrome/browser/browser.dtd | 66 +-
.../en-US/chrome/browser/preferences/sync.dtd | 73 +-
.../locales/en-US/chrome/browser/syncBrand.dtd | 1 -
.../locales/en-US/chrome/browser/syncKey.dtd | 8 +-
.../locales/en-US/chrome/browser/syncProgress.dtd | 15 +
.../en-US/chrome/browser/syncQuota.properties | 2 +-
.../locales/en-US/chrome/browser/syncSetup.dtd | 18 +-
.../en-US/chrome/browser/syncSetup.properties | 28 +-
application/basilisk/locales/jar.mn | 12 +-
application/basilisk/modules/AboutHome.jsm | 2 -
application/basilisk/themes/linux/jar.mn | 6 +-
application/basilisk/themes/linux/syncProgress.css | 46 +
.../basilisk/themes/linux/syncedtabs/sidebar.css | 69 -
application/basilisk/themes/osx/jar.mn | 10 +-
application/basilisk/themes/osx/syncProgress.css | 46 +
.../basilisk/themes/osx/syncedtabs/sidebar.css | 154 --
application/basilisk/themes/shared/browser.inc | 2 +-
.../themes/shared/customizableui/panelUI.inc.css | 276 +---
.../basilisk/themes/shared/menupanel.inc.css | 19 +
.../themes/shared/syncedtabs/sidebar.inc.css | 234 ---
.../basilisk/themes/shared/toolbarbuttons.inc.css | 46 +
application/basilisk/themes/windows/jar.mn | 8 +-
.../basilisk/themes/windows/syncProgress.css | 46 +
.../basilisk/themes/windows/syncedtabs/sidebar.css | 132 --
application/palemoon/configure.in | 4 -
mobile/android/app/mobile.js | 12 -
mobile/android/base/android-services.mozbuild | 61 -
.../java/org/mozilla/gecko/push/PushService.java | 24 +-
.../android/base/resources/values-v21/themes.xml | 5 -
mobile/android/chrome/content/aboutAccounts.js | 351 ----
mobile/android/chrome/content/aboutAccounts.xhtml | 83 -
mobile/android/chrome/content/browser.js | 14 -
mobile/android/chrome/jar.mn | 2 -
mobile/android/components/FxAccountsPush.js | 164 --
.../android/components/MobileComponents.manifest | 5 -
mobile/android/components/moz.build | 1 -
mobile/android/config/proguard/proguard.cfg | 2 -
mobile/android/confvars.sh | 2 +-
mobile/android/installer/package-manifest.in | 1 -
mobile/android/modules/Accounts.jsm | 105 +-
mobile/android/modules/FxAccountsWebChannel.jsm | 394 -----
mobile/android/modules/moz.build | 1 -
mobile/android/services/README.txt | 1 -
.../FxAccountAndroidManifest_activities.xml.in | 63 -
.../FxAccountAndroidManifest_permissions.xml.in | 18 -
.../FxAccountAndroidManifest_services.xml.in | 34 -
.../gecko/background/ReadingListConstants.java | 23 -
.../gecko/background/common/EditorBranch.java | 82 -
.../gecko/background/common/GlobalConstants.java | 90 -
.../gecko/background/common/PrefsBranch.java | 83 -
.../gecko/background/common/log/Logger.java | 232 ---
.../log/writers/AndroidLevelCachingLogWriter.java | 132 --
.../common/log/writers/AndroidLogWriter.java | 46 -
.../log/writers/LevelFilteringLogWriter.java | 67 -
.../background/common/log/writers/LogWriter.java | 29 -
.../common/log/writers/PrintLogWriter.java | 77 -
.../common/log/writers/SimpleTagLogWriter.java | 21 -
.../common/log/writers/StringLogWriter.java | 57 -
.../common/log/writers/TagLogWriter.java | 55 -
.../log/writers/ThreadLocalTagLogWriter.java | 25 -
.../common/telemetry/TelemetryWrapper.java | 56 -
.../mozilla/gecko/background/db/CursorDumper.java | 99 --
.../java/org/mozilla/gecko/background/db/Tab.java | 86 -
.../background/fxa/FxAccount20CreateDelegate.java | 52 -
.../background/fxa/FxAccount20LoginDelegate.java | 36 -
.../gecko/background/fxa/FxAccountClient.java | 24 -
.../gecko/background/fxa/FxAccountClient20.java | 914 -----------
.../background/fxa/FxAccountClientException.java | 133 --
.../gecko/background/fxa/FxAccountRemoteError.java | 33 -
.../gecko/background/fxa/FxAccountUtils.java | 217 ---
.../gecko/background/fxa/PasswordStretcher.java | 12 -
.../background/fxa/QuickPasswordStretcher.java | 35 -
.../mozilla/gecko/background/fxa/SkewHandler.java | 111 --
.../fxa/oauth/FxAccountAbstractClient.java | 224 ---
.../oauth/FxAccountAbstractClientException.java | 68 -
.../fxa/oauth/FxAccountOAuthClient10.java | 129 --
.../fxa/oauth/FxAccountOAuthRemoteError.java | 19 -
.../fxa/profile/FxAccountProfileClient10.java | 59 -
.../gecko/background/nativecode/NativeCrypto.java | 60 -
.../background/preferences/PreferenceFragment.java | 326 ----
.../preferences/PreferenceManagerCompat.java | 226 ---
.../java/org/mozilla/gecko/browserid/ASNUtils.java | 82 -
.../mozilla/gecko/browserid/BrowserIDKeyPair.java | 35 -
.../gecko/browserid/DSACryptoImplementation.java | 255 ---
.../mozilla/gecko/browserid/JSONWebTokenUtils.java | 245 ---
.../gecko/browserid/MockMyIDTokenFactory.java | 128 --
.../gecko/browserid/RSACryptoImplementation.java | 182 ---
.../mozilla/gecko/browserid/SigningPrivateKey.java | 41 -
.../gecko/browserid/VerifyingPublicKey.java | 34 -
.../AbstractBrowserIDRemoteVerifierClient.java | 95 --
.../verifier/BrowserIDRemoteVerifierClient10.java | 62 -
.../verifier/BrowserIDRemoteVerifierClient20.java | 58 -
.../verifier/BrowserIDVerifierClient.java | 9 -
.../verifier/BrowserIDVerifierDelegate.java | 13 -
.../verifier/BrowserIDVerifierException.java | 41 -
.../java/org/mozilla/gecko/fxa/AccountLoader.java | 227 ---
.../org/mozilla/gecko/fxa/FirefoxAccounts.java | 222 ---
.../org/mozilla/gecko/fxa/FxAccountConstants.java | 75 -
.../org/mozilla/gecko/fxa/FxAccountDevice.java | 81 -
.../gecko/fxa/FxAccountDeviceRegistrator.java | 282 ----
.../mozilla/gecko/fxa/FxAccountPushHandler.java | 95 --
.../org/mozilla/gecko/fxa/SyncStatusListener.java | 31 -
.../fxa/activities/CustomColorPreference.java | 52 -
.../fxa/activities/FxAccountAbstractActivity.java | 80 -
.../FxAccountConfirmAccountActivityWeb.java | 11 -
.../FxAccountFinishMigratingActivityWeb.java | 11 -
.../activities/FxAccountGetStartedActivityWeb.java | 11 -
.../fxa/activities/FxAccountStatusActivity.java | 228 ---
.../fxa/activities/FxAccountStatusFragment.java | 949 -----------
.../FxAccountUpdateCredentialsActivityWeb.java | 11 -
.../fxa/activities/FxAccountWebFlowActivity.java | 91 --
.../activities/PicassoPreferenceIconTarget.java | 63 -
.../gecko/fxa/authenticator/AccountPickler.java | 362 ----
.../gecko/fxa/authenticator/AndroidFxAccount.java | 929 -----------
.../FxADefaultLoginStateMachineDelegate.java | 84 -
.../fxa/authenticator/FxAccountAuthenticator.java | 385 -----
.../FxAccountAuthenticatorService.java | 55 -
.../fxa/authenticator/FxAccountLoginDelegate.java | 26 -
.../fxa/authenticator/FxAccountLoginException.java | 33 -
.../gecko/fxa/login/BaseRequestDelegate.java | 49 -
.../org/mozilla/gecko/fxa/login/Cohabiting.java | 50 -
.../java/org/mozilla/gecko/fxa/login/Doghouse.java | 25 -
.../java/org/mozilla/gecko/fxa/login/Engaged.java | 91 --
.../fxa/login/FxAccountLoginStateMachine.java | 84 -
.../gecko/fxa/login/FxAccountLoginTransition.java | 68 -
.../java/org/mozilla/gecko/fxa/login/Married.java | 117 --
.../gecko/fxa/login/MigratedFromSync11.java | 28 -
.../org/mozilla/gecko/fxa/login/Separated.java | 25 -
.../java/org/mozilla/gecko/fxa/login/State.java | 72 -
.../org/mozilla/gecko/fxa/login/StateFactory.java | 206 ---
.../gecko/fxa/login/TokensAndKeysState.java | 45 -
.../fxa/receivers/FxAccountDeletedService.java | 154 --
.../fxa/receivers/FxAccountUpgradeReceiver.java | 133 --
.../fxa/sync/FxAccountNotificationManager.java | 114 --
.../gecko/fxa/sync/FxAccountProfileService.java | 107 --
.../gecko/fxa/sync/FxAccountSchedulePolicy.java | 178 --
.../gecko/fxa/sync/FxAccountSyncAdapter.java | 568 -------
.../gecko/fxa/sync/FxAccountSyncDelegate.java | 110 --
.../gecko/fxa/sync/FxAccountSyncService.java | 28 -
.../gecko/fxa/sync/FxAccountSyncStatusHelper.java | 113 --
.../org/mozilla/gecko/fxa/sync/SchedulePolicy.java | 43 -
.../gecko/push/RegisterUserAgentResponse.java | 19 -
.../gecko/push/SubscribeChannelResponse.java | 19 -
.../gecko/push/autopush/AutopushClient.java | 410 -----
.../push/autopush/AutopushClientException.java | 81 -
.../gecko/sync/AlreadySyncingException.java | 22 -
.../org/mozilla/gecko/sync/BackoffHandler.java | 34 -
.../gecko/sync/BadRequiredFieldJSONException.java | 5 -
.../org/mozilla/gecko/sync/CollectionKeys.java | 199 ---
.../org/mozilla/gecko/sync/CommandProcessor.java | 261 ---
.../java/org/mozilla/gecko/sync/CommandRunner.java | 22 -
.../mozilla/gecko/sync/CredentialException.java | 56 -
.../java/org/mozilla/gecko/sync/CryptoRecord.java | 255 ---
.../org/mozilla/gecko/sync/DelayedWorkTracker.java | 69 -
.../org/mozilla/gecko/sync/EngineSettings.java | 31 -
.../org/mozilla/gecko/sync/ExtendedJSONObject.java | 426 -----
.../java/org/mozilla/gecko/sync/GlobalSession.java | 1167 -------------
.../mozilla/gecko/sync/HTTPFailureException.java | 47 -
.../org/mozilla/gecko/sync/InfoCollections.java | 103 --
.../org/mozilla/gecko/sync/InfoConfiguration.java | 93 --
.../java/org/mozilla/gecko/sync/InfoCounts.java | 67 -
.../org/mozilla/gecko/sync/JSONRecordFetcher.java | 145 --
.../org/mozilla/gecko/sync/KeyBundleProvider.java | 11 -
.../java/org/mozilla/gecko/sync/MetaGlobal.java | 372 -----
.../mozilla/gecko/sync/MetaGlobalException.java | 45 -
.../sync/MetaGlobalMissingEnginesException.java | 9 -
.../gecko/sync/MetaGlobalNotSetException.java | 9 -
.../gecko/sync/NoCollectionKeysSetException.java | 16 -
.../gecko/sync/NodeAuthenticationException.java | 16 -
.../mozilla/gecko/sync/NonArrayJSONException.java | 17 -
.../mozilla/gecko/sync/NonObjectJSONException.java | 17 -
.../gecko/sync/NullClusterURLException.java | 16 -
.../mozilla/gecko/sync/PersistedMetaGlobal.java | 86 -
.../mozilla/gecko/sync/PrefsBackoffHandler.java | 59 -
.../main/java/org/mozilla/gecko/sync/README.txt | 1 -
.../sync/Server11PreviousPostFailedException.java | 12 -
.../sync/Server11RecordPostFailedException.java | 12 -
.../sync/SharedPreferencesClientsDataDelegate.java | 121 --
.../mozilla/gecko/sync/Sync11Configuration.java | 84 -
.../org/mozilla/gecko/sync/SyncConfiguration.java | 480 ------
.../gecko/sync/SyncConfigurationException.java | 16 -
.../java/org/mozilla/gecko/sync/SyncConstants.java | 20 -
.../java/org/mozilla/gecko/sync/SyncException.java | 34 -
.../gecko/sync/SynchronizerConfiguration.java | 68 -
.../java/org/mozilla/gecko/sync/ThreadPool.java | 15 -
.../gecko/sync/UnexpectedJSONException.java | 25 -
...nSynchronizerConfigurationVersionException.java | 16 -
.../main/java/org/mozilla/gecko/sync/Utils.java | 575 -------
.../mozilla/gecko/sync/crypto/CryptoException.java | 19 -
.../org/mozilla/gecko/sync/crypto/CryptoInfo.java | 232 ---
.../java/org/mozilla/gecko/sync/crypto/HKDF.java | 128 --
.../sync/crypto/HMACVerificationException.java | 12 -
.../org/mozilla/gecko/sync/crypto/KeyBundle.java | 135 --
.../sync/crypto/MissingCryptoInputException.java | 9 -
.../gecko/sync/crypto/NoKeyBundleException.java | 9 -
.../java/org/mozilla/gecko/sync/crypto/PBKDF2.java | 78 -
.../gecko/sync/crypto/PersistedCrypto5Keys.java | 103 --
.../gecko/sync/delegates/ClientsDataDelegate.java | 28 -
.../gecko/sync/delegates/FreshStartDelegate.java | 10 -
.../sync/delegates/GlobalSessionCallback.java | 49 -
.../sync/delegates/JSONRecordFetchDelegate.java | 19 -
.../gecko/sync/delegates/KeyUploadDelegate.java | 21 -
.../gecko/sync/delegates/MetaGlobalDelegate.java | 15 -
.../gecko/sync/delegates/WipeServerDelegate.java | 10 -
.../middleware/Crypto5MiddlewareRepository.java | 76 -
.../Crypto5MiddlewareRepositorySession.java | 172 --
.../sync/middleware/MiddlewareRepository.java | 22 -
.../middleware/MiddlewareRepositorySession.java | 185 ---
.../net/AbstractBearerTokenAuthHeaderProvider.java | 34 -
.../mozilla/gecko/sync/net/AuthHeaderProvider.java | 30 -
.../org/mozilla/gecko/sync/net/BaseResource.java | 565 -------
.../gecko/sync/net/BaseResourceDelegate.java | 44 -
.../gecko/sync/net/BasicAuthHeaderProvider.java | 51 -
.../gecko/sync/net/BearerAuthHeaderProvider.java | 22 -
.../sync/net/BrowserIDAuthHeaderProvider.java | 23 -
.../gecko/sync/net/ConnectionMonitorThread.java | 44 -
.../sync/net/GzipNonChunkedCompressingEntity.java | 92 --
.../gecko/sync/net/HMACAuthHeaderProvider.java | 257 ---
.../gecko/sync/net/HandleProgressException.java | 15 -
.../gecko/sync/net/HawkAuthHeaderProvider.java | 403 -----
.../gecko/sync/net/HttpResponseObserver.java | 20 -
.../org/mozilla/gecko/sync/net/MozResponse.java | 225 ---
.../java/org/mozilla/gecko/sync/net/Resource.java | 20 -
.../mozilla/gecko/sync/net/ResourceDelegate.java | 55 -
.../org/mozilla/gecko/sync/net/SRPConstants.java | 174 --
.../org/mozilla/gecko/sync/net/SyncResponse.java | 157 --
.../sync/net/SyncStorageCollectionRequest.java | 145 --
.../net/SyncStorageCollectionRequestDelegate.java | 9 -
.../gecko/sync/net/SyncStorageRecordRequest.java | 95 --
.../mozilla/gecko/sync/net/SyncStorageRequest.java | 204 ---
.../gecko/sync/net/SyncStorageRequestDelegate.java | 38 -
.../net/SyncStorageRequestIncrementalDelegate.java | 9 -
.../gecko/sync/net/SyncStorageResponse.java | 85 -
.../mozilla/gecko/sync/net/TLSSocketFactory.java | 62 -
.../sync/net/WBOCollectionRequestDelegate.java | 35 -
.../mozilla/gecko/sync/net/WBORequestDelegate.java | 14 -
.../BookmarkNeedsReparentingException.java | 17 -
.../sync/repositories/BookmarksRepository.java | 16 -
.../ConstrainedServer11Repository.java | 51 -
.../sync/repositories/FetchFailedException.java | 11 -
.../sync/repositories/HashSetStoreTracker.java | 61 -
.../gecko/sync/repositories/HistoryRepository.java | 16 -
.../sync/repositories/IdentityRecordFactory.java | 15 -
.../repositories/InactiveSessionException.java | 17 -
.../repositories/InvalidBookmarkTypeException.java | 17 -
.../sync/repositories/InvalidRequestException.java | 16 -
.../InvalidSessionTransitionException.java | 17 -
.../MultipleRecordsForGuidException.java | 16 -
.../repositories/NoContentProviderException.java | 25 -
.../sync/repositories/NoGuidForIdException.java | 16 -
.../repositories/NoStoreDelegateException.java | 11 -
.../sync/repositories/NullCursorException.java | 17 -
.../sync/repositories/ParentNotFoundException.java | 17 -
.../repositories/ProfileDatabaseException.java | 17 -
.../gecko/sync/repositories/RecordFactory.java | 13 -
.../gecko/sync/repositories/RecordFilter.java | 11 -
.../gecko/sync/repositories/Repository.java | 18 -
.../gecko/sync/repositories/RepositorySession.java | 384 -----
.../sync/repositories/RepositorySessionBundle.java | 55 -
.../sync/repositories/Server11Repository.java | 144 --
.../repositories/Server11RepositorySession.java | 104 --
.../sync/repositories/StoreFailedException.java | 11 -
.../gecko/sync/repositories/StoreTracker.java | 82 -
.../StoreTrackingRepositorySession.java | 102 --
.../AndroidBrowserBookmarksDataAccessor.java | 326 ----
.../android/AndroidBrowserBookmarksRepository.java | 25 -
.../AndroidBrowserBookmarksRepositorySession.java | 1107 -------------
.../android/AndroidBrowserHistoryDataAccessor.java | 188 ---
.../android/AndroidBrowserHistoryRepository.java | 25 -
.../AndroidBrowserHistoryRepositorySession.java | 208 ---
.../android/AndroidBrowserRepository.java | 74 -
.../AndroidBrowserRepositoryDataAccessor.java | 232 ---
.../android/AndroidBrowserRepositorySession.java | 792 ---------
.../android/BookmarksDeletionManager.java | 239 ---
.../android/BookmarksInsertionManager.java | 298 ----
.../android/BrowserContractHelpers.java | 154 --
.../android/CachedSQLiteOpenHelper.java | 62 -
.../sync/repositories/android/ClientsDatabase.java | 252 ---
.../android/ClientsDatabaseAccessor.java | 178 --
.../repositories/android/FennecTabsRepository.java | 383 -----
.../android/FormHistoryRepositorySession.java | 723 --------
.../android/PasswordsRepositorySession.java | 725 --------
.../gecko/sync/repositories/android/RepoUtils.java | 290 ----
.../sync/repositories/android/VisitsHelper.java | 130 --
...eferrableRepositorySessionCreationDelegate.java | 41 -
.../DeferredRepositorySessionBeginDelegate.java | 46 -
...erredRepositorySessionFetchRecordsDelegate.java | 56 -
.../DeferredRepositorySessionFinishDelegate.java | 51 -
.../DeferredRepositorySessionStoreDelegate.java | 57 -
.../delegates/RepositorySessionBeginDelegate.java | 23 -
.../delegates/RepositorySessionCleanDelegate.java | 12 -
.../RepositorySessionCreationDelegate.java | 15 -
.../RepositorySessionFetchRecordsDelegate.java | 27 -
.../delegates/RepositorySessionFinishDelegate.java | 16 -
.../RepositorySessionGuidsSinceDelegate.java | 10 -
.../delegates/RepositorySessionStoreDelegate.java | 23 -
.../delegates/RepositorySessionWipeDelegate.java | 13 -
.../sync/repositories/domain/BookmarkRecord.java | 488 ------
.../repositories/domain/BookmarkRecordFactory.java | 25 -
.../sync/repositories/domain/ClientRecord.java | 231 ---
.../repositories/domain/ClientRecordFactory.java | 17 -
.../repositories/domain/FormHistoryRecord.java | 139 --
.../sync/repositories/domain/HistoryRecord.java | 217 ---
.../repositories/domain/HistoryRecordFactory.java | 25 -
.../sync/repositories/domain/PasswordRecord.java | 205 ---
.../repositories/domain/PasswordRecordFactory.java | 19 -
.../gecko/sync/repositories/domain/Record.java | 308 ----
.../repositories/domain/RecordParseException.java | 14 -
.../gecko/sync/repositories/domain/TabsRecord.java | 153 --
.../repositories/domain/TabsRecordFactory.java | 17 -
.../sync/repositories/domain/VersionConstants.java | 14 -
.../downloaders/BatchingDownloader.java | 310 ----
.../downloaders/BatchingDownloaderDelegate.java | 91 --
.../sync/repositories/uploaders/BatchMeta.java | 165 --
.../repositories/uploaders/BatchingUploader.java | 344 ----
.../repositories/uploaders/BufferSizeTracker.java | 103 --
.../repositories/uploaders/MayUploadProvider.java | 9 -
.../gecko/sync/repositories/uploaders/Payload.java | 66 -
.../uploaders/PayloadUploadDelegate.java | 185 ---
.../uploaders/RecordUploadRunnable.java | 176 --
.../org/mozilla/gecko/sync/setup/Constants.java | 29 -
.../gecko/sync/setup/InvalidSyncKeyException.java | 9 -
.../gecko/sync/setup/activities/ActivityUtils.java | 34 -
.../gecko/sync/setup/activities/WebURLFinder.java | 161 --
.../sync/stage/AbstractNonRepositorySyncStage.java | 26 -
.../stage/AbstractSessionManagingSyncStage.java | 43 -
.../AndroidBrowserBookmarksServerSyncStage.java | 80 -
.../AndroidBrowserHistoryServerSyncStage.java | 74 -
.../gecko/sync/stage/CheckPreconditionsStage.java | 13 -
.../mozilla/gecko/sync/stage/CompletedStage.java | 16 -
.../gecko/sync/stage/EnsureCrypto5KeysStage.java | 192 ---
.../sync/stage/FennecTabsServerSyncStage.java | 40 -
.../sync/stage/FetchInfoCollectionsStage.java | 44 -
.../sync/stage/FetchInfoConfigurationStage.java | 59 -
.../gecko/sync/stage/FetchMetaGlobalStage.java | 79 -
.../sync/stage/FormHistoryServerSyncStage.java | 76 -
.../mozilla/gecko/sync/stage/GlobalSyncStage.java | 93 --
.../gecko/sync/stage/NoSuchStageException.java | 13 -
.../gecko/sync/stage/PasswordsServerSyncStage.java | 38 -
.../stage/SafeConstrainedServer11Repository.java | 110 --
.../mozilla/gecko/sync/stage/ServerSyncStage.java | 627 -------
.../gecko/sync/stage/SyncClientsEngineStage.java | 691 --------
.../gecko/sync/stage/UploadMetaGlobalStage.java | 18 -
.../synchronizer/ConcurrentRecordConsumer.java | 122 --
.../gecko/sync/synchronizer/RecordConsumer.java | 26 -
.../gecko/sync/synchronizer/RecordsChannel.java | 292 ----
.../sync/synchronizer/RecordsChannelDelegate.java | 13 -
.../sync/synchronizer/RecordsConsumerDelegate.java | 23 -
.../sync/synchronizer/SerialRecordConsumer.java | 131 --
.../sync/synchronizer/ServerLocalSynchronizer.java | 18 -
.../ServerLocalSynchronizerSession.java | 78 -
.../synchronizer/SessionNotBegunException.java | 19 -
.../gecko/sync/synchronizer/Synchronizer.java | 105 --
.../sync/synchronizer/SynchronizerDelegate.java | 10 -
.../sync/synchronizer/SynchronizerSession.java | 425 -----
.../synchronizer/SynchronizerSessionDelegate.java | 13 -
.../gecko/sync/synchronizer/UnbundleError.java | 19 -
.../synchronizer/UnexpectedSessionException.java | 26 -
.../gecko/sync/telemetry/TelemetryContract.java | 56 -
.../gecko/tokenserver/TokenServerClient.java | 330 ----
.../tokenserver/TokenServerClientDelegate.java | 19 -
.../gecko/tokenserver/TokenServerException.java | 89 -
.../gecko/tokenserver/TokenServerToken.java | 19 -
.../java/org/mozilla/gecko/util/PRNGFixes.java | 339 ----
.../res/drawable-hdpi/fxaccount_sync_error.png | Bin 543 -> 0 bytes
.../main/res/drawable-hdpi/sync_avatar_default.png | Bin 5146 -> 0 bytes
.../src/main/res/drawable-hdpi/sync_desktop.png | Bin 196 -> 0 bytes
.../res/drawable-hdpi/sync_desktop_inactive.png | Bin 211 -> 0 bytes
.../src/main/res/drawable-hdpi/sync_mobile.png | Bin 163 -> 0 bytes
.../res/drawable-hdpi/sync_mobile_inactive.png | Bin 165 -> 0 bytes
.../src/main/res/drawable-hdpi/sync_promo.png | Bin 994 -> 0 bytes
.../res/drawable-xhdpi/fxaccount_sync_error.png | Bin 716 -> 0 bytes
.../src/main/res/drawable-xhdpi/sync_desktop.png | Bin 229 -> 0 bytes
.../res/drawable-xhdpi/sync_desktop_inactive.png | Bin 244 -> 0 bytes
.../src/main/res/drawable-xhdpi/sync_mobile.png | Bin 210 -> 0 bytes
.../res/drawable-xhdpi/sync_mobile_inactive.png | Bin 215 -> 0 bytes
.../src/main/res/drawable-xhdpi/sync_promo.png | Bin 1236 -> 0 bytes
.../res/drawable-xxhdpi/fxaccount_sync_error.png | Bin 1070 -> 0 bytes
.../res/drawable-xxhdpi/sync_avatar_default.png | Bin 11124 -> 0 bytes
.../src/main/res/drawable-xxhdpi/sync_desktop.png | Bin 339 -> 0 bytes
.../res/drawable-xxhdpi/sync_desktop_inactive.png | Bin 363 -> 0 bytes
.../src/main/res/drawable-xxhdpi/sync_mobile.png | Bin 246 -> 0 bytes
.../res/drawable-xxhdpi/sync_mobile_inactive.png | Bin 249 -> 0 bytes
.../layout/fxaccount_preference_list_fragment.xml | 40 -
.../layout/fxaccount_status_error_preference.xml | 66 -
.../src/main/res/layout/homescreen_prompt.xml | 92 --
.../src/main/res/layout/simple_helper_ui.xml | 61 -
.../src/main/res/menu/fxaccount_status_menu.xml | 8 -
.../src/main/res/values-v11/fxaccount_styles.xml | 21 -
.../src/main/res/values/fxaccount_colors.xml | 9 -
.../src/main/res/values/fxaccount_dimens.xml | 18 -
.../src/main/res/values/fxaccount_styles.xml | 27 -
.../src/main/res/xml/fxaccount_authenticator.xml | 11 -
.../src/main/res/xml/fxaccount_options.xml | 18 -
.../main/res/xml/fxaccount_status_prefscreen.xml | 142 --
.../src/main/res/xml/fxaccount_syncadapter.xml | 12 -
mobile/android/services/strings.xml.in | 86 -
modules/libpref/Preferences.cpp | 2 -
modules/libpref/init/all.js | 3 -
netwerk/base/nsFileStreams.cpp | 6 +-
old-configure.in | 7 -
services/cloudsync/CloudSync.jsm | 89 -
services/cloudsync/CloudSyncAdapters.jsm | 88 -
services/cloudsync/CloudSyncBookmarks.jsm | 795 ---------
.../cloudsync/CloudSyncBookmarksFolderCache.jsm | 105 --
services/cloudsync/CloudSyncEventSource.jsm | 65 -
services/cloudsync/CloudSyncLocal.jsm | 87 -
services/cloudsync/CloudSyncPlacesWrapper.jsm | 375 -----
services/cloudsync/CloudSyncTabs.jsm | 318 ----
services/cloudsync/docs/api.md | 234 ---
services/cloudsync/docs/architecture.rst | 54 -
services/cloudsync/docs/dataformat.rst | 77 -
services/cloudsync/docs/example.rst | 132 --
services/cloudsync/docs/index.rst | 19 -
services/cloudsync/moz.build | 21 -
services/cloudsync/tests/mochitest/browser.ini | 5 -
.../cloudsync/tests/mochitest/browser_tabEvents.js | 79 -
.../cloudsync/tests/mochitest/other_window.html | 7 -
services/cloudsync/tests/xpcshell/head.js | 10 -
.../cloudsync/tests/xpcshell/test_bookmarks.js | 73 -
services/cloudsync/tests/xpcshell/test_lazyload.js | 18 -
services/cloudsync/tests/xpcshell/test_module.js | 19 -
services/cloudsync/tests/xpcshell/test_tabs.js | 29 -
services/cloudsync/tests/xpcshell/xpcshell.ini | 10 -
services/fxaccounts/Credentials.jsm | 136 --
services/fxaccounts/FxAccounts.jsm | 1725 --------------------
services/fxaccounts/FxAccountsClient.jsm | 623 -------
services/fxaccounts/FxAccountsCommon.js | 368 -----
services/fxaccounts/FxAccountsComponents.manifest | 4 -
services/fxaccounts/FxAccountsConfig.jsm | 179 --
services/fxaccounts/FxAccountsOAuthClient.jsm | 269 ---
services/fxaccounts/FxAccountsOAuthGrantClient.jsm | 241 ---
services/fxaccounts/FxAccountsProfile.jsm | 191 ---
services/fxaccounts/FxAccountsProfileClient.jsm | 260 ---
services/fxaccounts/FxAccountsPush.js | 240 ---
services/fxaccounts/FxAccountsStorage.jsm | 606 -------
services/fxaccounts/FxAccountsWebChannel.jsm | 474 ------
.../fxaccounts/interfaces/nsIFxAccountsUIGlue.idl | 15 -
services/fxaccounts/moz.build | 32 -
services/fxaccounts/tests/mochitest/chrome.ini | 7 -
.../tests/mochitest/file_invalidEmailCase.sjs | 80 -
.../tests/mochitest/test_invalidEmailCase.html | 131 --
services/fxaccounts/tests/xpcshell/head.js | 18 -
.../fxaccounts/tests/xpcshell/test_accounts.js | 1531 -----------------
.../xpcshell/test_accounts_device_registration.js | 526 ------
services/fxaccounts/tests/xpcshell/test_client.js | 917 -----------
.../fxaccounts/tests/xpcshell/test_credentials.js | 110 --
.../tests/xpcshell/test_loginmgr_storage.js | 214 ---
.../fxaccounts/tests/xpcshell/test_oauth_client.js | 55 -
.../tests/xpcshell/test_oauth_grant_client.js | 292 ----
.../xpcshell/test_oauth_grant_client_server.js | 73 -
.../tests/xpcshell/test_oauth_token_storage.js | 165 --
.../fxaccounts/tests/xpcshell/test_oauth_tokens.js | 251 ---
services/fxaccounts/tests/xpcshell/test_profile.js | 409 -----
.../tests/xpcshell/test_profile_client.js | 411 -----
.../fxaccounts/tests/xpcshell/test_push_service.js | 236 ---
.../tests/xpcshell/test_storage_manager.js | 477 ------
.../fxaccounts/tests/xpcshell/test_web_channel.js | 499 ------
services/fxaccounts/tests/xpcshell/xpcshell.ini | 23 -
services/moz.build | 6 -
services/sync/modules-testing/fxa_utils.js | 58 -
services/sync/modules-testing/utils.js | 85 +-
services/sync/modules/util.js | 40 -
services/sync/moz.build | 1 -
.../sync/tests/unit/test_browserid_identity.js | 682 --------
services/sync/tests/unit/test_errorhandler.js | 4 -
.../sync/tests/unit/test_fxa_node_reassignment.js | 321 ----
.../sync/tests/unit/test_fxa_service_cluster.js | 68 -
services/sync/tests/unit/test_fxa_startOver.js | 63 -
services/sync/tests/unit/test_load_modules.js | 1 -
services/sync/tests/unit/xpcshell.ini | 6 -
.../extensions/tps/resource/auth/fxaccounts.jsm | 96 --
services/sync/tps/extensions/tps/resource/tps.jsm | 4 +-
testing/profiles/prefs_general.js | 15 -
.../mochitest-browser-chrome-e10s.runtimes.json | 1 -
.../mochitest-browser-chrome.runtimes.json | 1 -
testing/talos/talos/config.py | 2 -
toolkit/components/passwordmgr/LoginHelper.jsm | 6 +-
.../components/passwordmgr/storage-mozStorage.js | 2 +-
toolkit/identity/FirefoxAccounts.jsm | 313 ----
toolkit/identity/moz.build | 4 -
toolkit/identity/tests/unit/head_identity.js | 8 -
.../identity/tests/unit/test_firefox_accounts.js | 270 ---
toolkit/identity/tests/unit/xpcshell.ini | 1 -
toolkit/modules/AppConstants.jsm | 7 -
toolkit/modules/moz.build | 3 +-
toolkit/xre/nsAppRunner.cpp | 2 +-
.../lib/rules/import-browserjs-globals.js | 3 +-
tools/lint/eslint/modules.json | 11 +-
widget/cocoa/nsNativeThemeCocoa.mm | 3 +-
569 files changed, 1179 insertions(+), 62592 deletions(-)
diff --cc application/basilisk/base/content/browser-syncui.js
index 7a80be8,67056e2..d0f4624
--- a/application/basilisk/base/content/browser-syncui.js
+++ b/application/basilisk/base/content/browser-syncui.js
@@@ -94,101 -64,54 +64,51 @@@ var gSyncUI =
this.updateUI();
},
+ initNotifications: function SUI_initNotifications() {
+ const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+ let notificationbox = document.createElementNS(XULNS, "notificationbox");
+ notificationbox.id = "sync-notifications";
+ notificationbox.setAttribute("flex", "1");
- // Returns a promise that resolves with true if Sync needs to be configured,
- // false otherwise.
- _needsSetup() {
- // If Sync is configured for FxAccounts then we do that promise-dance.
- if (this.weaveService.fxAccountsEnabled) {
- return fxAccounts.getSignedInUser().then(user => {
- // We want to treat "account needs verification" as "needs setup".
- return !(user && user.verified);
- });
- }
- // We are using legacy sync - check that.
- let firstSync = Services.prefs.getCharPref("services.sync.firstSync", "");
+ let bottombox = document.getElementById("browser-bottombox");
+ bottombox.insertBefore(notificationbox, bottombox.firstChild);
- return Promise.resolve(Weave.Status.checkSetup() == Weave.CLIENT_NOT_CONFIGURED ||
- firstSync == "notReady");
+ // Force a style flush to ensure that our binding is attached.
+ notificationbox.clientTop;
+
+ // notificationbox will listen to observers from now on.
+ Services.obs.removeObserver(this, "weave:notification:added");
},
- // Returns a promise that resolves with true if the user currently signed in
- // to Sync needs to be verified, false otherwise.
- _needsVerification() {
- // For callers who care about the distinction between "needs setup" and
- // "needs verification"
- if (this.weaveService.fxAccountsEnabled) {
- return fxAccounts.getSignedInUser().then(user => {
- // If there is no user, they can't be in a "needs verification" state.
- if (!user) {
- return false;
- }
- return !user.verified;
- });
- }
+ _wasDelayed: false,
- // Otherwise we are configured for legacy Sync, which has no verification
- // concept.
- return Promise.resolve(false);
+ _needsSetup: function SUI__needsSetup() {
- let firstSync = "";
- try {
- firstSync = Services.prefs.getCharPref("services.sync.firstSync");
- } catch (e) { }
++ let firstSync = Services.prefs.getCharPref("services.sync.firstSync", "");
+ return Weave.Status.checkSetup() == Weave.CLIENT_NOT_CONFIGURED ||
+ firstSync == "notReady";
},
- // Note that we don't show login errors in a notification bar here, but do
- // still need to track a login-failed state so the "Tools" menu updates
- // with the correct state.
- _loginFailed: function () {
- // If Sync isn't already ready, we don't want to force it to initialize
- // by referencing Weave.Status - and it isn't going to be accurate before
- // Sync is ready anyway.
- if (!this.weaveService.ready) {
- this.log.debug("_loginFailed has sync not ready, so returning false");
- return false;
- }
- this.log.debug("_loginFailed has sync state=${sync}",
- { sync: Weave.Status.login});
- return Weave.Status.login == Weave.LOGIN_FAILED_LOGIN_REJECTED;
- },
+ updateUI: function SUI_updateUI() {
+ let needsSetup = this._needsSetup();
+ document.getElementById("sync-setup-state").hidden = !needsSetup;
+ document.getElementById("sync-syncnow-state").hidden = needsSetup;
- // Kick off an update of the UI - does *not* return a promise.
- updateUI() {
- this._promiseUpdateUI().catch(err => {
- this.log.error("updateUI failed", err);
- })
- },
+ if (!gBrowser)
+ return;
- // Updates the UI - returns a promise.
- _promiseUpdateUI() {
- return this._needsSetup().then(needsSetup => {
- if (!gBrowser)
- return Promise.resolve();
-
- let loginFailed = this._loginFailed();
-
- // Start off with a clean slate
- document.getElementById("sync-reauth-state").hidden = true;
- document.getElementById("sync-setup-state").hidden = true;
- document.getElementById("sync-syncnow-state").hidden = true;
-
- #ifdef MOZ_SERVICES_CLOUDSYNC
- if (CloudSync && CloudSync.ready && CloudSync().adapters.count) {
- document.getElementById("sync-syncnow-state").hidden = false;
- } else if (loginFailed) {
- #else
- if (loginFailed) {
- #endif
- // unhiding this element makes the menubar show the login failure state.
- document.getElementById("sync-reauth-state").hidden = false;
- } else if (needsSetup) {
- document.getElementById("sync-setup-state").hidden = false;
- } else {
- document.getElementById("sync-syncnow-state").hidden = false;
- }
+ let button = document.getElementById("sync-button");
+ if (!button)
+ return;
- return this._updateSyncButtonsTooltip();
- });
+ button.removeAttribute("status");
+ this._updateLastSyncTime();
+ if (needsSetup)
+ button.removeAttribute("tooltiptext");
},
+
// Functions called by observers
- onActivityStart() {
+ onActivityStart: function SUI_onActivityStart() {
if (!gBrowser)
return;
@@@ -329,119 -261,63 +258,62 @@@
"syncAddDevice", "centerscreen,chrome,resizable=no");
},
- openPrefs: function (entryPoint) {
- openPreferences("paneSync", { urlParams: { entrypoint: entryPoint } });
+ openQuotaDialog: function SUI_openQuotaDialog() {
+ let win = Services.wm.getMostRecentWindow("Sync:ViewQuota");
+ if (win)
+ win.focus();
+ else
+ Services.ww.activeWindow.openDialog(
+ "chrome://browser/content/sync/quota.xul", "",
+ "centerscreen,chrome,dialog,modal");
},
- openSignInAgainPage: function (entryPoint = "syncbutton") {
- gFxAccounts.openSignInAgainPage(entryPoint);
+ openPrefs: function SUI_openPrefs() {
+ openPreferences("paneSync");
},
- /* After Sync is initialized we perform a once-only check for the sync
- button being in "customize purgatory" and if so, move it to the panel.
- This is done primarily for profiles created before SyncedTabs landed,
- where the button defaulted to being in that purgatory.
- We use a preference to ensure we only do it once, so people can still
- customize it away and have it stick.
- */
- maybeMoveSyncedTabsButton() {
- const prefName = "browser.migrated-sync-button";
- let migrated = Services.prefs.getBoolPref(prefName, false);
- if (migrated) {
-
+ // Helpers
+ _updateLastSyncTime: function SUI__updateLastSyncTime() {
+ if (!gBrowser)
return;
- }
- if (!CustomizableUI.getPlacementOfWidget("sync-button")) {
- CustomizableUI.addWidgetToArea("sync-button", CustomizableUI.AREA_PANEL);
- }
- Services.prefs.setBoolPref(prefName, true);
- },
- /* Update the tooltip for the sync-status broadcaster (which will update the
- Sync Toolbar button and the Sync spinner in the FxA hamburger area.)
- If Sync is configured, the tooltip is when the last sync occurred,
- otherwise the tooltip reflects the fact that Sync needs to be
- (re-)configured.
- */
- _updateSyncButtonsTooltip: Task.async(function* () {
- if (!gBrowser)
+ let syncButton = document.getElementById("sync-button");
+ if (!syncButton)
return;
- let email;
+ let lastSync;
try {
- email = Services.prefs.getCharPref("services.sync.username");
- } catch (ex) {}
-
- let needsSetup = yield this._needsSetup();
- let needsVerification = yield this._needsVerification();
- let loginFailed = this._loginFailed();
- // This is a little messy as the Sync buttons are 1/2 Sync related and
- // 1/2 FxA related - so for some strings we use Sync strings, but for
- // others we reach into gFxAccounts for strings.
- let tooltiptext;
- if (needsVerification) {
- // "needs verification"
- tooltiptext = gFxAccounts.strings.formatStringFromName("verifyDescription", [email], 1);
- } else if (needsSetup) {
- // "needs setup".
- tooltiptext = this._stringBundle.GetStringFromName("signInToSync.description");
- } else if (loginFailed) {
- // "need to reconnect/re-enter your password"
- tooltiptext = gFxAccounts.strings.formatStringFromName("reconnectDescription", [email], 1);
- } else {
- // Sync appears configured - format the "last synced at" time.
- try {
- let lastSync = new Date(Services.prefs.getCharPref("services.sync.lastSync"));
- tooltiptext = this.formatLastSyncDate(lastSync);
- }
- catch (e) {
- // pref doesn't exist (which will be the case until we've seen the
- // first successful sync) or is invalid (which should be impossible!)
- // Just leave tooltiptext as the empty string in these cases, which
- // will cause the tooltip to be removed below.
- }
+ lastSync = Services.prefs.getCharPref("services.sync.lastSync");
}
-
- // We've done all our promise-y work and ready to update the UI - make
- // sure it hasn't been torn down since we started.
- if (!gBrowser)
+ catch (e) { };
+ if (!lastSync || this._needsSetup()) {
+ syncButton.removeAttribute("tooltiptext");
return;
-
- let broadcaster = document.getElementById("sync-status");
- if (broadcaster) {
- if (tooltiptext) {
- broadcaster.setAttribute("tooltiptext", tooltiptext);
- } else {
- broadcaster.removeAttribute("tooltiptext");
- }
- }
- }),
-
- formatLastSyncDate: function(date) {
- let dateFormat;
- let sixDaysAgo = (() => {
- let date = new Date();
- date.setDate(date.getDate() - 6);
- date.setHours(0, 0, 0, 0);
- return date;
- })();
- // It may be confusing for the user to see "Last Sync: Monday" when the last sync was a indeed a Monday but 3 weeks ago
- if (date < sixDaysAgo) {
- dateFormat = {month: 'long', day: 'numeric'};
- } else {
- dateFormat = {weekday: 'long', hour: 'numeric', minute: 'numeric'};
}
- let lastSyncDateString = date.toLocaleDateString(undefined, dateFormat);
- return this._stringBundle.formatStringFromName("lastSync2.label", [lastSyncDateString], 1);
+
+ // Show the day-of-week and time (HH:MM) of last sync
+ let lastSyncDate = new Date(lastSync).toLocaleFormat("%a %H:%M");
+ let lastSyncLabel =
+ this._stringBundle.formatStringFromName("lastSync2.label", [lastSyncDate], 1);
+
+ syncButton.setAttribute("tooltiptext", lastSyncLabel);
},
- onClientsSynced: function() {
- let broadcaster = document.getElementById("sync-syncnow-state");
- if (broadcaster) {
- if (Weave.Service.clientsEngine.stats.numClients > 1) {
- broadcaster.setAttribute("devices-status", "multi");
- } else {
- broadcaster.setAttribute("devices-status", "single");
- }
+ clearError: function SUI_clearError(errorString) {
+ Weave.Notifications.removeAll(errorString);
+ this.updateUI();
+ },
+
+ onSyncFinish: function SUI_onSyncFinish() {
+ let title = this._stringBundle.GetStringFromName("error.sync.title");
+
+ // Clear out sync failures on a successful sync
+ this.clearError(title);
+
+ if (this._wasDelayed && Weave.Status.sync != Weave.NO_SYNC_NODE_FOUND) {
+ title = this._stringBundle.GetStringFromName("error.sync.no_node_found.title");
+ this.clearError(title);
+ this._wasDelayed = false;
}
},
diff --cc application/basilisk/components/sync/aboutSyncTabs.js
index 69ec71e,410494b..4808c05
--- a/application/basilisk/components/sync/aboutSyncTabs.js
+++ b/application/basilisk/components/sync/aboutSyncTabs.js
@@@ -303,10 -251,16 +251,10 @@@ var RemoteTabViewer =
}
},
- _refetchTabs: function (force) {
+ _refetchTabs: function(force) {
if (!force) {
// Don't bother refetching tabs if we already did so recently
- let lastFetch = 0;
- try {
- lastFetch = Services.prefs.getIntPref("services.sync.lastTabFetch");
- }
- catch (e) {
- /* Just use the default value of 0 */
- }
+ lastFetch = Services.prefs.getIntPref("services.sync.lastTabFetch", 0);
let now = Math.floor(Date.now() / 1000);
if (now - lastFetch < 30) {
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/pale-moon.git
More information about the x2go-commits
mailing list