 +        script->Run();
 +    }
 +
-     return true;
- }
- 
+     if (m_frame->document())
+         context->AllowCodeGenerationFromStrings(m_frame->document()->contentSecurityPolicy()->allowEval(0, ContentSecurityPolicy::SuppressReport));
+ 
+@@ -385,6 +443,11 @@ bool V8DOMWindowShell::installDOMWindow(v8::Handle<v8::Context> context, DOMWind
+     V8DOMWrapper::setDOMWrapper(v8::Handle<v8::Object>::Cast(windowWrapper->GetPrototype()), &V8DOMWindow::info, window);
+     V8DOMWrapper::setJSWrapperForDOMObject(PassRefPtr<DOMWindow>(window), windowWrapper);
+ 
++    windowWrapper->SetAccessor(v8::String::New("global"), globalGetter);
++    windowWrapper->SetAccessor(v8::String::New("process"), globalGetter);
++    windowWrapper->SetAccessor(v8::String::New("require"), globalGetter);
++    windowWrapper->SetAccessor(v8::String::New("Buffer"), globalGetter);
++
+     // Install the windowWrapper as the prototype of the innerGlobalObject.
+     // The full structure of the global object is as follows:
+     //
+@@ -444,6 +507,8 @@ void V8DOMWindowShell::clearDocumentProperty()
+ 
+ void V8DOMWindowShell::setSecurityToken()
+ {
++    m_context->SetSecurityToken(node::g_context->GetSecurityToken());
++#if 0
+     Document* document = m_frame->document();
+ 
+     // Ask the document's SecurityOrigin to generate a security token.
+@@ -470,6 +535,7 @@ void V8DOMWindowShell::setSecurityToken()
+     // NOTE: V8 does identity comparison in fast path, must use a symbol
+     // as the security token.
+     m_context->SetSecurityToken(v8::String::NewSymbol(utf8Token.data(), utf8Token.length()));
++#endif
+ }
+ 
+ void V8DOMWindowShell::updateDocument()
 diff --git a/Source/WebCore/loader/CrossOriginAccessControl.cpp b/Source/WebCore/loader/CrossOriginAccessControl.cpp
 index aba2ba0..ec76d5a 100644
 --- a/Source/WebCore/loader/CrossOriginAccessControl.cpp

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

     }
     if ($interfaceName eq "HTMLDocument") {
diff --git a/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp b/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp
index 4dfce70..dcd22d8 100644
--- a/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp
+++ b/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp
@@ -63,6 +63,13 @@
