Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: Source/core/workers/WorkerGlobalScope.cpp

Issue 27311002: Introduce ExecutionContextClient (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix clang build error Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/workers/WorkerGlobalScope.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved.
3 * Copyright (C) 2009, 2011 Google Inc. All Rights Reserved. 3 * Copyright (C) 2009, 2011 Google Inc. All Rights Reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 , m_userAgent(userAgent) 82 , m_userAgent(userAgent)
83 , m_script(adoptPtr(new WorkerScriptController(this))) 83 , m_script(adoptPtr(new WorkerScriptController(this)))
84 , m_thread(thread) 84 , m_thread(thread)
85 , m_workerInspectorController(adoptPtr(new WorkerInspectorController(this))) 85 , m_workerInspectorController(adoptPtr(new WorkerInspectorController(this)))
86 , m_closing(false) 86 , m_closing(false)
87 , m_eventQueue(WorkerEventQueue::create(this)) 87 , m_eventQueue(WorkerEventQueue::create(this))
88 , m_timeOrigin(timeOrigin) 88 , m_timeOrigin(timeOrigin)
89 , m_workerClients(workerClients) 89 , m_workerClients(workerClients)
90 { 90 {
91 ScriptWrappable::init(this); 91 ScriptWrappable::init(this);
92 setClient(this);
92 setSecurityOrigin(SecurityOrigin::create(url)); 93 setSecurityOrigin(SecurityOrigin::create(url));
93 m_workerClients->reattachThread(); 94 m_workerClients->reattachThread();
94 } 95 }
95 96
96 WorkerGlobalScope::~WorkerGlobalScope() 97 WorkerGlobalScope::~WorkerGlobalScope()
97 { 98 {
98 ASSERT(thread()->isCurrentThread()); 99 ASSERT(thread()->isCurrentThread());
99 100
100 // Make sure we have no observers. 101 // Make sure we have no observers.
101 notifyObserversOfStop(); 102 notifyObserversOfStop();
102 103
103 // Notify proxy that we are going away. This can free the WorkerThread objec t, so do not access it after this. 104 // Notify proxy that we are going away. This can free the WorkerThread objec t, so do not access it after this.
104 thread()->workerReportingProxy().workerGlobalScopeDestroyed(); 105 thread()->workerReportingProxy().workerGlobalScopeDestroyed();
106
107 setClient(0);
105 } 108 }
106 109
107 void WorkerGlobalScope::applyContentSecurityPolicyFromString(const String& polic y, ContentSecurityPolicy::HeaderType contentSecurityPolicyType) 110 void WorkerGlobalScope::applyContentSecurityPolicyFromString(const String& polic y, ContentSecurityPolicy::HeaderType contentSecurityPolicyType)
108 { 111 {
109 setContentSecurityPolicy(ContentSecurityPolicy::create(this)); 112 setContentSecurityPolicy(ContentSecurityPolicy::create(this));
110 contentSecurityPolicy()->didReceiveHeader(policy, contentSecurityPolicyType) ; 113 contentSecurityPolicy()->didReceiveHeader(policy, contentSecurityPolicyType) ;
111 } 114 }
112 115
113 ExecutionContext* WorkerGlobalScope::executionContext() const 116 ExecutionContext* WorkerGlobalScope::executionContext() const
114 { 117 {
(...skipping 23 matching lines...) Expand all
138 String WorkerGlobalScope::userAgent(const KURL&) const 141 String WorkerGlobalScope::userAgent(const KURL&) const
139 { 142 {
140 return m_userAgent; 143 return m_userAgent;
141 } 144 }
142 145
143 void WorkerGlobalScope::disableEval(const String& errorMessage) 146 void WorkerGlobalScope::disableEval(const String& errorMessage)
144 { 147 {
145 m_script->disableEval(errorMessage); 148 m_script->disableEval(errorMessage);
146 } 149 }
147 150
151 double WorkerGlobalScope::timerAlignmentInterval() const
152 {
153 return DOMTimer::visiblePageAlignmentInterval();
154 }
155
148 WorkerLocation* WorkerGlobalScope::location() const 156 WorkerLocation* WorkerGlobalScope::location() const
149 { 157 {
150 if (!m_location) 158 if (!m_location)
151 m_location = WorkerLocation::create(m_url); 159 m_location = WorkerLocation::create(m_url);
152 return m_location.get(); 160 return m_location.get();
153 } 161 }
154 162
155 void WorkerGlobalScope::close() 163 void WorkerGlobalScope::close()
156 { 164 {
157 if (m_closing) 165 if (m_closing)
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 bool WorkerGlobalScope::idleNotification() 322 bool WorkerGlobalScope::idleNotification()
315 { 323 {
316 return script()->idleNotification(); 324 return script()->idleNotification();
317 } 325 }
318 326
319 WorkerEventQueue* WorkerGlobalScope::eventQueue() const 327 WorkerEventQueue* WorkerGlobalScope::eventQueue() const
320 { 328 {
321 return m_eventQueue.get(); 329 return m_eventQueue.get();
322 } 330 }
323 331
332 PassOwnPtr<LifecycleNotifier> WorkerGlobalScope::createLifecycleNotifier()
333 {
334 return ContextLifecycleNotifier::create(this);
335 }
336
324 } // namespace WebCore 337 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/workers/WorkerGlobalScope.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698