From a28d138da6e2b39eb40583f182ce7a0c03531923 Mon Sep 17 00:00:00 2001 From: Ben Kelly Date: Tue, 29 Mar 2016 07:20:48 -0700 Subject: [PATCH] Bug 1249438 P1 Move guts of RegisterServiceWorker() into a protected method that can be tested in gtest. r=baku --- dom/workers/ServiceWorkerRegistrar.cpp | 31 +++++++++++++++----------- dom/workers/ServiceWorkerRegistrar.h | 2 ++ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/dom/workers/ServiceWorkerRegistrar.cpp b/dom/workers/ServiceWorkerRegistrar.cpp index b8092ab11b60..ea4f34674fe9 100644 --- a/dom/workers/ServiceWorkerRegistrar.cpp +++ b/dom/workers/ServiceWorkerRegistrar.cpp @@ -180,19 +180,7 @@ ServiceWorkerRegistrar::RegisterServiceWorker( { MonitorAutoLock lock(mMonitor); MOZ_ASSERT(mDataLoaded); - - bool found = false; - for (uint32_t i = 0, len = mData.Length(); i < len; ++i) { - if (Equivalent(aData, mData[i])) { - mData[i] = aData; - found = true; - break; - } - } - - if (!found) { - mData.AppendElement(aData); - } + RegisterServiceWorkerInternal(aData); } ScheduleSaveData(); @@ -516,6 +504,23 @@ ServiceWorkerRegistrar::DeleteData() } } +void +ServiceWorkerRegistrar::RegisterServiceWorkerInternal(const ServiceWorkerRegistrationData& aData) +{ + bool found = false; + for (uint32_t i = 0, len = mData.Length(); i < len; ++i) { + if (Equivalent(aData, mData[i])) { + mData[i] = aData; + found = true; + break; + } + } + + if (!found) { + mData.AppendElement(aData); + } +} + class ServiceWorkerRegistrarSaveDataRunnable final : public nsRunnable { public: diff --git a/dom/workers/ServiceWorkerRegistrar.h b/dom/workers/ServiceWorkerRegistrar.h index b695f2696c76..43922cfc5b39 100644 --- a/dom/workers/ServiceWorkerRegistrar.h +++ b/dom/workers/ServiceWorkerRegistrar.h @@ -66,6 +66,8 @@ protected: nsresult WriteData(); void DeleteData(); + void RegisterServiceWorkerInternal(const ServiceWorkerRegistrationData& aData); + ServiceWorkerRegistrar(); virtual ~ServiceWorkerRegistrar();