  
      initializeV8IfNeeded();
  
-@@ -328,7 +334,37 @@ bool V8DOMWindowShell::initContextIfNeeded()
+@@ -328,7 +334,43 @@ bool V8DOMWindowShell::initContextIfNeeded()
  
      updateDocument();
  

+    bool is_file_protocol = protocol_script->Run()->BooleanValue();
+    use_node = is_file_protocol ? use_node : false;
+
+    // Transfer node's global symbols to webkit
+    if (use_node) {
+        // Don't use WebKit's timers in node
+        v8::Local<v8::Object> disableMap = v8::Object::New();
+        disableMap->Set(v8::String::New("setTimeout"), v8::Integer::New(1));

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