Reviewed by Sam Weinig
authorsullivan@apple.com <sullivan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 10 Nov 2007 23:38:43 +0000 (23:38 +0000)
committersullivan@apple.com <sullivan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 10 Nov 2007 23:38:43 +0000 (23:38 +0000)
        Rest of fix for 5394877

        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
        private browsing mode either.

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

WebCore/ChangeLog
WebCore/bindings/js/kjs_window.cpp

index 4dcc767771eefbaa35eaa297efbbd64a351a1c6e..bddeecaf74e7c74b28bc705971b7fe822f9be54f 100644 (file)
@@ -1,3 +1,14 @@
+2007-11-10  John Sullivan  <sullivan@apple.com>
+
+        Reviewed by Sam Weinig
+
+        Rest of fix for 5394877
+
+        * bindings/js/kjs_window.cpp:
+        (KJS::Window::isSafeScript):
+        Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
+        private browsing mode either.
+
 2007-11-10  Nikolas Zimmermann  <zimmermann@kde.org>
 
         Reviewed by Oliver.
index dd63d2ae55cb59657d87c3d00b2af69df3c27c34..ba9d85a3863d4a0170c462ba1036c67076476f0e 100644 (file)
@@ -936,15 +936,17 @@ bool Window::isSafeScript(ExecState *exec) const
   if (actSecurityOrigin.canAccess(thisSecurityOrigin))
     return true;
 
-  // FIXME: this error message should contain more specifics of why the same origin check has failed.
-  String message = String::format("Unsafe JavaScript attempt to access frame with URL %s from frame with URL %s. Domains, protocols and ports must match.\n",
-                                  thisDocument->URL().utf8().data(), actDocument->URL().utf8().data());
-
-  if (Interpreter::shouldPrintExceptions())
-    printf("%s", message.utf8().data());
-
-  if (Page* page = frame->page())
-    page->chrome()->addMessageToConsole(JSMessageSource, ErrorMessageLevel, message, 1, String());
+    if (!frame->settings()->privateBrowsingEnabled()) {
+        // FIXME: this error message should contain more specifics of why the same origin check has failed.
+        String message = String::format("Unsafe JavaScript attempt to access frame with URL %s from frame with URL %s. Domains, protocols and ports must match.\n",
+                                        thisDocument->URL().utf8().data(), actDocument->URL().utf8().data());
+        
+        if (Interpreter::shouldPrintExceptions())
+            printf("%s", message.utf8().data());
+        
+        if (Page* page = frame->page())
+            page->chrome()->addMessageToConsole(JSMessageSource, ErrorMessageLevel, message, 1, String());
+    }
 
   return false;
 }