Files
tubestation/toolkit/components/telemetry/geckoview/TelemetryGeckoViewTesting.cpp
Jan-Erik Rediger 4abf3e3621 Bug 1466490 - Add multi-process xpcshell test for scalar semantics. r=Dexter
This follows the documentation example:

* Scalar deserialization is started
* “test” scalar is incremented by “10” by the application -> The operation [test, add, 10] is recorded into the list.
* The state of the “test” scalar is loaded off the persistence file, and the value “14” is set.
* Deserialization is finished and the pending operations are applied.
* The “test” scalar is incremented by “10”, the value is now “24”

It does that in both the parent and the content process.

MozReview-Commit-ID: CnzDcJ5o7jJ
2018-06-14 16:05:27 -07:00

52 lines
1.4 KiB
C++

/* 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/. */
#include "TelemetryGeckoViewTesting.h"
#include "TelemetryGeckoViewPersistence.h"
#include "TelemetryScalar.h"
namespace TelemetryGeckoViewTesting {
// This is defined in TelemetryGeckoViewPersistence.cpp
void TestDispatchPersist();
} // TelemetryGeckoViewTesting
NS_IMPL_ISUPPORTS(TelemetryGeckoViewTestingImpl, nsITelemetryGeckoViewTesting)
// We don't need |aCx|. It's there to make these test functions harder
// to call from C++.
NS_IMETHODIMP
TelemetryGeckoViewTestingImpl::InitPersistence(JSContext*)
{
TelemetryGeckoViewPersistence::InitPersistence();
return NS_OK;
}
NS_IMETHODIMP
TelemetryGeckoViewTestingImpl::DeInitPersistence(JSContext*)
{
TelemetryGeckoViewPersistence::DeInitPersistence();
return NS_OK;
}
NS_IMETHODIMP
TelemetryGeckoViewTestingImpl::ClearPersistenceData(JSContext*)
{
TelemetryGeckoViewPersistence::ClearPersistenceData();
return NS_OK;
}
NS_IMETHODIMP
TelemetryGeckoViewTestingImpl::ForcePersist(JSContext*)
{
TelemetryGeckoViewTesting::TestDispatchPersist();
return NS_OK;
}
NS_IMETHODIMP
TelemetryGeckoViewTestingImpl::DeserializationStarted(JSContext*)
{
TelemetryScalar::DeserializationStarted();
return NS_OK;
}