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

Unified Diff: third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp

Issue 1535943005: Initial implementation of bindings and basic classes for worklets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix memory leak. Created 5 years 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
diff --git a/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp b/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
index d5776efe28175ffc7047b5f08ffbfa35a2271953..53132f825f146cc1ba4b96cd68d82a38e4400f50 100644
--- a/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
+++ b/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
@@ -53,6 +53,7 @@
#include "core/inspector/WorkerInspectorController.h"
#include "core/loader/WorkerThreadableLoader.h"
#include "core/frame/LocalDOMWindow.h"
+#include "core/workers/AbstractGlobalScope.h"
#include "core/workers/WorkerNavigator.h"
#include "core/workers/WorkerClients.h"
#include "core/workers/WorkerConsole.h"
@@ -72,8 +73,7 @@
namespace blink {
WorkerGlobalScope::WorkerGlobalScope(const KURL& url, const String& userAgent, WorkerThread* thread, double timeOrigin, PassOwnPtr<SecurityOrigin::PrivilegeData> starterOriginPrivilageData, PassOwnPtrWillBeRawPtr<WorkerClients> workerClients)
- : m_url(url)
- , m_userAgent(userAgent)
+ : AbstractGlobalScope(url, userAgent)
, m_v8CacheOptions(V8CacheOptionsDefault)
, m_script(WorkerScriptController::create(this, thread->isolate()))
, m_thread(thread)
@@ -118,34 +118,14 @@ ExecutionContext* WorkerGlobalScope::executionContext() const
return const_cast<WorkerGlobalScope*>(this);
}
-const KURL& WorkerGlobalScope::virtualURL() const
+v8::Isolate* WorkerGlobalScope::isolate() const
{
- return m_url;
+ return thread()->isolate();
}
-KURL WorkerGlobalScope::virtualCompleteURL(const String& url) const
+void WorkerGlobalScope::didStopRunLoop()
{
- return completeURL(url);
-}
-
-KURL WorkerGlobalScope::completeURL(const String& url) const
-{
- // Always return a null URL when passed a null string.
- // FIXME: Should we change the KURL constructor to have this behavior?
- if (url.isNull())
- return KURL();
- // Always use UTF-8 in Workers.
- return KURL(m_url, url);
-}
-
-String WorkerGlobalScope::userAgent() const
-{
- return m_userAgent;
-}
-
-void WorkerGlobalScope::disableEval(const String& errorMessage)
-{
- m_script->disableEval(errorMessage);
+ thread()->didStopRunLoop();
}
DOMTimerCoordinator* WorkerGlobalScope::timers()
@@ -156,7 +136,7 @@ DOMTimerCoordinator* WorkerGlobalScope::timers()
WorkerLocation* WorkerGlobalScope::location() const
{
if (!m_location)
- m_location = WorkerLocation::create(m_url);
+ m_location = WorkerLocation::create(url());
return m_location.get();
}
@@ -176,7 +156,7 @@ WorkerConsole* WorkerGlobalScope::console()
WorkerNavigator* WorkerGlobalScope::navigator() const
{
if (!m_navigator)
- m_navigator = WorkerNavigator::create(m_userAgent);
+ m_navigator = WorkerNavigator::create(userAgent());
return m_navigator.get();
}
@@ -373,17 +353,6 @@ void WorkerGlobalScope::exceptionHandled(int exceptionId, bool isHandled)
addConsoleMessage(consoleMessage.release());
}
-bool WorkerGlobalScope::isSecureContext(String& errorMessage, const SecureContextCheck privilegeContextCheck) const
-{
- // Until there are APIs that are available in workers and that
- // require a privileged context test that checks ancestors, just do
- // a simple check here. Once we have a need for a real
- // |isSecureContext| check here, we can check the responsible
- // document for a privileged context at worker creation time, pass
- // it in via WorkerThreadStartupData, and check it here.
- return securityOrigin()->isPotentiallyTrustworthy(errorMessage);
-}
-
void WorkerGlobalScope::removeURLFromMemoryCache(const KURL& url)
{
m_thread->workerLoaderProxy()->postTaskToLoader(createCrossThreadTask(&WorkerGlobalScope::removeURLFromMemoryCacheInternal, url));
@@ -424,9 +393,8 @@ DEFINE_TRACE(WorkerGlobalScope)
visitor->trace(m_eventListeners);
HeapSupplementable<WorkerGlobalScope>::trace(visitor);
#endif
- ExecutionContext::trace(visitor);
+ AbstractGlobalScope::trace(visitor);
EventTargetWithInlineData::trace(visitor);
- SecurityContext::trace(visitor);
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698