Commit bf51abc3 authored by Nicolas Pena's avatar Nicolas Pena Committed by Commit Bot

Let the time origin of WorkerGlobalScope be its time of creation

In this CL, WorkerGlobalScope's |time_origin_| is set to the time of
creation. As a result, many time origins are no longer needed in
constructors.

Bug: chromium:688542
Change-Id: Ie15dccd7c81e6c29ad23244278fb7cc5131bdaf2
Reviewed-on: https://chromium-review.googlesource.com/563957
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487541}
parent c7f64877
...@@ -294,7 +294,7 @@ Bug(none) external/wpt/fullscreen/api/document-exit-fullscreen-active-document.h ...@@ -294,7 +294,7 @@ Bug(none) external/wpt/fullscreen/api/document-exit-fullscreen-active-document.h
Bug(none) external/wpt/fullscreen/api/document-fullscreen-enabled-active-document.html [ Failure Timeout ] Bug(none) external/wpt/fullscreen/api/document-fullscreen-enabled-active-document.html [ Failure Timeout ]
Bug(none) external/wpt/fullscreen/api/element-request-fullscreen-active-document.html [ Failure Timeout ] Bug(none) external/wpt/fullscreen/api/element-request-fullscreen-active-document.html [ Failure Timeout ]
Bug(none) external/wpt/hr-time/test_cross_frame_start.html [ Failure Timeout ] Bug(none) external/wpt/hr-time/test_cross_frame_start.html [ Failure Timeout ]
Bug(none) external/wpt/hr-time/window-worker-time-origin.html [ Failure Timeout ] Bug(none) external/wpt/hr-time/window-worker-time-origin.html [ Timeout ]
Bug(none) external/wpt/html/browsers/browsing-the-web/navigating-across-documents/012.html [ Failure Timeout ] Bug(none) external/wpt/html/browsers/browsing-the-web/navigating-across-documents/012.html [ Failure Timeout ]
Bug(none) external/wpt/html/browsers/browsing-the-web/read-media/pageload-video.html [ Crash Pass Failure Timeout ] Bug(none) external/wpt/html/browsers/browsing-the-web/read-media/pageload-video.html [ Crash Pass Failure Timeout ]
Bug(none) external/wpt/html/browsers/browsing-the-web/unloading-documents/005.html [ Crash ] Bug(none) external/wpt/html/browsers/browsing-the-web/unloading-documents/005.html [ Crash ]
......
...@@ -1681,7 +1681,6 @@ crbug.com/694958 virtual/stable/http/tests/navigation/same-and-different-back.ht ...@@ -1681,7 +1681,6 @@ crbug.com/694958 virtual/stable/http/tests/navigation/same-and-different-back.ht
# numbers so a consistent baseline cannot be added. This test could be # numbers so a consistent baseline cannot be added. This test could be
# imported if the test passed or if the results for testharness tests # imported if the test passed or if the results for testharness tests
# were matched on pass/fail but not exact error messages. # were matched on pass/fail but not exact error messages.
crbug.com/688854 external/wpt/hr-time/window-worker-time-origin.html [ Failure ]
crbug.com/626703 external/wpt/resource-timing/resource_TAO_space.htm [ Pass Failure ] crbug.com/626703 external/wpt/resource-timing/resource_TAO_space.htm [ Pass Failure ]
crbug.com/626703 [ Mac ] external/wpt/web-animations/interfaces/AnimationTimeline/document-timeline.html [ Failure ] crbug.com/626703 [ Mac ] external/wpt/web-animations/interfaces/AnimationTimeline/document-timeline.html [ Failure ]
......
...@@ -26,7 +26,7 @@ worker.onmessage = function(event) { ...@@ -26,7 +26,7 @@ worker.onmessage = function(event) {
assert_true(results.length == 3); assert_true(results.length == 3);
test_true(results[0], "self.performance is defined"); test_true(results[0], "self.performance is defined");
test_true(results[1], "self.performance.now is defined"); test_true(results[1], "self.performance.now is defined");
test_greater_than(results[2], startTime, "Time in the worker should be after the startTime in the main document"); test_greater_than(results[2], 0, "Time in the worker should be positive");
test_greater_than(window.performance.now(), results[2], "Time in the worker should be before the current time in the main document"); test_greater_than(window.performance.now(), results[2], "Time in the worker should be before the current time in the main document");
done(); done();
} }
......
...@@ -34,10 +34,10 @@ DedicatedWorkerMessagingProxy::CreateBackingThreadStartupData( ...@@ -34,10 +34,10 @@ DedicatedWorkerMessagingProxy::CreateBackingThreadStartupData(
: AtomicsWaitMode::kDisallow); : AtomicsWaitMode::kDisallow);
} }
std::unique_ptr<WorkerThread> DedicatedWorkerMessagingProxy::CreateWorkerThread( std::unique_ptr<WorkerThread>
double origin_time) { DedicatedWorkerMessagingProxy::CreateWorkerThread() {
return DedicatedWorkerThread::Create(CreateThreadableLoadingContext(), return DedicatedWorkerThread::Create(CreateThreadableLoadingContext(),
WorkerObjectProxy(), origin_time); WorkerObjectProxy());
} }
} // namespace blink } // namespace blink
...@@ -25,7 +25,7 @@ class CORE_EXPORT DedicatedWorkerMessagingProxy final ...@@ -25,7 +25,7 @@ class CORE_EXPORT DedicatedWorkerMessagingProxy final
WTF::Optional<WorkerBackingThreadStartupData> CreateBackingThreadStartupData( WTF::Optional<WorkerBackingThreadStartupData> CreateBackingThreadStartupData(
v8::Isolate*) override; v8::Isolate*) override;
std::unique_ptr<WorkerThread> CreateWorkerThread(double origin_time) override; std::unique_ptr<WorkerThread> CreateWorkerThread() override;
}; };
} // namespace blink } // namespace blink
......
...@@ -41,8 +41,7 @@ class DedicatedWorkerThreadForTest final : public DedicatedWorkerThread { ...@@ -41,8 +41,7 @@ class DedicatedWorkerThreadForTest final : public DedicatedWorkerThread {
public: public:
DedicatedWorkerThreadForTest(InProcessWorkerObjectProxy& worker_object_proxy) DedicatedWorkerThreadForTest(InProcessWorkerObjectProxy& worker_object_proxy)
: DedicatedWorkerThread(nullptr /* ThreadableLoadingContext */, : DedicatedWorkerThread(nullptr /* ThreadableLoadingContext */,
worker_object_proxy, worker_object_proxy) {
MonotonicallyIncreasingTime()) {
worker_backing_thread_ = WorkerBackingThread::CreateForTest("Test thread"); worker_backing_thread_ = WorkerBackingThread::CreateForTest("Test thread");
} }
...@@ -203,8 +202,7 @@ class InProcessWorkerMessagingProxyForTest ...@@ -203,8 +202,7 @@ class InProcessWorkerMessagingProxyForTest
} }
private: private:
std::unique_ptr<WorkerThread> CreateWorkerThread( std::unique_ptr<WorkerThread> CreateWorkerThread() override {
double origin_time) override {
auto worker_thread = auto worker_thread =
WTF::MakeUnique<DedicatedWorkerThreadForTest>(WorkerObjectProxy()); WTF::MakeUnique<DedicatedWorkerThreadForTest>(WorkerObjectProxy());
mock_worker_thread_lifecycle_observer_ = mock_worker_thread_lifecycle_observer_ =
......
...@@ -42,21 +42,18 @@ namespace blink { ...@@ -42,21 +42,18 @@ namespace blink {
std::unique_ptr<DedicatedWorkerThread> DedicatedWorkerThread::Create( std::unique_ptr<DedicatedWorkerThread> DedicatedWorkerThread::Create(
ThreadableLoadingContext* loading_context, ThreadableLoadingContext* loading_context,
InProcessWorkerObjectProxy& worker_object_proxy, InProcessWorkerObjectProxy& worker_object_proxy) {
double time_origin) { return WTF::WrapUnique(
return WTF::WrapUnique(new DedicatedWorkerThread( new DedicatedWorkerThread(loading_context, worker_object_proxy));
loading_context, worker_object_proxy, time_origin));
} }
DedicatedWorkerThread::DedicatedWorkerThread( DedicatedWorkerThread::DedicatedWorkerThread(
ThreadableLoadingContext* loading_context, ThreadableLoadingContext* loading_context,
InProcessWorkerObjectProxy& worker_object_proxy, InProcessWorkerObjectProxy& worker_object_proxy)
double time_origin)
: WorkerThread(loading_context, worker_object_proxy), : WorkerThread(loading_context, worker_object_proxy),
worker_backing_thread_( worker_backing_thread_(
WorkerBackingThread::Create("DedicatedWorker Thread")), WorkerBackingThread::Create("DedicatedWorker Thread")),
worker_object_proxy_(worker_object_proxy), worker_object_proxy_(worker_object_proxy) {}
time_origin_(time_origin) {}
DedicatedWorkerThread::~DedicatedWorkerThread() {} DedicatedWorkerThread::~DedicatedWorkerThread() {}
......
...@@ -42,8 +42,7 @@ class CORE_EXPORT DedicatedWorkerThread : public WorkerThread { ...@@ -42,8 +42,7 @@ class CORE_EXPORT DedicatedWorkerThread : public WorkerThread {
public: public:
static std::unique_ptr<DedicatedWorkerThread> Create( static std::unique_ptr<DedicatedWorkerThread> Create(
ThreadableLoadingContext*, ThreadableLoadingContext*,
InProcessWorkerObjectProxy&, InProcessWorkerObjectProxy&);
double time_origin);
~DedicatedWorkerThread() override; ~DedicatedWorkerThread() override;
WorkerBackingThread& GetWorkerBackingThread() override { WorkerBackingThread& GetWorkerBackingThread() override {
...@@ -55,9 +54,7 @@ class CORE_EXPORT DedicatedWorkerThread : public WorkerThread { ...@@ -55,9 +54,7 @@ class CORE_EXPORT DedicatedWorkerThread : public WorkerThread {
} }
protected: protected:
DedicatedWorkerThread(ThreadableLoadingContext*, DedicatedWorkerThread(ThreadableLoadingContext*, InProcessWorkerObjectProxy&);
InProcessWorkerObjectProxy&,
double time_origin);
WorkerOrWorkletGlobalScope* CreateWorkerGlobalScope( WorkerOrWorkletGlobalScope* CreateWorkerGlobalScope(
std::unique_ptr<GlobalScopeCreationParams>) override; std::unique_ptr<GlobalScopeCreationParams>) override;
...@@ -66,7 +63,6 @@ class CORE_EXPORT DedicatedWorkerThread : public WorkerThread { ...@@ -66,7 +63,6 @@ class CORE_EXPORT DedicatedWorkerThread : public WorkerThread {
std::unique_ptr<WorkerBackingThread> worker_backing_thread_; std::unique_ptr<WorkerBackingThread> worker_backing_thread_;
InProcessWorkerObjectProxy& worker_object_proxy_; InProcessWorkerObjectProxy& worker_object_proxy_;
double time_origin_;
}; };
} // namespace blink } // namespace blink
......
...@@ -54,11 +54,12 @@ MessageEvent* CreateConnectEvent(MessagePort* port) { ...@@ -54,11 +54,12 @@ MessageEvent* CreateConnectEvent(MessagePort* port) {
SharedWorkerGlobalScope* SharedWorkerGlobalScope::Create( SharedWorkerGlobalScope* SharedWorkerGlobalScope::Create(
const String& name, const String& name,
SharedWorkerThread* thread, SharedWorkerThread* thread,
std::unique_ptr<GlobalScopeCreationParams> creation_params) { std::unique_ptr<GlobalScopeCreationParams> creation_params,
double time_origin) {
SharedWorkerGlobalScope* context = new SharedWorkerGlobalScope( SharedWorkerGlobalScope* context = new SharedWorkerGlobalScope(
name, creation_params->script_url, creation_params->user_agent, thread, name, creation_params->script_url, creation_params->user_agent, thread,
std::move(creation_params->starter_origin_privilege_data), std::move(creation_params->starter_origin_privilege_data),
creation_params->worker_clients); creation_params->worker_clients, time_origin);
context->ApplyContentSecurityPolicyFromVector( context->ApplyContentSecurityPolicyFromVector(
*creation_params->content_security_policy_headers); *creation_params->content_security_policy_headers);
context->SetWorkerSettings(std::move(creation_params->worker_settings)); context->SetWorkerSettings(std::move(creation_params->worker_settings));
...@@ -77,11 +78,12 @@ SharedWorkerGlobalScope::SharedWorkerGlobalScope( ...@@ -77,11 +78,12 @@ SharedWorkerGlobalScope::SharedWorkerGlobalScope(
SharedWorkerThread* thread, SharedWorkerThread* thread,
std::unique_ptr<SecurityOrigin::PrivilegeData> std::unique_ptr<SecurityOrigin::PrivilegeData>
starter_origin_privilege_data, starter_origin_privilege_data,
WorkerClients* worker_clients) WorkerClients* worker_clients,
double time_origin)
: WorkerGlobalScope(url, : WorkerGlobalScope(url,
user_agent, user_agent,
thread, thread,
MonotonicallyIncreasingTime(), time_origin,
std::move(starter_origin_privilege_data), std::move(starter_origin_privilege_data),
worker_clients), worker_clients),
name_(name) {} name_(name) {}
......
...@@ -50,7 +50,8 @@ class SharedWorkerGlobalScope final : public WorkerGlobalScope { ...@@ -50,7 +50,8 @@ class SharedWorkerGlobalScope final : public WorkerGlobalScope {
static SharedWorkerGlobalScope* Create( static SharedWorkerGlobalScope* Create(
const String& name, const String& name,
SharedWorkerThread*, SharedWorkerThread*,
std::unique_ptr<GlobalScopeCreationParams>); std::unique_ptr<GlobalScopeCreationParams>,
double time_origin);
~SharedWorkerGlobalScope() override; ~SharedWorkerGlobalScope() override;
bool IsSharedWorkerGlobalScope() const override { return true; } bool IsSharedWorkerGlobalScope() const override { return true; }
...@@ -70,7 +71,8 @@ class SharedWorkerGlobalScope final : public WorkerGlobalScope { ...@@ -70,7 +71,8 @@ class SharedWorkerGlobalScope final : public WorkerGlobalScope {
const String& user_agent, const String& user_agent,
SharedWorkerThread*, SharedWorkerThread*,
std::unique_ptr<SecurityOrigin::PrivilegeData>, std::unique_ptr<SecurityOrigin::PrivilegeData>,
WorkerClients*); WorkerClients*,
double time_origin);
void ExceptionThrown(ErrorEvent*) override; void ExceptionThrown(ErrorEvent*) override;
String name_; String name_;
......
...@@ -55,8 +55,8 @@ void SharedWorkerThread::ClearWorkerBackingThread() { ...@@ -55,8 +55,8 @@ void SharedWorkerThread::ClearWorkerBackingThread() {
WorkerOrWorkletGlobalScope* SharedWorkerThread::CreateWorkerGlobalScope( WorkerOrWorkletGlobalScope* SharedWorkerThread::CreateWorkerGlobalScope(
std::unique_ptr<GlobalScopeCreationParams> creation_params) { std::unique_ptr<GlobalScopeCreationParams> creation_params) {
return SharedWorkerGlobalScope::Create(name_, this, return SharedWorkerGlobalScope::Create(
std::move(creation_params)); name_, this, std::move(creation_params), time_origin_);
} }
} // namespace blink } // namespace blink
...@@ -79,12 +79,8 @@ void ThreadedMessagingProxyBase::InitializeWorkerThread( ...@@ -79,12 +79,8 @@ void ThreadedMessagingProxyBase::InitializeWorkerThread(
DCHECK(IsParentContextThread()); DCHECK(IsParentContextThread());
Document* document = ToDocument(GetExecutionContext()); Document* document = ToDocument(GetExecutionContext());
double origin_time =
document->Loader()
? document->Loader()->GetTiming().ReferenceMonotonicTime()
: MonotonicallyIncreasingTime();
worker_thread_ = CreateWorkerThread(origin_time); worker_thread_ = CreateWorkerThread();
worker_thread_->Start(std::move(global_scope_creation_params), worker_thread_->Start(std::move(global_scope_creation_params),
thread_startup_data, GetParentFrameTaskRunners()); thread_startup_data, GetParentFrameTaskRunners());
WorkerThreadCreated(); WorkerThreadCreated();
......
...@@ -91,8 +91,7 @@ class CORE_EXPORT ThreadedMessagingProxyBase ...@@ -91,8 +91,7 @@ class CORE_EXPORT ThreadedMessagingProxyBase
bool IsParentContextThread() const; bool IsParentContextThread() const;
private: private:
virtual std::unique_ptr<WorkerThread> CreateWorkerThread( virtual std::unique_ptr<WorkerThread> CreateWorkerThread() = 0;
double origin_time) = 0;
Member<ExecutionContext> execution_context_; Member<ExecutionContext> execution_context_;
Member<WorkerClients> worker_clients_; Member<WorkerClients> worker_clients_;
......
...@@ -151,7 +151,7 @@ class ThreadedWorkletMessagingProxyForTest ...@@ -151,7 +151,7 @@ class ThreadedWorkletMessagingProxyForTest
private: private:
friend class ThreadedWorkletTest; friend class ThreadedWorkletTest;
std::unique_ptr<WorkerThread> CreateWorkerThread(double origin_time) final { std::unique_ptr<WorkerThread> CreateWorkerThread() final {
return WTF::MakeUnique<ThreadedWorkletThreadForTest>(WorkletObjectProxy()); return WTF::MakeUnique<ThreadedWorkletThreadForTest>(WorkletObjectProxy());
} }
......
...@@ -329,7 +329,8 @@ service_manager::InterfaceProvider& WorkerThread::GetInterfaceProvider() { ...@@ -329,7 +329,8 @@ service_manager::InterfaceProvider& WorkerThread::GetInterfaceProvider() {
WorkerThread::WorkerThread(ThreadableLoadingContext* loading_context, WorkerThread::WorkerThread(ThreadableLoadingContext* loading_context,
WorkerReportingProxy& worker_reporting_proxy) WorkerReportingProxy& worker_reporting_proxy)
: worker_thread_id_(GetNextWorkerThreadId()), : time_origin_(MonotonicallyIncreasingTime()),
worker_thread_id_(GetNextWorkerThreadId()),
forcible_termination_delay_(kForcibleTerminationDelay), forcible_termination_delay_(kForcibleTerminationDelay),
inspector_task_runner_(WTF::MakeUnique<InspectorTaskRunner>()), inspector_task_runner_(WTF::MakeUnique<InspectorTaskRunner>()),
loading_context_(loading_context), loading_context_(loading_context),
......
...@@ -196,6 +196,10 @@ class CORE_EXPORT WorkerThread : public WebThread::TaskObserver { ...@@ -196,6 +196,10 @@ class CORE_EXPORT WorkerThread : public WebThread::TaskObserver {
// out of this class. // out of this class.
virtual bool IsOwningBackingThread() const { return true; } virtual bool IsOwningBackingThread() const { return true; }
// Official moment of creation of worker: when the worker thread is created.
// (https://w3c.github.io/hr-time/#time-origin)
const double time_origin_;
private: private:
friend class WorkerThreadTest; friend class WorkerThreadTest;
FRIEND_TEST_ALL_PREFIXES(WorkerThreadTest, FRIEND_TEST_ALL_PREFIXES(WorkerThreadTest,
......
...@@ -22,7 +22,7 @@ DEFINE_TRACE(AnimationWorkletMessagingProxy) { ...@@ -22,7 +22,7 @@ DEFINE_TRACE(AnimationWorkletMessagingProxy) {
AnimationWorkletMessagingProxy::~AnimationWorkletMessagingProxy() {} AnimationWorkletMessagingProxy::~AnimationWorkletMessagingProxy() {}
std::unique_ptr<WorkerThread> std::unique_ptr<WorkerThread>
AnimationWorkletMessagingProxy::CreateWorkerThread(double origin_time) { AnimationWorkletMessagingProxy::CreateWorkerThread() {
return AnimationWorkletThread::Create(CreateThreadableLoadingContext(), return AnimationWorkletThread::Create(CreateThreadableLoadingContext(),
WorkletObjectProxy()); WorkletObjectProxy());
} }
......
...@@ -25,7 +25,7 @@ class AnimationWorkletMessagingProxy final ...@@ -25,7 +25,7 @@ class AnimationWorkletMessagingProxy final
private: private:
~AnimationWorkletMessagingProxy() override; ~AnimationWorkletMessagingProxy() override;
std::unique_ptr<WorkerThread> CreateWorkerThread(double origin_time) override; std::unique_ptr<WorkerThread> CreateWorkerThread() override;
}; };
} // namespace blink } // namespace blink
......
...@@ -24,9 +24,9 @@ CompositorWorkerMessagingProxy::CreateBackingThreadStartupData(v8::Isolate*) { ...@@ -24,9 +24,9 @@ CompositorWorkerMessagingProxy::CreateBackingThreadStartupData(v8::Isolate*) {
} }
std::unique_ptr<WorkerThread> std::unique_ptr<WorkerThread>
CompositorWorkerMessagingProxy::CreateWorkerThread(double origin_time) { CompositorWorkerMessagingProxy::CreateWorkerThread() {
return CompositorWorkerThread::Create(CreateThreadableLoadingContext(), return CompositorWorkerThread::Create(CreateThreadableLoadingContext(),
WorkerObjectProxy(), origin_time); WorkerObjectProxy());
} }
} // namespace blink } // namespace blink
...@@ -19,7 +19,7 @@ class CompositorWorkerMessagingProxy final ...@@ -19,7 +19,7 @@ class CompositorWorkerMessagingProxy final
~CompositorWorkerMessagingProxy() override; ~CompositorWorkerMessagingProxy() override;
WTF::Optional<WorkerBackingThreadStartupData> CreateBackingThreadStartupData( WTF::Optional<WorkerBackingThreadStartupData> CreateBackingThreadStartupData(
v8::Isolate*) override; v8::Isolate*) override;
std::unique_ptr<WorkerThread> CreateWorkerThread(double origin_time) override; std::unique_ptr<WorkerThread> CreateWorkerThread() override;
}; };
} // namespace blink } // namespace blink
......
...@@ -15,22 +15,19 @@ namespace blink { ...@@ -15,22 +15,19 @@ namespace blink {
std::unique_ptr<CompositorWorkerThread> CompositorWorkerThread::Create( std::unique_ptr<CompositorWorkerThread> CompositorWorkerThread::Create(
ThreadableLoadingContext* loading_context, ThreadableLoadingContext* loading_context,
InProcessWorkerObjectProxy& worker_object_proxy, InProcessWorkerObjectProxy& worker_object_proxy) {
double time_origin) {
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("compositor-worker"),
"CompositorWorkerThread::create"); "CompositorWorkerThread::create");
DCHECK(IsMainThread()); DCHECK(IsMainThread());
return WTF::WrapUnique(new CompositorWorkerThread( return WTF::WrapUnique(
loading_context, worker_object_proxy, time_origin)); new CompositorWorkerThread(loading_context, worker_object_proxy));
} }
CompositorWorkerThread::CompositorWorkerThread( CompositorWorkerThread::CompositorWorkerThread(
ThreadableLoadingContext* loading_context, ThreadableLoadingContext* loading_context,
InProcessWorkerObjectProxy& worker_object_proxy, InProcessWorkerObjectProxy& worker_object_proxy)
double time_origin)
: AbstractAnimationWorkletThread(loading_context, worker_object_proxy), : AbstractAnimationWorkletThread(loading_context, worker_object_proxy),
worker_object_proxy_(worker_object_proxy), worker_object_proxy_(worker_object_proxy) {}
time_origin_(time_origin) {}
CompositorWorkerThread::~CompositorWorkerThread() {} CompositorWorkerThread::~CompositorWorkerThread() {}
......
...@@ -18,8 +18,7 @@ class MODULES_EXPORT CompositorWorkerThread final ...@@ -18,8 +18,7 @@ class MODULES_EXPORT CompositorWorkerThread final
public: public:
static std::unique_ptr<CompositorWorkerThread> Create( static std::unique_ptr<CompositorWorkerThread> Create(
ThreadableLoadingContext*, ThreadableLoadingContext*,
InProcessWorkerObjectProxy&, InProcessWorkerObjectProxy&);
double time_origin);
~CompositorWorkerThread() override; ~CompositorWorkerThread() override;
InProcessWorkerObjectProxy& WorkerObjectProxy() const { InProcessWorkerObjectProxy& WorkerObjectProxy() const {
...@@ -32,11 +31,9 @@ class MODULES_EXPORT CompositorWorkerThread final ...@@ -32,11 +31,9 @@ class MODULES_EXPORT CompositorWorkerThread final
private: private:
CompositorWorkerThread(ThreadableLoadingContext*, CompositorWorkerThread(ThreadableLoadingContext*,
InProcessWorkerObjectProxy&, InProcessWorkerObjectProxy&);
double time_origin);
InProcessWorkerObjectProxy& worker_object_proxy_; InProcessWorkerObjectProxy& worker_object_proxy_;
double time_origin_;
}; };
} // namespace blink } // namespace blink
......
...@@ -110,7 +110,7 @@ class CompositorWorkerThreadTest : public ::testing::Test { ...@@ -110,7 +110,7 @@ class CompositorWorkerThreadTest : public ::testing::Test {
std::unique_ptr<CompositorWorkerThread> CreateCompositorWorker() { std::unique_ptr<CompositorWorkerThread> CreateCompositorWorker() {
std::unique_ptr<CompositorWorkerThread> worker_thread = std::unique_ptr<CompositorWorkerThread> worker_thread =
CompositorWorkerThread::Create(nullptr, *object_proxy_, 0); CompositorWorkerThread::Create(nullptr, *object_proxy_);
WorkerClients* clients = WorkerClients::Create(); WorkerClients* clients = WorkerClients::Create();
ProvideCompositorWorkerProxyClientTo(clients, ProvideCompositorWorkerProxyClientTo(clients,
new TestCompositorWorkerProxyClient); new TestCompositorWorkerProxyClient);
......
...@@ -71,11 +71,11 @@ namespace blink { ...@@ -71,11 +71,11 @@ namespace blink {
ServiceWorkerGlobalScope* ServiceWorkerGlobalScope::Create( ServiceWorkerGlobalScope* ServiceWorkerGlobalScope::Create(
ServiceWorkerThread* thread, ServiceWorkerThread* thread,
std::unique_ptr<GlobalScopeCreationParams> creation_params) { std::unique_ptr<GlobalScopeCreationParams> creation_params,
double time_origin) {
ServiceWorkerGlobalScope* context = new ServiceWorkerGlobalScope( ServiceWorkerGlobalScope* context = new ServiceWorkerGlobalScope(
creation_params->script_url, creation_params->user_agent, thread, creation_params->script_url, creation_params->user_agent, thread,
MonotonicallyIncreasingTime(), time_origin, std::move(creation_params->starter_origin_privilege_data),
std::move(creation_params->starter_origin_privilege_data),
creation_params->worker_clients); creation_params->worker_clients);
context->SetV8CacheOptions(creation_params->v8_cache_options); context->SetV8CacheOptions(creation_params->v8_cache_options);
......
...@@ -59,7 +59,8 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final : public WorkerGlobalScope { ...@@ -59,7 +59,8 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final : public WorkerGlobalScope {
public: public:
static ServiceWorkerGlobalScope* Create( static ServiceWorkerGlobalScope* Create(
ServiceWorkerThread*, ServiceWorkerThread*,
std::unique_ptr<GlobalScopeCreationParams>); std::unique_ptr<GlobalScopeCreationParams>,
double time_origin);
~ServiceWorkerGlobalScope() override; ~ServiceWorkerGlobalScope() override;
bool IsServiceWorkerGlobalScope() const override { return true; } bool IsServiceWorkerGlobalScope() const override { return true; }
......
...@@ -57,7 +57,8 @@ void ServiceWorkerThread::ClearWorkerBackingThread() { ...@@ -57,7 +57,8 @@ void ServiceWorkerThread::ClearWorkerBackingThread() {
WorkerOrWorkletGlobalScope* ServiceWorkerThread::CreateWorkerGlobalScope( WorkerOrWorkletGlobalScope* ServiceWorkerThread::CreateWorkerGlobalScope(
std::unique_ptr<GlobalScopeCreationParams> creation_params) { std::unique_ptr<GlobalScopeCreationParams> creation_params) {
return ServiceWorkerGlobalScope::Create(this, std::move(creation_params)); return ServiceWorkerGlobalScope::Create(this, std::move(creation_params),
time_origin_);
} }
InstalledScriptsManager* ServiceWorkerThread::GetInstalledScriptsManager() { InstalledScriptsManager* ServiceWorkerThread::GetInstalledScriptsManager() {
......
...@@ -16,8 +16,7 @@ AudioWorkletMessagingProxy::AudioWorkletMessagingProxy( ...@@ -16,8 +16,7 @@ AudioWorkletMessagingProxy::AudioWorkletMessagingProxy(
AudioWorkletMessagingProxy::~AudioWorkletMessagingProxy() {} AudioWorkletMessagingProxy::~AudioWorkletMessagingProxy() {}
std::unique_ptr<WorkerThread> AudioWorkletMessagingProxy::CreateWorkerThread( std::unique_ptr<WorkerThread> AudioWorkletMessagingProxy::CreateWorkerThread() {
double origin_time) {
return AudioWorkletThread::Create(CreateThreadableLoadingContext(), return AudioWorkletThread::Create(CreateThreadableLoadingContext(),
WorkletObjectProxy()); WorkletObjectProxy());
} }
......
...@@ -20,7 +20,7 @@ class AudioWorkletMessagingProxy final : public ThreadedWorkletMessagingProxy { ...@@ -20,7 +20,7 @@ class AudioWorkletMessagingProxy final : public ThreadedWorkletMessagingProxy {
private: private:
~AudioWorkletMessagingProxy() override; ~AudioWorkletMessagingProxy() override;
std::unique_ptr<WorkerThread> CreateWorkerThread(double origin_time) override; std::unique_ptr<WorkerThread> CreateWorkerThread() override;
}; };
} // namespace blink } // namespace blink
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment