author | David Parks <dparks@mozilla.com> |
Tue, 10 Jan 2017 15:17:13 -0800 | |
changeset 329454 | e6257972e6a6490597824d4a0753ec6cd9a005c7 |
parent 329453 | 7c6283b785c0341ffb359008a5eaf300520cb8e3 |
child 329455 | 6b5b5d24d97595be2b7a2209877c9296be7bd750 |
push id | 31207 |
push user | philringnalda@gmail.com |
push date | Sat, 14 Jan 2017 17:39:10 +0000 |
treeherder | mozilla-central@5ce3882eec21 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bkelly |
bugs | 1312788 |
milestone | 53.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
dom/workers/ServiceWorkerManager.cpp | file | annotate | diff | comparison | revisions | |
toolkit/components/telemetry/Histograms.json | file | annotate | diff | comparison | revisions |
--- a/dom/workers/ServiceWorkerManager.cpp +++ b/dom/workers/ServiceWorkerManager.cpp @@ -31,16 +31,17 @@ #include "mozilla/BasePrincipal.h" #include "mozilla/ClearOnShutdown.h" #include "mozilla/ErrorNames.h" #include "mozilla/LoadContext.h" #include "mozilla/Telemetry.h" #include "mozilla/dom/BindingUtils.h" #include "mozilla/dom/ContentParent.h" +#include "mozilla/dom/ContentChild.h" #include "mozilla/dom/DOMError.h" #include "mozilla/dom/ErrorEvent.h" #include "mozilla/dom/Headers.h" #include "mozilla/dom/InternalHeaders.h" #include "mozilla/dom/Navigator.h" #include "mozilla/dom/NotificationEvent.h" #include "mozilla/dom/PromiseNativeHandler.h" #include "mozilla/dom/Request.h" @@ -673,16 +674,27 @@ ServiceWorkerManager::Register(mozIDOMWi new ServiceWorkerRegisterJob(documentPrincipal, cleanedScope, spec, loadGroup, aLoadFlags); job->AppendResultCallback(cb); queue->ScheduleJob(job); AssertIsOnMainThread(); Telemetry::Accumulate(Telemetry::SERVICE_WORKER_REGISTRATIONS, 1); + ContentChild* contentChild = ContentChild::GetSingleton(); + if (contentChild && + contentChild->GetRemoteType().EqualsLiteral(FILE_REMOTE_TYPE)) { + nsString message(NS_LITERAL_STRING("ServiceWorker registered by document " + "embedded in a file:/// URI. This may " + "result in unexpected behavior.")); + ReportToAllClients(cleanedScope, message, EmptyString(), + EmptyString(), 0, 0, nsIScriptError::warningFlag); + Telemetry::Accumulate(Telemetry::FILE_EMBEDDED_SERVICEWORKERS, 1); + } + promise.forget(aPromise); return NS_OK; } void ServiceWorkerManager::AppendPendingOperation(nsIRunnable* aRunnable) { MOZ_ASSERT(!mActor);
--- a/toolkit/components/telemetry/Histograms.json +++ b/toolkit/components/telemetry/Histograms.json @@ -9626,16 +9626,23 @@ }, "SERVICE_WORKER_LIFE_TIME": { "expires_in_version": "50", "kind": "exponential", "high": 120000, "n_buckets": 20, "description": "Tracking how long a ServiceWorker stays alive after it is spawned. File bugs in Core::DOM in case of a Telemetry regression." }, + "FILE_EMBEDDED_SERVICEWORKERS": { + "alert_emails": ["dparks@mozilla.com"], + "expires_in_version": "58", + "kind": "count", + "bug_numbers": [1312788], + "description": "Count ServiceWorkers that are embedded in pages loading with the file:/// protocol." + }, "GRAPHICS_SANITY_TEST": { "expires_in_version": "never", "alert_emails": ["gfx-telemetry-alerts@mozilla.com","msreckovic@mozilla.com"], "kind": "enumerated", "n_values": 20, "releaseChannelCollection": "opt-out", "description": "Reports results from the graphics sanity test to track which drivers are having problems (0=TEST_PASSED, 1=TEST_FAILED_RENDER, 2=TEST_FAILED_VIDEO, 3=TEST_CRASHED)" },