Title: [114837] trunk/Source/WebCore
- Revision
- 114837
- Author
- [email protected]
- Date
- 2012-04-20 22:14:41 -0700 (Fri, 20 Apr 2012)
Log Message
Unreviewed, rolling out r114768.
http://trac.webkit.org/changeset/114768
https://bugs.webkit.org/show_bug.cgi?id=84521
Original patch was not the problem, re-applying (Requested by
pfeldman_ on #webkit).
Patch by Sheriff Bot <[email protected]> on 2012-04-20
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::setInjectedScriptContextDebugId):
(WebCore):
(WebCore::V8IsolatedContext::V8IsolatedContext):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::evaluateInIsolatedWorld):
* bindings/v8/V8Proxy.h:
(V8Proxy):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (114836 => 114837)
--- trunk/Source/WebCore/ChangeLog 2012-04-21 03:07:52 UTC (rev 114836)
+++ trunk/Source/WebCore/ChangeLog 2012-04-21 05:14:41 UTC (rev 114837)
@@ -1,3 +1,21 @@
+2012-04-20 Sheriff Bot <[email protected]>
+
+ Unreviewed, rolling out r114768.
+ http://trac.webkit.org/changeset/114768
+ https://bugs.webkit.org/show_bug.cgi?id=84521
+
+ Original patch was not the problem, re-applying (Requested by
+ pfeldman_ on #webkit).
+
+ * bindings/v8/V8IsolatedContext.cpp:
+ (WebCore::setInjectedScriptContextDebugId):
+ (WebCore):
+ (WebCore::V8IsolatedContext::V8IsolatedContext):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::evaluateInIsolatedWorld):
+ * bindings/v8/V8Proxy.h:
+ (V8Proxy):
+
2012-04-20 Adrienne Walker <[email protected]>
[chromium] Refactor opaque content transform out of Skia context
Modified: trunk/Source/WebCore/bindings/v8/V8IsolatedContext.cpp (114836 => 114837)
--- trunk/Source/WebCore/bindings/v8/V8IsolatedContext.cpp 2012-04-21 03:07:52 UTC (rev 114836)
+++ trunk/Source/WebCore/bindings/v8/V8IsolatedContext.cpp 2012-04-21 05:14:41 UTC (rev 114837)
@@ -38,9 +38,8 @@
#include "V8BindingPerContextData.h"
#include "V8DOMWindow.h"
#include "V8Proxy.h"
+#include <wtf/StringExtras.h>
-#include <stdio.h>
-
namespace WebCore {
V8IsolatedContext* V8IsolatedContext::isolatedContext()
@@ -55,11 +54,25 @@
delete context;
}
+static void setInjectedScriptContextDebugId(v8::Handle<v8::Context> targetContext, int debugId)
+{
+ char buffer[32];
+ if (debugId == -1)
+ snprintf(buffer, sizeof(buffer), "injected");
+ else
+ snprintf(buffer, sizeof(buffer), "injected,%d", debugId);
+ targetContext->SetData(v8::String::New(buffer));
+}
+
V8IsolatedContext::V8IsolatedContext(V8Proxy* proxy, int extensionGroup, int worldId)
: m_world(IsolatedWorld::create(worldId)),
m_frame(proxy->frame())
{
v8::HandleScope scope;
+ v8::Handle<v8::Context> mainWorldContext = proxy->windowShell()->context();
+ if (mainWorldContext.IsEmpty())
+ return;
+
// FIXME: We should be creating a new V8DOMWindowShell here instead of riping out the context.
m_context = SharedPersistent<v8::Context>::create(proxy->windowShell()->createNewContext(v8::Handle<v8::Object>(), extensionGroup, m_world->id()));
if (m_context->get().IsEmpty())
@@ -68,6 +81,9 @@
// Run code in the new context.
v8::Context::Scope contextScope(m_context->get());
+ // Setup context id for JS debugger.
+ setInjectedScriptContextDebugId(m_context->get(), proxy->contextDebugId(mainWorldContext));
+
getGlobalObject(m_context->get())->SetPointerInInternalField(V8DOMWindow::enteredIsolatedWorldIndex, this);
m_perContextData = V8BindingPerContextData::create(m_context->get());
Modified: trunk/Source/WebCore/bindings/v8/V8Proxy.cpp (114836 => 114837)
--- trunk/Source/WebCore/bindings/v8/V8Proxy.cpp 2012-04-21 03:07:52 UTC (rev 114836)
+++ trunk/Source/WebCore/bindings/v8/V8Proxy.cpp 2012-04-21 05:14:41 UTC (rev 114837)
@@ -239,13 +239,6 @@
// FIXME: We should change this to using window shells to match JSC.
m_isolatedWorlds.set(worldID, isolatedContext);
-
- // Setup context id for JS debugger.
- if (!setInjectedScriptContextDebugId(isolatedContext->context())) {
- m_isolatedWorlds.take(worldID);
- delete isolatedContext;
- return;
- }
}
IsolatedWorldSecurityOriginMap::iterator securityOriginIter = m_isolatedWorldSecurityOrigins.find(worldID);
@@ -278,25 +271,6 @@
iter->second->setSecurityOrigin(securityOrigin);
}
-bool V8Proxy::setInjectedScriptContextDebugId(v8::Handle<v8::Context> targetContext)
-{
- // Setup context id for JS debugger.
- v8::Context::Scope contextScope(targetContext);
- v8::Handle<v8::Context> context = windowShell()->context();
- if (context.IsEmpty())
- return false;
- int debugId = contextDebugId(context);
-
- char buffer[32];
- if (debugId == -1)
- snprintf(buffer, sizeof(buffer), "injected");
- else
- snprintf(buffer, sizeof(buffer), "injected,%d", debugId);
- targetContext->SetData(v8::String::New(buffer));
-
- return true;
-}
-
PassOwnPtr<v8::ScriptData> V8Proxy::precompileScript(v8::Handle<v8::String> code, CachedScript* cachedScript)
{
// A pseudo-randomly chosen ID used to store and retrieve V8 ScriptData from
Modified: trunk/Source/WebCore/bindings/v8/V8Proxy.h (114836 => 114837)
--- trunk/Source/WebCore/bindings/v8/V8Proxy.h 2012-04-21 03:07:52 UTC (rev 114836)
+++ trunk/Source/WebCore/bindings/v8/V8Proxy.h 2012-04-21 05:14:41 UTC (rev 114837)
@@ -272,9 +272,6 @@
PassOwnPtr<v8::ScriptData> precompileScript(v8::Handle<v8::String>, CachedScript*);
- // Returns false when we're out of memory in V8.
- bool setInjectedScriptContextDebugId(v8::Handle<v8::Context> targetContext);
-
static const char* rangeExceptionName(int exceptionCode);
static const char* eventExceptionName(int exceptionCode);
static const char* xmlHttpRequestExceptionName(int exceptionCode);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes