 +    }
  
      if (m_frame->document())
-         v8Context->AllowCodeGenerationFromStrings(m_frame->document()->contentSecurityPolicy()->allowEval(0, ContentSecurityPolicy::SuppressReport));
-@@ -355,6 +382,27 @@ bool V8DOMWindowShell::initContextIfNeeded()
+         context->AllowCodeGenerationFromStrings(m_frame->document()->contentSecurityPolicy()->allowEval(0, ContentSecurityPolicy::SuppressReport));
+@@ -339,6 +366,27 @@ bool V8DOMWindowShell::initContextIfNeeded()
      // we do isolated worlds the WebCore way.
      m_frame->loader()->dispatchDidClearWindowObjectInWorld(0);
  

     templ->SetInternalFieldCount(V8DOMWindow::internalFieldCount);
     return templ;
 }
@@ -2938,7 +2938,7 @@ END
     // Set access check callbacks, but turned off initially.
     // When a context is detached from a frame, turn on the access check.
     // Turning on checks also invalidates inline caches of the object.

 #include <algorithm>
 #include <stdio.h>
 #include <utility>
@@ -297,6 +302,7 @@ bool V8DOMWindowShell::initContextIfNeeded()
         return true;
 
     v8::HandleScope handleScope;
+    v8::Handle<v8::Context> nodeContext = v8::Context::GetEntered();
 
     initializeV8IfNeeded();
 
@@ -328,7 +334,28 @@ bool V8DOMWindowShell::initContextIfNeeded()
 
     updateDocument();
 
-    setSecurityToken();
+    // Bypass default security token
+    context->SetSecurityToken(nodeContext->GetSecurityToken());
+
+    // Do we integrate node?
+    bool use_node = CommandLine::ForCurrentProcess()->HasSwitch(switches::kmNodejs);
