JavaScriptCore:
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Dec 2007 23:53:04 +0000 (23:53 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Dec 2007 23:53:04 +0000 (23:53 +0000)
        Reviewed by Sam.

        Make isSafeScript const.

        * kjs/JSGlobalObject.h:
        (KJS::JSGlobalObject::isSafeScript):

WebCore:

        Reviewed by Sam.

        Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject
        implementation, which always returns true(!).

        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        Make the static isSafeScript method take two JSGlobalObjects.

        * bindings/js/kjs_window.h:
        (KJS::Window::isSafeScript):
        Implement isSafeScript and have it call the static method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/JSGlobalObject.h
WebCore/ChangeLog
WebCore/bindings/js/kjs_window.cpp
WebCore/bindings/js/kjs_window.h

index 04d4c39d981e30c86c2e8f5e2c51bb52ad5df52a..2ae3831d54118aaf9c090b629c72cbe49e49e720 100644 (file)
@@ -1,3 +1,12 @@
+2007-12-04  Anders Carlsson  <andersca@apple.com>
+
+        Reviewed by Sam.
+
+        Make isSafeScript const.
+        
+        * kjs/JSGlobalObject.h:
+        (KJS::JSGlobalObject::isSafeScript):
+
 2007-12-04  Darin Adler  <darin@apple.com>
 
         Reviewed by Geoff.
index 6fc78ce9732d5af12b4fa1e9dbef8b9df0a444a9..59272e2c6f105e643b46017d9d82218ba7015278 100644 (file)
@@ -45,7 +45,7 @@ namespace KJS {
 
         virtual bool shouldInterruptScript() const { return true; }
 
-        virtual bool isSafeScript(const JSGlobalObject*) { return true; }
+        virtual bool isSafeScript(const JSGlobalObject*) const { return true; }
 
     private:
         std::auto_ptr<Interpreter> m_interpreter;
index 50ea501c6928986a812d3b66cf3022cb812d0d51..0dca724fa50725fd280e7795b8d1189d4ec40198 100644 (file)
@@ -1,3 +1,18 @@
+2007-12-04  Anders Carlsson  <andersca@apple.com>
+
+        Reviewed by Sam.
+
+        Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject
+        implementation, which always returns true(!).
+        
+        * bindings/js/kjs_window.cpp:
+        (KJS::Window::isSafeScript):
+        Make the static isSafeScript method take two JSGlobalObjects.
+        
+        * bindings/js/kjs_window.h:
+        (KJS::Window::isSafeScript):
+        Implement isSafeScript and have it call the static method.
+
 2007-11-27  Adam Roben  <aroben@apple.com>
 
         Make the implementation of Frame::setNeedsReapplyStyles cross-platform
index 643eb216d3f00fb03b72ea7d6d5f5a6602bcf856..cd8414c51d4dfb44c7da08d8372228be0be8afd8 100644 (file)
@@ -846,13 +846,13 @@ static bool shouldLoadAsEmptyDocument(const KURL &url)
   return url.protocol().lower() == "about" || url.isEmpty();
 }
 
-bool Window::isSafeScript(const ScriptInterpreter *origin, const ScriptInterpreter *target)
+bool Window::isSafeScript(const JSGlobalObject *origin, const JSGlobalObject *target)
 {
     if (origin == target)
         return true;
         
-    Frame* originFrame = origin->frame();
-    Frame* targetFrame = target->frame();
+    Frame* originFrame = static_cast<const Window*>(origin)->impl()->frame();
+    Frame* targetFrame = static_cast<const Window*>(target)->impl()->frame();
 
     // JS may be attempting to access the "window" object, which should be valid,
     // even if the document hasn't been constructed yet.  If the document doesn't
index 500e0e3e19d307bbd84a24f30ee597fe018ac552..013694bcf315155bed1f26fbc5f63ec0c1649e91 100644 (file)
@@ -103,7 +103,8 @@ namespace KJS {
 
     void timerFired(DOMWindowTimer*);
     
-    static bool isSafeScript(const ScriptInterpreter *origin, const ScriptInterpreter *target);
+    static bool isSafeScript(const JSGlobalObject *origin, const JSGlobalObject *target);
+    virtual bool isSafeScript(const JSGlobalObject* other) const { return Window::isSafeScript(this, other); }
 
     Location* location() const;
 
@@ -140,7 +141,7 @@ namespace KJS {
     
     virtual ExecState* globalExec();
     virtual bool shouldInterruptScript() const;
-    virtual bool isSafeScript(ExecState*) const;
+    bool isSafeScript(ExecState*) const;
 
     enum {
         // Attributes