| Index: Source/modules/serviceworkers/ServiceWorkerGlobalScope.cpp
|
| diff --git a/Source/modules/serviceworkers/ServiceWorkerGlobalScope.cpp b/Source/modules/serviceworkers/ServiceWorkerGlobalScope.cpp
|
| index d0b455dfd9bb1dc9b772c2cf460ee669cd71647e..0ebb688687089cf41970d41edfb3110fadcf1dfb 100644
|
| --- a/Source/modules/serviceworkers/ServiceWorkerGlobalScope.cpp
|
| +++ b/Source/modules/serviceworkers/ServiceWorkerGlobalScope.cpp
|
| @@ -65,6 +65,7 @@ PassRefPtrWillBeRawPtr<ServiceWorkerGlobalScope> ServiceWorkerGlobalScope::creat
|
| ServiceWorkerGlobalScope::ServiceWorkerGlobalScope(const KURL& url, const String& userAgent, ServiceWorkerThread* thread, double timeOrigin, const SecurityOrigin* starterOrigin, PassOwnPtrWillBeRawPtr<WorkerClients> workerClients)
|
| : WorkerGlobalScope(url, userAgent, thread, timeOrigin, starterOrigin, workerClients)
|
| , m_fetchManager(adoptPtr(new FetchManager(this)))
|
| + , m_didEvaluateScript(false)
|
| {
|
| }
|
|
|
| @@ -72,6 +73,11 @@ ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope()
|
| {
|
| }
|
|
|
| +void ServiceWorkerGlobalScope::didEvaluateWorkerScript()
|
| +{
|
| + m_didEvaluateScript = true;
|
| +}
|
| +
|
| void ServiceWorkerGlobalScope::stopFetch()
|
| {
|
| m_fetchManager.clear();
|
| @@ -165,6 +171,20 @@ void ServiceWorkerGlobalScope::close(ExceptionState& exceptionState)
|
| exceptionState.throwDOMException(InvalidAccessError, "Not supported.");
|
| }
|
|
|
| +bool ServiceWorkerGlobalScope::addEventListener(const AtomicString& eventType, PassRefPtr<EventListener> listener, bool useCapture)
|
| +{
|
| + if (m_didEvaluateScript) {
|
| + if (eventType == EventTypeNames::install) {
|
| + RefPtrWillBeRawPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(JSMessageSource, WarningMessageLevel, "Event handler of 'install' event must be added on the initial evaluation of worker script.");
|
| + addMessageToWorkerConsole(consoleMessage.release());
|
| + } else if (eventType == EventTypeNames::activate) {
|
| + RefPtrWillBeRawPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(JSMessageSource, WarningMessageLevel, "Event handler of 'activate' event must be added on the initial evaluation of worker script.");
|
| + addMessageToWorkerConsole(consoleMessage.release());
|
| + }
|
| + }
|
| + return WorkerGlobalScope::addEventListener(eventType, listener, useCapture);
|
| +}
|
| +
|
| const AtomicString& ServiceWorkerGlobalScope::interfaceName() const
|
| {
|
| return EventTargetNames::ServiceWorkerGlobalScope;
|
|
|