WebKit-https.git
12 years ago2008-03-10 Brent Fulgham <bfulgham@gmail.com>
aroben@apple.com [Mon, 10 Mar 2008 23:39:06 +0000 (23:39 +0000)]
2008-03-10  Brent Fulgham  <bfulgham@gmail.com>

        Windows build fix

        Reviewed by Adam.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
        Set the PATH to include Cygwin before running touch.

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

12 years ago Fix 64-bit builds.
ddkilzer@apple.com [Mon, 10 Mar 2008 23:02:43 +0000 (23:02 +0000)]
    Fix 64-bit builds.

        Reviewed by Stephanie.

        WebCore.exp only gets generated once for both 32-bit and 64-bit builds,
        so we must exclude the _NPN symbols when creating WebCore.LP64.exp.

        * WebCore.xcodeproj/project.pbxproj: Reverted build phase shell code to
        r30826 to remove _NPN symbols from 64-bit builds in WebCore.LP64.exp.

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

12 years ago Reviewed by NOBODY.
eric@webkit.org [Mon, 10 Mar 2008 22:57:14 +0000 (22:57 +0000)]
    Reviewed by NOBODY.

        Build fix for JSC on windows.

        * API/JSStringRefCF.cpp:
        (JSStringCreateWithCFString):
        * kjs/function.cpp:
        (KJS::decode):
        * kjs/nodes2string.cpp:
        (KJS::escapeStringForPrettyPrinting):

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

12 years ago No review, build fix only.
eric@webkit.org [Mon, 10 Mar 2008 22:44:33 +0000 (22:44 +0000)]
    No review, build fix only.

        Attempt to fix the windows build?

        * kjs/ustring.h: change unsigned short to UChar

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

12 years ago Reviewed by Darin.
eric@webkit.org [Mon, 10 Mar 2008 22:06:44 +0000 (22:06 +0000)]
    Reviewed by Darin.

        Remove KJS::UChar, use ::UChar instead
        http://bugs.webkit.org/show_bug.cgi?id=17017

        To functional changes, thus no tests.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::hasCSSPropertyNamePrefix):
        (WebCore::cssPropertyName):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::windowProtoFuncAToB):
        (WebCore::windowProtoFuncBToA):
        * bindings/js/JSSVGPODTypeWrapper.h:
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::evaluate):
        * bridge/objc/objc_utility.mm:
        (KJS::Bindings::throwError):
        * dom/Document.cpp:
        (WebCore::Document::parseQualifiedName):
        * platform/text/AtomicString.cpp:
        (WebCore::AtomicString::add):
        * platform/text/String.cpp:
        (WebCore::String::String):
        (WebCore::String::operator Identifier):
        (WebCore::String::operator UString):
        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::decode):
        * svg/SVGAnimatedTemplate.h:

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

12 years ago Fix build break caused by r30920.
sfalken@apple.com [Mon, 10 Mar 2008 18:58:59 +0000 (18:58 +0000)]
    Fix build break caused by r30920.

        Serialize remaining dependent builds by adding dependencies.
        Visual Studio per-vcproj parallelization doesn't add a lot of value
        since so many of our builds are dependent - this just enforces that.
        We do our parallelization via pdevenv, which works much better.

        * WebKit.vcproj/WebKit.sln:
        * WebKit.vcproj/WebKit.submit.sln:

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

12 years ago2008-03-10 Xan Lopez <xan@gnome.org>
alp@webkit.org [Mon, 10 Mar 2008 18:25:08 +0000 (18:25 +0000)]
2008-03-10  Xan Lopez  <xan@gnome.org>

        Reviewed by Alp Toker.

        Fix "missing braces" compiler warning.

        * webkit/webkitwebview.cpp:

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

12 years agoWebCore:
darin@apple.com [Mon, 10 Mar 2008 17:37:19 +0000 (17:37 +0000)]
WebCore:

        Reviewed by Sam.

        - eliminate keyboard UI mode method from WebCoreFrameBridge

        * page/ChromeClient.h: Added keyboardUIMode function.
        (WebCore::ChromeClient::keyboardUIMode): Ditto.
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::tabsToAllControls): Call chrome client function instead
        of bridge function.
        * page/mac/WebCoreFrameBridge.h: Removed keyboardUIMode method, and other unused
        ones.

        * WebCore.xcodeproj/project.pbxproj: Allowed Xcode to change the project.
        Do not try to fight the Xcode.

WebKit/mac:

        Reviewed by Sam.

        - eliminate keyboard UI mode method from WebCoreFrameBridge

        * WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
        * WebCoreSupport/WebFrameBridge.h: Removed unused things, including the
        fields for keyboard UI mode.
        * WebCoreSupport/WebFrameBridge.mm:
        (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini
        method.
        (-[WebFrameBridge finalize]): Ditto.
        * WebView/WebView.mm: Moved the keyboard mode code in here.
        (-[WebView _close]): Remove observer from the distributed notification
        center as well as the normal one.
        (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved
        here from the bridge.
        (-[WebView _keyboardUIMode]): Ditto.
        * WebView/WebViewInternal.h: Added _keyboardUIMode method.

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

12 years ago Reviewed by Beth Dakin.
weinig@apple.com [Mon, 10 Mar 2008 17:36:54 +0000 (17:36 +0000)]
    Reviewed by Beth Dakin.

        Add Tiger specific results for toDataURL-supportedTypes.html as the image
        encoders have slightly changed between releases.

        * platform/mac-tiger/fast/canvas: Added.
        * platform/mac-tiger/fast/canvas/toDataURL-supportedTypes-expected.txt: Added.

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

12 years ago - oops, forgot to save last couple changes from the editor
darin@apple.com [Mon, 10 Mar 2008 17:29:00 +0000 (17:29 +0000)]
    - oops, forgot to save last couple changes from the editor

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::markDOMObjectWrapper): Tweaked a tiny bit.
        (WebCore::JSDOMWindow::mark): Sorted alphabetically.

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

12 years ago Reviewed by Geoff.
darin@apple.com [Mon, 10 Mar 2008 17:26:42 +0000 (17:26 +0000)]
    Reviewed by Geoff.

        - fix failing regression test (window.navigator is getting garbage
          collected and thus losing its custom properties)

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::markDOMObject): Added helper function.
        (WebCore::JSDOMWindow::mark): Added. Marks the wrappers for all the objects that hang
        off the window object.

        * page/DOMWindow.h:
        (WebCore::DOMWindow::optionalScreen): Added so we can get the Screen object without
        creating it if it's already there.
        (WebCore::DOMWindow::optionalSelection): Ditto.
        (WebCore::DOMWindow::optionalHistory): Ditto.
        (WebCore::DOMWindow::optionalLocationbar): Ditto.
        (WebCore::DOMWindow::optionalMenubar): Ditto.
        (WebCore::DOMWindow::optionalPersonalbar): Ditto.
        (WebCore::DOMWindow::optionalScrollbars): Ditto.
        (WebCore::DOMWindow::optionalStatusbar): Ditto.
        (WebCore::DOMWindow::optionalToolbar): Ditto.
        (WebCore::DOMWindow::optionalConsole): Ditto.
        (WebCore::DOMWindow::optionalNavigator): Ditto.

        * page/DOMWindow.idl: Added the CustomMarkFunction flag. Sorted the flags in
        alphabetical order since there are a lot of them.

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

12 years agoWebCore:
darin@apple.com [Mon, 10 Mar 2008 17:01:00 +0000 (17:01 +0000)]
WebCore:

        Reviewed by Sam.

        - eliminate Java applet methods from WebCoreFrameBridge

        * loader/FrameLoaderClient.h: Added a javaApplet function.
        * page/mac/FrameMac.mm:
        (WebCore::Frame::createScriptInstanceForWidget): Streamlined the code.
        Use the loader client instead of the bridge to get the applet.
        * page/mac/WebCoreFrameBridge.h: Removed the getAppletInView and
        pollForAppletInView methods. Also removed other unused things.

WebKit/mac:

        Reviewed by Sam.

        - eliminate Java applet methods from WebCoreFrameBridge

        * WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
        * WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including
        the ones that load Java applets.
        * WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
        * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.

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

12 years ago Reviewed and landed by Darin.
darin@apple.com [Mon, 10 Mar 2008 16:33:06 +0000 (16:33 +0000)]
    Reviewed and landed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=17581
        Bug 17581: Use of uninitialized value in string ne at WebKitTools/Scripts/run-webkit-tests line 1576.

        Remove the previous warning which occurs when the --random option is used.

        * Scripts/run-webkit-tests: verify that $component[0] is defined before checking for
        its inequality

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

12 years ago Reviewed by Eric, landed by Darin.
darin@apple.com [Mon, 10 Mar 2008 16:28:55 +0000 (16:28 +0000)]
    Reviewed by Eric, landed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=16095
        Move GraphicsContextPrivate to its own header file.

        Moves GraphicsContextState and GraphicsContextPrivate to its
        own header

        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContextPrivate.h: Added.
        (WebCore::GraphicsContextState::GraphicsContextState):
        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):

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

12 years agoWebCore:
darin@apple.com [Mon, 10 Mar 2008 16:25:12 +0000 (16:25 +0000)]
WebCore:

        Reviewed and landed by Darin.

        bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations

        Removed reference to PERMISSION_DENIED (previous non standard exception) and replaced it
        by DOM exception SECURITY_ERR. Updated XMLHttpRequest::open to raise SECURITY_ERR.

        * bindings/js/kjs_binding.cpp:
        (WebCore::setDOMException): Removed PERMISSION_DENIED code.
        * dom/ExceptionCode.cpp: Added SECURITY_ERR exception.
        * dom/ExceptionCode.h: Ditto.
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::open): Returns SECURITY_ERR now.
        * xml/XMLHttpRequestException.h: Removed PERMISSION_DENIED.

LayoutTests:

        Reviewed and landed by Darin.

        bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations

        * http/tests/xmlhttprequest/exceptions-expected.txt: Updated results

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

12 years ago Refactor CSS editing code so we can share it with DOM editing
aroben@apple.com [Mon, 10 Mar 2008 16:17:38 +0000 (16:17 +0000)]
    Refactor CSS editing code so we can share it with DOM editing

        Add WebInspector.startEditing, which takes the element to be edited, a
        committedCallback, a cancelledCallback, and a context parameter. This
        function takes care of setting up the element for editing, and calls
        either the cancelledCallback or committedCallback when editing ends.

        Reviewed by Tim.

        * page/inspector/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.startEditing):
          - Call WebInspector.isBeingEdited and WebInspector.startEditing
          - Removed code now handled by WebInspector.startEditing
        (WebInspector.StylePropertyTreeElement.editingEnded):
          - Renamed from endEditing
          - Removed code now handled by WebInspector.startEditing
        (WebInspector.StylePropertyTreeElement.editingCancelled):
          - Renamed from cancelEditing
          - Changed parameters to match WebInspector.startEditing's
            cancelledCallback
        (WebInspector.StylePropertyTreeElement.editingCommitted):
          - Renamed from commitEditing
          - Changed parameters to match WebInspector.startEditing's
            committedCallback
        * page/inspector/inspector.js:
        (WebInspector.changeFocus): Changed a call to firstParentWithClassName
        to firstParentOrSelfWithClassName so that if the focusable element
        itself is the target it will be recognized. I don't know why this
        change wasn't needed before this.
        (WebInspector.isBeingEdited): Added.
        (WebInspector.startEditing): Added.

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

12 years ago Windows build fix
aroben@apple.com [Mon, 10 Mar 2008 16:17:12 +0000 (16:17 +0000)]
    Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Pick up generated source files out of
        $(WebKitOutputDir) instead of hard-coding WebKitBuild.

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

12 years ago * DerivedSources.make: Merge plug-in-related changes with the new way of...
darin@apple.com [Mon, 10 Mar 2008 16:15:50 +0000 (16:15 +0000)]
    * DerivedSources.make: Merge plug-in-related changes with the new way of handling
        autogenerated DOM classes.

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

12 years ago Reviewed, tweaked and landed by Alexey.
ap@webkit.org [Mon, 10 Mar 2008 15:38:04 +0000 (15:38 +0000)]
    Reviewed, tweaked and landed by Alexey.

        - fix http://bugs.webkit.org/show_bug.cgi?id=17732

        We didn't have a fallback to frame encoding in the case of loading a script via
        changing its src attribute.

        Test: fast/dom/HTMLScriptElement/script-decoding-error-after-setting-src.html

        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::parseMappedAttribute): Use a helper function to get proper
        charset for correct decoding of script content.
        (WebCore::HTMLScriptElement::insertedIntoDocument):
        (WebCore::HTMLScriptElement::scriptCharset): A helper function for getting proper charset
        for the script (as much as can be determined prior to loading it).
        * html/HTMLScriptElement.h:
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag): Use a helper function to get proper charset for correct
        decoding of script content.

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

12 years ago2008-03-10 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Mon, 10 Mar 2008 13:59:37 +0000 (13:59 +0000)]
2008-03-10  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Lars.

        Fix reference counting of returned MimeType and Plugin objects
        created in the array wrappers.

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

12 years agoWx linking fix.
hausmann@webkit.org [Mon, 10 Mar 2008 12:29:59 +0000 (12:29 +0000)]
Wx linking fix.

Added missing stubs for PluginData.

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

12 years agoWindows build fix that I forgot to merge earlier ;(
hausmann@webkit.org [Mon, 10 Mar 2008 12:20:50 +0000 (12:20 +0000)]
Windows build fix that I forgot to merge earlier ;(

Forward declare Page as class, not struct.

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

12 years agoAttempt to fix the Wx build.
hausmann@webkit.org [Mon, 10 Mar 2008 12:09:17 +0000 (12:09 +0000)]
Attempt to fix the Wx build.

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

12 years ago2008-03-07 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Mon, 10 Mar 2008 11:52:27 +0000 (11:52 +0000)]
2008-03-07  Simon Hausmann  <hausmann@webkit.org>

        http://bugs.webkit.org/show_bug.cgi?id=16815

        Reviewed by Darin.

        Done with Lars.

WebCore:

        Ported the manually written JS bindings of window.navigator,
        window.navigator.plugins and window.navigator.mimeTypes to
        auto-generated bindings.

        Moved the globally cached plugin and mimetype information to a
        per WebCore::Page shared PluginData structure.

        Implemented window.navigator.plugins.refresh() in a
        platform-independent way.

LayoutTests:

        Added a testcase for http://bugs.webkit.org/show_bug.cgi?id=16815

WebKit/qt:

        Replaced the QWebObjectPlugin interfaces with QWebPluginFactory.

WebKit/mac:

        Simplified WebViewFactory's refreshPlugins method to only refresh the
        plugins and not reload the frames anymore since that's now done in a
        platform independent manner by WebCore::Page.

        Also removed the now unused pluginNameForMIMEType and
        pluginSupportsMIMEType methods.

WebKitTools/DumpRenderTree/qt:

        Ported the netscape test plugin to QWebPluginFactory.

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

12 years ago2008-03-10 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Mon, 10 Mar 2008 11:29:35 +0000 (11:29 +0000)]
2008-03-10  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger.

        Replace two printfs() in the Qt port with notImplemented().

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

12 years ago2008-03-10 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Mon, 10 Mar 2008 11:23:06 +0000 (11:23 +0000)]
2008-03-10  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Alp.

        Compilation fix with gcc 4.3: Include stdio.h for printf.

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

12 years agoJavaScriptCore:
sfalken@apple.com [Mon, 10 Mar 2008 05:35:30 +0000 (05:35 +0000)]
JavaScriptCore:

        Stop Windows build if an error occurs in a prior project.

        Rubber stamped by Darin.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
        * JavaScriptCore.vcproj/testkjs/testkjs.vcproj:

WebCore:

        Stop Windows build if an error occurs in a prior project.

        Rubber stamped by Darin.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreGenerated.vcproj:

WebKit/win:

        Stop Windows build if an error occurs in a prior project.

        Rubber stamped by Darin.

        * WebKit.vcproj/Interfaces.vcproj:
        * WebKit.vcproj/InterfacesGenerated.vcproj:
        * WebKit.vcproj/WebKit.vcproj:
        * WebKit.vcproj/WebKitGUID.vcproj:

WebKitTools:

        Stop Windows build if an error occurs in a prior project.

        Rubber stamped by Darin.

        * Drosera/win/Drosera.vcproj/Drosera.vcproj:
        * DumpRenderTree/win/DumpRenderTree.vcproj:
        * DumpRenderTree/win/ImageDiff.vcproj:
        * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:

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

12 years ago * DerivedSources.make: Third try at fixing the build.
darin@apple.com [Mon, 10 Mar 2008 03:10:59 +0000 (03:10 +0000)]
    * DerivedSources.make: Third try at fixing the build.
        * bindings/js/JSRGBColor.cpp: And touching this file.

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

12 years ago * DerivedSources.make: One *more* try at fixing the build.
darin@apple.com [Mon, 10 Mar 2008 03:03:47 +0000 (03:03 +0000)]
    * DerivedSources.make: One *more* try at fixing the build.

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

12 years ago * DerivedSources.make: One more try at fixing the build.
darin@apple.com [Mon, 10 Mar 2008 02:58:11 +0000 (02:58 +0000)]
    * DerivedSources.make: One more try at fixing the build.

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

12 years ago * DerivedSources.make: Re-land the change, fixed, and with an attempt to...
darin@apple.com [Mon, 10 Mar 2008 02:53:30 +0000 (02:53 +0000)]
    * DerivedSources.make: Re-land the change, fixed, and with an attempt to fix the
        bots by removing the incorrect file.

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

12 years ago2008-03-09 Alp Toker <alp@atoker.com>
alp@webkit.org [Mon, 10 Mar 2008 02:44:33 +0000 (02:44 +0000)]
2008-03-09  Alp Toker  <alp@atoker.com>

        GTK+ build fix for r30913.

        Use UNICODE_CFLAGS for C++ sources as well as C sources.

        * GNUmakefile.am:

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

12 years agoRoll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig)
oliver@apple.com [Mon, 10 Mar 2008 00:49:20 +0000 (00:49 +0000)]
Roll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig)

RS=Mark Rowe

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

12 years ago2008-03-09 J?rg Billeter <j@bitron.ch>
alp@webkit.org [Mon, 10 Mar 2008 00:49:15 +0000 (00:49 +0000)]
2008-03-09  J?rg Billeter  <j@bitron.ch>

        Reviewed by Alp Toker.

        Conditionalise ICU for Unicode in the GTK+ port.

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

12 years ago Make WebInspectorClient use WindowMessageBroadcaster instead of manual subcla...
aroben@apple.com [Sun, 9 Mar 2008 23:01:46 +0000 (23:01 +0000)]
    Make WebInspectorClient use WindowMessageBroadcaster instead of manual subclassing

        Reviewed by Darin.

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::WebInspectorClient): Removed
        m_orignalWebViewWndProc member.
        (WebInspectorClient::attachWindow): Register as a listener with
        WindowMessageBroadcaster instead of subclassing.
        (WebInspectorClient::detachWindow): Deregister as a listener with
        WindowMessageBroadcaster instead of unsubclassing.
        (WebInspectorClient::windowReceivedMessage): Renamed from
        SubclassedWebViewWndProc. Also added a missing break statement after
        the call to onWebViewWindowPosChanging.
        * WebCoreSupport/WebInspectorClient.h:

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

12 years ago Make the node highlight not obscure the tab bar when it first appears
aroben@apple.com [Sun, 9 Mar 2008 23:01:27 +0000 (23:01 +0000)]
    Make the node highlight not obscure the tab bar when it first appears

        Reviewed by Darin.

        * WebNodeHighlight.cpp:
        (WebNodeHighlight::onWebViewWindowPosChanged): Added. Listens for
        changes to the WebView's size and resizes the highlight window to
        match.
        (WebNodeHighlight::onRootWindowPosChanged): Added. Listens for changes
        to the WebView's root window's position and moves the highlight window
        to match.
        (WebNodeHighlight::windowReceivedMessage): Call
        onWebViewWindowPosChanged/onRootWindowPosChanged as appropriate.
        * WebNodeHighlight.h:

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

12 years ago Fix Bug 14254: Inspector node highlight applied to all tabs
aroben@apple.com [Sun, 9 Mar 2008 23:00:36 +0000 (23:00 +0000)]
    Fix Bug 14254: Inspector node highlight applied to all tabs

        <http://bugs.webkit.org/show_bug.cgi?id=14254>
        <rdar://problem/5322306>

        WebNodeHighlight now listens for the WM_SHOWWINDOW message being sent
        to the inspected WebView so that it can hide/show itself as the
        WebView is hidden/shown.

        Reviewed by Anders.

        * WebNodeHighlight.cpp:
        (WebNodeHighlight::~WebNodeHighlight): Remove ourselves as a listener
        for our inspected WebView's window's messages.
        (WebNodeHighlight::show): Add ourselves as a listener for our
        inspected WebView's window's messages.
        (WebNodeHighlight::onWebViewShowWindow): Added. Hide ourselves when
        the WebView hides, show ourselves when the WebView is shown.
        (WebNodeHighlight::windowReceivedMessage): Added a separate switch
        statement to handle the inspected WebView's window's messages.
        * WebNodeHighlight.h:

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

12 years ago Reviewed by Adam.
darin@apple.com [Sun, 9 Mar 2008 20:36:41 +0000 (20:36 +0000)]
    Reviewed by Adam.

        * DerivedSources.make: Put the list of DOM classes into its own
        variable, and generate the JavaScript bindings and Objective-C
        bindings dependencies from that. Added some separators to make it
        a little easier to see the sections of the file. Moved all the
        Mac-specific rules (except for the SVG conditional part) down
        to the bottom of the file in a separate section.

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

12 years ago Windows build fix
aroben@apple.com [Sun, 9 Mar 2008 17:47:47 +0000 (17:47 +0000)]
    Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Make sure all Cairo files are
        excluded from all three CG-based configurations: Debug, Release, and
        Debug_Internal.

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

12 years agoFix stray executable bit.
darin@apple.com [Sun, 9 Mar 2008 07:59:08 +0000 (07:59 +0000)]
Fix stray executable bit.

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

12 years agoAttempt to fix the Qt build.
mrowe@apple.com [Sun, 9 Mar 2008 07:00:25 +0000 (07:00 +0000)]
Attempt to fix the Qt build.

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

12 years agoBug 16516: canvas image patterns stop working with some transformations
oliver@apple.com [Sun, 9 Mar 2008 06:48:41 +0000 (06:48 +0000)]
Bug 16516: canvas image patterns stop working with some transformations

Reviewed by Sam W.

Simple fix.  We used x/yStep of FLT_MAX to fake a no-repeat-x/y pattern
with CG.  However any transforms involving FLT_MAX immediately get
consumed by the introduced floating point error.  yStep had already been
clamped to a much smaller arbitrary value, and this patch makes us use
that clamp value for xStep as well.

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

12 years agoBug 17728: Canvas.createPattern with null repeat argument throws an exception
oliver@apple.com [Sun, 9 Mar 2008 02:39:28 +0000 (02:39 +0000)]
Bug 17728: Canvas.createPattern with null repeat argument throws an exception

Reviewed by Mitz

Trivial fix, we were calling toString on null which produces the string "null",
we just needed to switch to using valueToStringWithNullCheck rather than
JSValue::toString directly

Test: fast/canvas/canvas-pattern-behaviour.html

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

12 years ago2008-03-08 Julien Chaffraix <julien.chaffraix@gmail.com>
mrowe@apple.com [Sun, 9 Mar 2008 01:57:17 +0000 (01:57 +0000)]
2008-03-08  Julien Chaffraix  <julien.chaffraix@gmail.com>

        Reviewed by Mark Rowe.

        DRT build fix for Tiger.

        * DumpRenderTree/mac/DumpRenderTreeMac.h: Define BUILDING_ON_TIGER.

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

12 years ago2008-03-08 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Sun, 9 Mar 2008 01:57:08 +0000 (01:57 +0000)]
2008-03-08  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler.

        Fix 64-bit build with GCC 4.2.

        * bindings/objc/WebScriptObject.mm: Use NSUInteger in place of unsigned where required.
        * platform/mac/SharedBufferMac.mm: Ditto.

2008-03-08  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler.

        Fix 64-bit build with GCC 4.2.

        * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
        * DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
        * History/WebHistoryItem.mm: Ditto.
        * Misc/WebElementDictionary.mm: Ditto.
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the
        variable being unused in 64-bit.
        * WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required.
        (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.

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

12 years ago Reviewed by Oliver Hunt.
mitz@apple.com [Sat, 8 Mar 2008 23:10:16 +0000 (23:10 +0000)]
    Reviewed by Oliver Hunt.

        - fix garbage in transparent areas in canvas.toDataURL results

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::toDataURL): Clear the bitmap context before
        painting the canvas image onto it.

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

12 years agoWebCore:
darin@apple.com [Sat, 8 Mar 2008 14:09:52 +0000 (14:09 +0000)]
WebCore:

        Reviewed by Adele.

        - eliminate custom highlight methods from WebCoreFrameBridge

        * page/Chrome.cpp:
        (WebCore::ChromeClient::customHighlightRect): Added.
        (WebCore::ChromeClient::paintCustomHighlight): Added.
        * page/ChromeClient.h: Added custom highlight functions.
        * page/Frame.h: Removed custom highlight functions.
        * page/mac/FrameMac.mm: Ditto.
        * page/mac/WebCoreFrameBridge.h: Removed custom highlight methods.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintCustomHighlight): Changed code to use
        the ChromeClient instead of WebCoreFrameBridge to do the custom highlight.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintCustomHighlight): Ditto.
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::addHighlightOverflow): Ditto.
        (WebCore::RootInlineBox::paintCustomHighlight): Ditto.

WebKit/mac:

        Reviewed by Adele.

        - eliminate custom highlight methods from WebCoreFrameBridge

        * WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::customHighlightRect): Moved code here from bridge.
        (WebChromeClient::paintCustomHighlight): Ditto.
        * WebCoreSupport/WebFrameBridge.mm: Removed code here.

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

12 years ago * platform/win/Skipped: Fixed some typos (stray "s" characters).
darin@apple.com [Sat, 8 Mar 2008 14:05:44 +0000 (14:05 +0000)]
    * platform/win/Skipped: Fixed some typos (stray "s" characters).

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

12 years ago 2008-03-07 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Sat, 8 Mar 2008 08:09:42 +0000 (08:09 +0000)]
 2008-03-07  Stephanie Lewis  <slewis@apple.com>

         Reviewed by Oliver.

         Fix Windows build.

         * platform/graphics/cg/ImageBufferCG.cpp:
         (WebCore::ImageBuffer::toDataURL):

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

12 years agoJavaScriptCore:
ddkilzer@apple.com [Sat, 8 Mar 2008 07:54:51 +0000 (07:54 +0000)]
JavaScriptCore:

        Unify concept of enabling Netscape Plug-in API (NPAPI).

        Reviewed by Darin.

        * wtf/Platform.h: Define ENABLE_NETSCAPE_PLUGIN_API here.

WebCore:

        Unify concept of enabling Netscape Plug-in API (NPAPI).

        Reviewed by Darin.

        No test cases since there is no change in functionality.

        * DerivedSources.make: Added check for ENABLE_NETSCAPE_PLUGIN_API macro.
        If defined as "1", add WebCore.NPAPI.exp to WEBCORE_EXPORT_DEPENDENCIES.
        * WebCore.NPAPI.exp: Added.
        * WebCore.base.exp: Moved exported NPAPI methods to WebCore.NPAPI.exp.
        * WebCore.xcodeproj/project.pbxproj: Removed changes in r30826 (except
        comments) since we now handle exported NPAPI methods via DerivedSources.make.

        * config.h: Removed USE(NPOBJECT) since we now use ENABLE(NETSCAPE_PLUGIN_API) as
        defined in Platform.h.

        * bindings/objc/DOM.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
        (-[DOMElement _NPObject]):

        * bridge/NP_jsobject.cpp: Replaced !PLATFORM(DARWIN) || !defined(__LP64__) with
        ENABLE(NETSCAPE_PLUGIN_API).
        * bridge/NP_jsobject.h: Ditto.
        * bridge/c/c_class.cpp: Ditto.
        * bridge/c/c_class.h: Ditto.
        * bridge/c/c_instance.cpp: Ditto.
        * bridge/c/c_instance.h: Ditto.
        * bridge/c/c_runtime.cpp: Ditto.
        * bridge/c/c_runtime.h: Ditto.
        * bridge/c/c_utility.cpp: Ditto.
        * bridge/c/c_utility.h: Ditto.
        * bridge/npruntime.cpp: Ditto.
        * bridge/npruntime_impl.h: Ditto.
        * bridge/npruntime_priv.h: Ditto.
        * bridge/runtime.cpp: Ditto.
        (KJS::Bindings::Instance::createBindingForLanguageInstance):

        * html/HTMLPlugInElement.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
        (WebCore::HTMLPlugInElement::HTMLPlugInElement):
        (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
        * html/HTMLPlugInElement.h: Ditto.

        * page/Frame.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
        (WebCore::Frame::clearScriptObjects):
        (WebCore::FramePrivate::FramePrivate): Also added #if ENABLE(NETSCAPE_PLUGIN_API)
        guard around m_windowScriptNPObject.
        * page/Frame.h: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
        * page/FramePrivate.h: Added #if ENABLE(NETSCAPE_PLUGIN_API) guard around
        m_windowScriptNPObject.
        * page/mac/FrameMac.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
        (WebCore::Frame::createScriptInstanceForWidget):

WebKit/mac:

        Unify concept of enabling Netscape Plug-in API (NPAPI).

        Reviewed by Darin.

        * WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.

        * WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use
        ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.

        * Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with
        #if ENABLE(NETSCAPE_PLUGIN_API).
        * Plugins/WebBaseNetscapePluginStream.mm: Ditto.
        * Plugins/WebBaseNetscapePluginView.h: Ditto.
        * Plugins/WebBaseNetscapePluginView.mm: Ditto.
        * Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
        * Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
        * Plugins/WebBasePluginPackage.h: Ditto.
        * Plugins/WebBasePluginPackage.m: Ditto.
        (+[WebBasePluginPackage pluginWithPath:]):
        * Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
        * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
        * Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
        * Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
        * Plugins/WebNetscapePluginPackage.h: Ditto.
        * Plugins/WebNetscapePluginPackage.m: Ditto.
        * Plugins/WebNetscapePluginStream.h: Ditto.
        * Plugins/WebNetscapePluginStream.mm: Ditto.
        * Plugins/WebPluginDatabase.m: Ditto.
        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
        * Plugins/npapi.m: Ditto.
        * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
        (WebFrameLoaderClient::objectContentType):
        (WebFrameLoaderClient::createPlugin):
        * WebView/WebHTMLView.mm: Ditto.
        (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
        * WebView/WebHTMLViewInternal.h: Ditto.

        * WebView/WebFrame.mm: Replaced #ifndef __LP64__ with
        #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate)
        category to (WebInternal) category so we don't expose the ENABLE() macro
        from the private header.
        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
        * WebView/WebFrameInternal.h: Ditto.
        * WebView/WebFramePrivate.h: Ditto.

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

12 years ago Reviewed by Darin.
ap@webkit.org [Sat, 8 Mar 2008 07:46:27 +0000 (07:46 +0000)]
    Reviewed by Darin.

        <rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
        changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites

        * WebView/WebPreferences.m:
        (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match
        the one used in Safari.

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

12 years ago2008-03-07 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Sat, 8 Mar 2008 07:25:28 +0000 (07:25 +0000)]
2008-03-07  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        Fix WebKit build with GCC 4.2.

        * Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.

2008-03-07  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        Fix WebKit build with GCC 4.2.

        * WebKit.xcodeproj/project.pbxproj:  Mark WebTypesInternal.h as a private header so that DumpRenderTree can use it.

2008-03-07  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        Fix WebKit build with GCC 4.2.

        * DumpRenderTree/mac/ResourceLoadDelegate.mm: Use correct argument type in method signature.

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

12 years ago Reviewed by Darin.
ap@webkit.org [Sat, 8 Mar 2008 07:11:37 +0000 (07:11 +0000)]
    Reviewed by Darin.

        REGRESSION: Korean decoding doesn't support extended EUC-KR.

        Test: fast/encoding/char-decoding.html

        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerExtendedEncodingNames): Untangle the system of duplicate ICU
        encoding names by manually registering windows-939-2000, and mapping all other related
        encodings to it.

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

12 years ago2008-03-07 Dan Bernstein <mitz@apple.com>
slewis@apple.com [Sat, 8 Mar 2008 06:19:04 +0000 (06:19 +0000)]
2008-03-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Stephanie.

        - try to fix leaks seen on Tiger after r30840

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::~CSSStyleSelector): Use the default operator
        delete, rather than arena delete, to deallocate the root default style.

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

12 years ago2008-03-07 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
alp@webkit.org [Sat, 8 Mar 2008 06:07:54 +0000 (06:07 +0000)]
2008-03-07  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=17681
        GtkLauncher fails to render an element with position: fixed

        Implement the required parts of PlatformScreenGtk.

        * ChangeLog:
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::screenDepth):
        (WebCore::screenIsMonochrome):
        (WebCore::screenRect):

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

12 years agoBug 16610: <canvas> restore() removes path segments created before it
oliver@apple.com [Sat, 8 Mar 2008 05:58:20 +0000 (05:58 +0000)]
Bug 16610: <canvas> restore() removes path segments created before it

Reviewed by Darin Adler (code) and Mark Rowe (tests)

The problem here is that WebKit stored the Path as part of the state, so
restore would incorrectly lose changes made to the canvas path.  To match
Firefox and HTML5 we make two real changes:
  * Move the context path from the state object directly onto the context.
    This is responsible for all the changes to the path manipulation functions
  * Add transform tracking to each state -- this is needed to correctly transform
    the current path when restore()-ing to a prior state.

Test: fast/canvas/canvas-save-restore-with-path.html

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

12 years agoFix for crash caused by FrameLoader incorrectly assuming it has
oliver@apple.com [Sat, 8 Mar 2008 03:43:35 +0000 (03:43 +0000)]
Fix for crash caused by FrameLoader incorrectly assuming it has
a RenderWidget

Reviewed by Ada

In some circumstances an application embedding a WebView may
choose to prevent a webview from loading a resource.  If that
resource was requested by an <object> element then we may
fallback to different content which may not produce a RenderWidget.
Unfortunately FrameLoader::loadSubframe was assuming that if a
renderer was produced it would always be a RenderWidget, and arbitrarily
performed what could be an incorrect cast.  This could then lead to
a crash.

We currently don't have anyway of making a test for this.

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

12 years ago 2008-03-07 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Sat, 8 Mar 2008 03:25:54 +0000 (03:25 +0000)]
 2008-03-07  Stephanie Lewis <slewis@apple.com>

         Reviewed by Oliver.

         Add Windows part of <rdar://problem/5693690>

         * DumpRenderTree/win/DumpRenderTree.cpp:
         (dump):
         (main):

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

12 years agoWebCore:
weinig@apple.com [Sat, 8 Mar 2008 03:08:48 +0000 (03:08 +0000)]
WebCore:

        Reviewed by Oliver Hunt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=16673
        <canvas> lacks toDataURL()

        Tests: fast/canvas/toDataURL-noData.html
               fast/canvas/toDataURL-supportedTypes.html

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage): Make message non-global.
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::printSecurityExceptionMessage): Log error message indicating that toDataURL has
        been called on a tainted canvas.
        (WebCore::HTMLCanvasElement::toDataURL): This does the tainted canvas check, ensures that the canvas has pixel
        data, checks to see if the MIME type is supported.  Unsupported MIME types and the null string (which is made
        by passing no argument/null/undefined in JavaScript) are treated as being PNG, as per the spec.  The actual
        toDataURL logic is actually done in the ImageBuffer class.
        * html/HTMLCanvasElement.h: Add function declarations.
        * html/HTMLCanvasElement.idl: Add function declaration.

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
        (WebCore::initializeSupportedJavaScriptMIMETypes):
        (WebCore::initializeSupportedNonImageMimeTypes):
        (WebCore::initializeSupportedMediaMIMETypes):
        (WebCore::initializeMIMETypeRegistry):
        (WebCore::MIMETypeRegistry::getMIMETypeForPath):
        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
        (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
        (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
        (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
        (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
        (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
        (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
        * platform/MIMETypeRegistry.h:
        Clean up and add new supportedImageMIMETypesForEncoding set which contains the set of
        MIME types the platform knows how to encode. Currently only implemented for CG and Qt.

        * platform/graphics/ImageBuffer.h: Add toDataURL method.
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::toDataURL): Add stub.
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::create):
        (WebCore::ImageBuffer::getImageData):
        (WebCore::ImageBuffer::putImageData):
        (WebCore::ImageBuffer::toDataURL):
        Converts the current context to a data: url of the specified MIME type.  This method
        unfortunately has to flip the context, resulting in less than optimal code.

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::toDataURL): Add stub.
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::toDataURL): Add stub.

LayoutTests:

        Reviewed by Oliver Hunt.

        Tests for http://bugs.webkit.org/show_bug.cgi?id=16673
        <canvas> lacks toDataURL()

        * fast/canvas/toDataURL-noData-expected.txt: Added.
        * fast/canvas/toDataURL-noData.html: Added.
        * fast/canvas/toDataURL-supportedTypes-expected.txt: Added.
        * fast/canvas/toDataURL-supportedTypes.html: Added.

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

12 years ago2008-03-07 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 8 Mar 2008 01:30:46 +0000 (01:30 +0000)]
2008-03-07  Alp Toker  <alp@atoker.com>

        Back out the r30818, r30819 build fix attempts now the GTK+ build
        server has been upgraded.

        * Scripts/webkitdirs.pm:

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

12 years ago Build fix.
sfalken@apple.com [Sat, 8 Mar 2008 01:28:36 +0000 (01:28 +0000)]
    Build fix.

        * WebCore.vcproj/WebCore.vcproj:

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

12 years agoRemoving duplicate entry for hasFocus.html
adele@apple.com [Sat, 8 Mar 2008 00:19:59 +0000 (00:19 +0000)]
Removing duplicate entry for hasFocus.html

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

12 years ago2008-03-07 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Sat, 8 Mar 2008 00:09:25 +0000 (00:09 +0000)]
2008-03-07  Stephanie Lewis <slewis@apple.com>

update Windows Skipped List

        * platform/win/Skipped:

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

12 years ago2008-03-07 Brent Fulgham <bfulgham@gmail.com>
mrowe@apple.com [Fri, 7 Mar 2008 23:29:31 +0000 (23:29 +0000)]
2008-03-07  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Mark Rowe.

        Correct build intermediary output
        (http://bugs.webkit.org/show_bug.cgi?id=17713)

        * WebKit/win/WebKit.vcproj/WebKit.vcproj:  Correct output and intermediary paths

2008-03-07  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Mark Rowe.

        Correct build intermediary output
        (http://bugs.webkit.org/show_bug.cgi?id=17713)

        * WebCore/WebCore.vcproj:  Correct intermediary paths

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

12 years ago Adding fast/dom/HTMLDocument/hasFocus.html to the skipped list, while I inves...
adele@apple.com [Fri, 7 Mar 2008 22:56:33 +0000 (22:56 +0000)]
    Adding fast/dom/HTMLDocument/hasFocus.html to the skipped list, while I investigate the failure.

        * platform/win/Skipped:

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

12 years ago2008-03-07 Stephanie <slewis@apple.com>
slewis@apple.com [Fri, 7 Mar 2008 22:32:24 +0000 (22:32 +0000)]
2008-03-07  Stephanie  <slewis@apple.com>

        Reviewed by Geoff.

        <rdar://problem/5693690> run-webkit-tests swallows STDERR output, including WebCore LEAK messages

        * DumpRenderTree/mac/DumpRenderTree.mm:
        (dump): push EOF to stderr after every test
        * Scripts/run-webkit-tests: collect stderr output and print it

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

12 years ago2008-03-07 Brent Fulgham <bfulgham@gmail.com>
mrowe@apple.com [Fri, 7 Mar 2008 21:15:08 +0000 (21:15 +0000)]
2008-03-07  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Adam Roben.

        Do not link (or attempt to initialize) the SafariTheme.dll
        when not building with USE(SAFARI_THEME) enabled.
        (http://bugs.webkit.org/show_bug.cgi?id=17707)

        * WebKit/win/WebKitClassFactory.cpp:  Conditionalize use of SafariTheme.dll

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

12 years ago2008-03-07 Brent Fulgham <bfulgham@gmail.com>
mrowe@apple.com [Fri, 7 Mar 2008 21:13:24 +0000 (21:13 +0000)]
2008-03-07  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Steve Falkenburg.

        Add Cairo build requirements to WebCore.vcproj under a new
        set of targets.  Exclude Cairo elements from normal CG build.
        Exclude CG elements from Cairo builds.
        (http://bugs.webkit.org/show_bug.cgi?id=17300)

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/webcore.vsprops: Added.

2008-03-07  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Steve Falkenburg.

        Update solution to understand Cairo build target.  Add
        library dependencies for Cairo build target.
        (http://bugs.webkit.org/show_bug.cgi?id=17300)

        * WebKit.vcproj/WebKit.sln:
        * WebKit.vcproj/WebKit.vcproj:

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

12 years agoWebCore:
darin@apple.com [Fri, 7 Mar 2008 21:00:48 +0000 (21:00 +0000)]
WebCore:

        Reviewed by Adam.

        - eliminated WebCoreFrameBridge runOpenPanel

        * page/ChromeClient.h: Added runOpenPanel function.
        * page/mac/ChromeMac.mm:
        (WebCore::ChromeClient::runOpenPanel): Added.
        * platform/FileChooser.cpp:
        (WebCore::FileChooser::FileChooser): Moved this here. It's no longer platform-specific.
        Also start the refcount at 1.
        (WebCore::FileChooser::create): Added adoptRef since the refcount no starts at one.
        (WebCore::FileChooser::~FileChooser): Moved here. No longer platform-specific.
        * platform/FileChooser.h: Removed m_controller, which was Macintosh-specific.
        * platform/gtk/FileChooserGtk.cpp: Removed FileChooser constructor and destructor,
        since they are no longer platform-specific.
        * platform/qt/FileChooserQt.cpp: Ditto.
        * platform/win/FileChooserWin.cpp: Ditto.
        * platform/wx/TemporaryLinkStubs.cpp: Ditto.
        * platform/mac/FileChooserMac.mm:
        (WebCore::FileChooser::openFileChooser): Call the chrome client instead of the
        bridge to run the open panel. Allows us to get rid of the WebCoreOpenPanelController
        class and m_controller data member and move the cosntrutor/destructor to platform-
        independent code.

WebKit/mac:

        Reviewed by Adam.

        - eliminated WebCoreFrameBridge runOpenPanel

        * WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::runOpenPanel): Added.
        (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the
        FileChooser so it can get a result from the UI delegate.
        (-[WebOpenPanelResultListener dealloc]): Added.
        (-[WebOpenPanelResultListener finalize]): Added.
        (-[WebOpenPanelResultListener cancel]): Added.
        (-[WebOpenPanelResultListener chooseFilename:]): Added.

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

12 years agoAdd WebCore::JavaScriptDebugServer and use it from WebKit/win
aroben@apple.com [Fri, 7 Mar 2008 20:51:35 +0000 (20:51 +0000)]
Add WebCore::JavaScriptDebugServer and use it from WebKit/win

WebCore:

        Add JavaScriptDebugServer

        This class is a singleton which allows one or more
        JavaScriptDebugListeners to receive callbacks during JavaScript
        execution.

        Right now all listeners receive callbacks for all Pages in the
        process. Eventually we will want to support listeners registering for
        callbacks for specific Pages (e.g., the Inspector will want to listen
        for execution in just the Page it's inspecting).

        Pages notify the JavaScriptDebugServer when they are created so that
        it can install itself as the Page's debugger.

        Reviewed by Darin.

        * GNUMakefile.am: Added new files to project.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCoreSources.bkl: Ditto.
        * page/JavaScriptDebugListener.h: Added.
        * page/JavaScriptDebugServer.cpp: Added.
        (WebCore::toFrame):
        (WebCore::JavaScriptDebugServer::shared):
        (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
        (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
        (WebCore::JavaScriptDebugServer::addListener): Registers as the
        debugger for all Pages if we're adding our first listener.
        (WebCore::JavaScriptDebugServer::removeListener): Deregisters as the
        debugger for all Pages if we're removing our last listner.
        (WebCore::JavaScriptDebugServer::pageCreated): Registers as the
        debugger for the newly created Page if we have any listeners.
        (WebCore::dispatchDidParseSource): Helper function.
        (WebCore::dispatchFailedToParseSource): Ditto.
        (WebCore::JavaScriptDebugServer::sourceParsed): Call
        dispatchDidParseSource or dispatchFailedToParseSource depending on
        whether there was an error or not.
        (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Calls
        the passed-in JavaScriptExecutionCallback on each listener, guarding
        against re-entry.
        (WebCore::JavaScriptDebugServer::callEvent): Dispatch didEnterCallFrame.
        (WebCore::JavaScriptDebugServer::atStatement): Dispatch willExecuteStatement.
        (WebCore::JavaScriptDebugServer::returnEvent): Dispatch willLeaveCallFrame.
        (WebCore::JavaScriptDebugServer::exception): Dispatch exceptionWasRaised.
        * page/JavaScriptDebugServer.h: Added.
        * page/Page.cpp:
        (WebCore::Page::Page): Tell the shared JavaScriptDebugServer we were
        created so it can register as our debugger if needed.

WebKit/win:

        Change WebScriptDebugServer to use WebCore::JavaScriptDebugServer

        WebScriptDebugServer is now a JavaScriptDebugListener.

        Reviewed by Darin.

        * WebScriptDebugServer.cpp:
        (WebScriptDebugServer::WebScriptDebugServer): Removed initialization
        of m_callingListeners member.
        (WebScriptDebugServer::addListener): Register as a listener with
        JavaScriptDebugServer if we've just added our first listener.
        (WebScriptDebugServer::removeListener): Deregister as a listener with
        JavaScriptDebugServer if we've just removed our last listener.
        (WebScriptDebugServer::didParseSource): Added. Code came from the old
        sourceParsed method. Removed m_callingListeners code because
        JavaScriptDebugServer guards against re-entry for us.
        (WebScriptDebugServer::failedToParseSource): Ditto.
        (WebScriptDebugServer::didEnterCallFrame): Ditto for callEvent.
        (WebScriptDebugServer::willExecuteStatement): Ditto for atStatement.
        (WebScriptDebugServer::willLeaveCallFrame): Ditto for
        willLeaveCallFrame.
        (WebScriptDebugServer::exceptionWasRaised): Ditto for exception.
        * WebScriptDebugServer.h: Changed to inherit from
        WebCore::JavaScriptDebugListener.
        * WebView.cpp:
        (WebView::initWithFrame): Removed call to
        WebScriptDebugServer::pageCreated. This is now handled by WebCore.

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

12 years ago Reviewed by Brady.
darin@apple.com [Fri, 7 Mar 2008 20:39:21 +0000 (20:39 +0000)]
    Reviewed by Brady.

        - fix a theoretical problem with the visited-link hash table by avoiding collision
          with the special "deleted" value
        - improve efficiency of with the visited-link hash table by not hashing twice

        * page/PageGroup.cpp:
        (WebCore::avoidDeletedValue): Added. Makes sure we never try to use the "all ones"
        value, since the hash table uses that for deleted hash table entries.
        (WebCore::PageGroup::isLinkVisited): Call avoidDeletedValue before using the hash
        value with the HashSet.
        (WebCore::PageGroup::addVisitedLink): Ditto.

        * page/PageGroup.h: Added a new hash function, AlreadyHashed, for unsigned integer
        values. This assumes that the value is already a hash value, and doesn't try to
        hash it again. Used this for m_visitedLinkHashes.

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

12 years ago Get pdevenv working with Visual Studio Express.
sfalken@apple.com [Fri, 7 Mar 2008 20:15:43 +0000 (20:15 +0000)]
    Get pdevenv working with Visual Studio Express.

        Reviewed by Adam.

        * Scripts/pdevenv:

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

12 years agoJavaScriptCore:
ggaren@apple.com [Fri, 7 Mar 2008 19:46:33 +0000 (19:46 +0000)]
JavaScriptCore:

        Reviewed by Darin Adler.

        Fixed <rdar://problem/5689093> Stricter (ES4) eval semantics

        The basic rule is:

        - "eval(s)" is treated as an operator that gives the ES3 eval behavior.
            ... but only if there is no overriding declaration of "eval" in scope.
        - All other invocations treat eval as a function that evaluates a
        script in the context of its "this" object.
            ... but if its "this" object is not the global object it was
            originally associated with, eval throws an exception.

        Because only expressions of the form "eval(s)" have access to local
        scope, the compiler can now statically determine whether a function
        needs local scope to be dynamic.

        * kjs/nodes.h: Added FunctionCallEvalNode. It works just like
        FuncationCallResolveNode, except it statically indicates that the node
        may execute eval in the ES3 way.
        * kjs/nodes.cpp:
        * kjs/nodes2string.cpp:

        * tests/mozilla/expected.html: This patch happens to fix a Mozilla JS
        test, but it's a bit of a pyrrhic victory. The test intends to test
        Mozilla's generic API for calling eval on any object, but, in reality,
        we only support calling eval on the global object.

LayoutTests:

        Reviewed by Darin Adler.

        Tests for <rdar://problem/5689093> Stricter (ES4) eval semantics

        * fast/js/eval-cross-window-expected.txt: Added.
        * fast/js/eval-cross-window.html: Added.
        * fast/js/eval-keyword-vs-function-expected.txt: Added.
        * fast/js/eval-keyword-vs-function.html: Added.
        * fast/js/eval-overriding-expected.txt: Added.
        * fast/js/eval-overriding.html: Added.

        Tests to make sure not to regress security:

        * http/tests/security/resources/xss-eval2.html: Added.
        * http/tests/security/resources/xss-eval3.html: Added.
        * http/tests/security/xss-eval-expected.txt: Added.
        * http/tests/security/xss-eval.html: Added.

        I removed these tests because we no longer match the behavior they
        expected, and the new tests are more comprehensive:

        * fast/js/window-eval-context-expected.txt: Removed.
        * fast/js/window-eval-context.html: Removed.
        * fast/js/window-eval-tearoff-expected.txt: Removed.
        * fast/js/window-eval-tearoff.html: Removed.

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

12 years agoFix the Qt build.
hausmann@webkit.org [Fri, 7 Mar 2008 13:09:09 +0000 (13:09 +0000)]
Fix the Qt build.

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

12 years agoImplement the HTML5 canvas tainting rules to prevent potential data leakage
oliver@apple.com [Fri, 7 Mar 2008 07:45:38 +0000 (07:45 +0000)]
Implement the HTML5 canvas tainting rules to prevent potential data leakage

Reviewed by Mitz

Added originClean to HTMLCanvasElement and CanvasPattern
to track whether a canvas (or pattern) is tainted by remote
data.
Use originClean flag to determine whether getImageData should
return, well, image data.

Test: http/tests/security/canvas-remote-read-remote-image.html

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

12 years ago Reviewed by Jon.
andersca@apple.com [Fri, 7 Mar 2008 01:55:18 +0000 (01:55 +0000)]
    Reviewed by Jon.

        Templatize the JNI call code to reduce the amount of code that has
        to be duplicated.

        * bridge/jni/jni_class.cpp:
        (JavaClass::JavaClass):
        * bridge/jni/jni_instance.cpp:
        (JavaInstance::stringValue):
        (JavaInstance::numberValue):
        (JavaInstance::booleanValue):
        (JavaInstance::invokeMethod):
        * bridge/jni/jni_jsobject.cpp:
        (JavaJSObject::convertJObjectToValue):
        * bridge/jni/jni_runtime.cpp:
        (JavaField::JavaField):
        (JavaMethod::JavaMethod):
        * bridge/jni/jni_utility.cpp:
        * bridge/jni/jni_utility.h:
        (KJS::Bindings::):
        (KJS::Bindings::callJNIMethodIDA):
        (KJS::Bindings::callJNIMethodV):
        (KJS::Bindings::callJNIMethod):
        (KJS::Bindings::callJNIStaticMethod):

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

12 years agoWebCore:
darin@apple.com [Fri, 7 Mar 2008 01:51:20 +0000 (01:51 +0000)]
WebCore:

        Reviewed by Mitz.

        - fix regression test failures from the visited-link change

        * WebCore.base.exp: Export PageGroup::setShouldTrackVisitedLinks.
        * page/PageGroup.cpp:
        (WebCore::PageGroup::addVisitedLink): Do nothing and return early
        if shouldTrackVisitedLinks is false.
        (WebCore::PageGroup::removeVisitedLinks): Reset m_visitedLinksPopulated
        so the next time a link is queried this will be populated from history.
        (WebCore::PageGroup::setShouldTrackVisitedLinks): Added.
        * page/PageGroup.h: Added setShouldTrackVisitedLinks. This is global
        for now, but it would be better if it was per-page-group instead.

WebKit/mac:

        Reviewed by Mitz.

        - fix regression test failures from the visited-link change

        * History/WebHistory.mm:
        (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks
        to turn off visited links if there is no history object. Also call
        removeAllVisitedLinks so we can start over from scratch with the new history.

WebKit/win:

        Reviewed by Mitz.

        - fix regression test failures and crashes from the visited-link change

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::populateVisitedLinks): Check for null before calling
        addVisitedLinksToPageGroup.
        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::updateGlobalHistory): Ditto.
        * WebHistory.cpp:
        (WebHistory::setOptionalSharedHistory): Call PageGroup::setShouldTrackVisitedLinks
        to turn off visited links if there is no history object. Also call
        removeAllVisitedLinks so we can start over from scratch with the new history.

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

12 years agoWebCore:
adele@apple.com [Fri, 7 Mar 2008 01:30:28 +0000 (01:30 +0000)]
WebCore:

        Reviewed by Darin.

        Fixes for for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5)
        and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)

        Tests: fast/dom/HTMLDocument/activeElement.html
               fast/dom/HTMLDocument/hasFocus.html

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::activeElement): Added. Returns the focused element, or the body element if nothing's focused.
        (WebCore::HTMLDocument::hasFocus): Added. Returns whether or not the document has focus (inclusive of sub-frames).
        * html/HTMLDocument.h: Added methods for activeElement and hasFocus.
        * html/HTMLDocument.idl: Added definitions for activeElement and hasFocus.

WebKitTools:

        Reviewed by Darin.

        Updated for testing <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)

        * DumpRenderTree/mac/UIDelegate.mm:
        (-[UIDelegate webViewFocus:]): Remove duplicate code that was also in LayoutTestController::setWindowIsKey
        (-[UIDelegate webViewUnfocus:]): Added.  In Safari, the default is to focus another window if there is one.
         To easily test cases where the window is unfocused, I made this just call setWindowIsKey(false).

LayoutTests:

        Reviewed by Darin.

        Tests for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5)
        and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)

        * fast/dom/HTMLDocument/activeElement-expected.txt: Added.
        * fast/dom/HTMLDocument/activeElement.html: Added.
        * fast/dom/HTMLDocument/hasFocus-expected.txt: Added.
        * fast/dom/HTMLDocument/hasFocus.html: Added.
        * fast/dom/HTMLDocument/resources/hasFocus-iframe.html: Added.

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

12 years agoWebCore:
mitz@apple.com [Fri, 7 Mar 2008 01:09:51 +0000 (01:09 +0000)]
WebCore:

        Reviewed by Darin Adler.

        - fix <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage)

        Test: fast/text/soft-hyphen-3.html

        * rendering/bidi.cpp:
        (WebCore::checkMidpoints):
        (WebCore::RenderBlock::findNextLineBreak): Made 'pos' unsigned. Made the
        midpoint after a hyphen always be a valid iterator, not allowing an
        offset past the end of a text node. Changed the check for consecutive
        soft hyphens to account for that.

LayoutTests:

        Reviewed by Darin Adler.

        - test and updated results for <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage)

        * fast/text/soft-hyphen-3.html: Added.
        * platform/mac/fast/text/basic/014-expected.txt:
        * platform/mac/fast/text/soft-hyphen-3-expected.checksum: Added.
        * platform/mac/fast/text/soft-hyphen-3-expected.png: Added.
        * platform/mac/fast/text/soft-hyphen-3-expected.txt: Added.

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

12 years agoWebKit/win:
pewtermoose@webkit.org [Fri, 7 Mar 2008 00:28:55 +0000 (00:28 +0000)]
WebKit/win:

        Reviewed by Adam Roben.

        Bug 17691: REGRESSION: FindSafari doesn't work
        http://bugs.webkit.org/show_bug.cgi?id=17691

        Swap my change from r30394 to use the Release libraries instead of Debug
        since some machines don't have the Debug version.

        * WebKit.vcproj/WebKit.sln:

WebKitTools:

        Reviewed by Adam Roben.

        Bug 17691: REGRESSION: FindSafari doesn't work
        http://bugs.webkit.org/show_bug.cgi?id=17691

        Swap my change from r30394 to use the Release libraries instead of Debug
        since some machines don't have the Debug version.

        * FindSafari/FindSafari.vcproj:

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

12 years agoFix typos.
ddkilzer@apple.com [Fri, 7 Mar 2008 00:14:54 +0000 (00:14 +0000)]
Fix typos.

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

12 years ago Build fix.
sfalken@apple.com [Fri, 7 Mar 2008 00:14:22 +0000 (00:14 +0000)]
    Build fix.

        * JavaScriptCore.vcproj/testkjs/testkjs.vcproj:

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

12 years ago Build fix.
sfalken@apple.com [Thu, 6 Mar 2008 23:39:43 +0000 (23:39 +0000)]
    Build fix.

        * JavaScriptCore.vcproj/WTF/WTF.vcproj:

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

12 years agoVersioning.
mrowe@apple.com [Thu, 6 Mar 2008 23:33:07 +0000 (23:33 +0000)]
Versioning.

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

12 years ago Reviewed by Sam and Tim.
kmccullough@apple.com [Thu, 6 Mar 2008 23:28:05 +0000 (23:28 +0000)]
    Reviewed by Sam and Tim.

        <rdar://5631450> Drosera: breakpoint indicators disappear after the
        script is finished running.
        - If there is a pre-existing breakpoint on a line when the file is
        updated we need to redraw it.

        * Drosera/debugger.js:

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

12 years ago2008-03-06 Alp Toker <alp@atoker.com>
alp@webkit.org [Thu, 6 Mar 2008 23:11:37 +0000 (23:11 +0000)]
2008-03-06  Alp Toker  <alp@atoker.com>

        Fix the build fix in r30845 to support out-of-tree builds.

        * GNUmakefile.am:

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

12 years ago Reviewed by Darin Adler.
mitz@apple.com [Thu, 6 Mar 2008 21:45:50 +0000 (21:45 +0000)]
    Reviewed by Darin Adler.

        - fix a regression from r30741: a crash under
          WebFrameLoaderClient::createPlugin() when showing a Mail message with
          an attachment

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createPlugin):

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

12 years ago Build fix.
sfalken@apple.com [Thu, 6 Mar 2008 21:09:29 +0000 (21:09 +0000)]
    Build fix.

        * wtf/ThreadingWin.cpp:
        (WTF::ThreadCondition::timedWait):

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

12 years ago Tiger build fix...?
beidson@apple.com [Thu, 6 Mar 2008 20:58:35 +0000 (20:58 +0000)]
    Tiger build fix...?

        * DumpRenderTree/mac/WatchdogMac.mm:

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

12 years ago - another small step towards fixing the Qt build
darin@apple.com [Thu, 6 Mar 2008 20:08:54 +0000 (20:08 +0000)]
    - another small step towards fixing the Qt build

        * JavaScriptCore.pri: Remove more references to the now-obsolete bindings directory.

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

12 years agoJavaScriptCore:
darin@apple.com [Thu, 6 Mar 2008 20:02:04 +0000 (20:02 +0000)]
JavaScriptCore:

        - a small step towards fixing the Qt build

        * JavaScriptCore.pri: Remove references to files no longer present in JavaScriptCore/bindings.

WebCore:

        - try to fix Wx build

        * WebCoreSources.bkl: Added PageGroup.cpp.

WebKit/mac:

        - fix Tiger build

        * History/WebHistory.mm: Added include of WebTypesInternal.h.

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

12 years ago Gtk Build fix
beidson@apple.com [Thu, 6 Mar 2008 19:50:32 +0000 (19:50 +0000)]
    Gtk Build fix

        * wtf/ThreadingGtk.cpp:
        (WTF::ThreadCondition::timedWait):

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

12 years ago Wx build fix.
ap@webkit.org [Thu, 6 Mar 2008 19:34:31 +0000 (19:34 +0000)]
    Wx build fix.

        * wtf/unicode/icu/CollatorICU.cpp:
        (WTF::Collator::userDefault): Put ICU workaround under both PLATFORM(DARWIN) and
        PLATFORM(CF) checks, so that each port can decide if it wants to use CF on Mac for it.

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

12 years agoJavaScriptCore:
beidson@apple.com [Thu, 6 Mar 2008 18:55:02 +0000 (18:55 +0000)]
JavaScriptCore:

        Reviewed by Darin

        Add a timedWait() method to ThreadCondition

        * JavaScriptCore.exp:

        * wtf/Threading.h:

        * wtf/ThreadingGtk.cpp:
        (WTF::ThreadCondition::timedWait):

        * wtf/ThreadingNone.cpp:
        (WTF::ThreadCondition::timedWait):

        * wtf/ThreadingPthreads.cpp:
        (WTF::ThreadCondition::timedWait):

        * wtf/ThreadingWin.cpp:
        (WTF::ThreadCondition::timedWait): Needs implementation

WebKitTools:

        Reviewed by Darin

        Added a cross-platform Watchdog thread to DRT.

        The current watchdog in both DRTWin and DRTMac is Timer based.  Therefore, deadlocks and long running
        main thread hangs still affect DRT.

        By placing the watchdog on a thread and having DRT "check in" after each test, long-running hangs
        and true deadlocks can be caught.

        There is one hook for platform specific code.  As I did my development and testing on Mac, and Mac has
        `sample` available, the Mac implementation of this hook samples the process before it is killed.

        I arbitrarily chose 30 seconds as the timeout for now - this can be tweaked easily if we find a need.

        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
        * DumpRenderTree/mac/Configurations/Base.xcconfig: Added LINKER_DISPLAYS_MANGLED_NAMES

        * DumpRenderTree/ForwardingHeaders/wtf/Locker.h: Added.
        * DumpRenderTree/ForwardingHeaders/wtf/Threading.h: Added.

        * DumpRenderTree/Watchdog.cpp: Added.
        (Watchdog::Watchdog):
        (Watchdog::~Watchdog):
        (Watchdog::start):
        (Watchdog::stop):
        (Watchdog::checkIn):
        (Watchdog::setWatchdogInterval):
        (Watchdog::handleHang):
        (Watchdog::watchdogThreadStart):
        (Watchdog::watchdogThread):
        * DumpRenderTree/Watchdog.h: Added.

        * DumpRenderTree/mac/WatchdogMac.h: Added.
        * DumpRenderTree/mac/WatchdogMac.mm: Added.
        (WatchdogMac::handleHang): Sample the process and write it out to a file

        * DumpRenderTree/mac/DumpRenderTree.mm:
        (dumpRenderTree): Setup and start the watchdog before running any tests
        (runTest): Checkin with the watchdog after each test

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

12 years ago More build fixes.
ap@webkit.org [Thu, 6 Mar 2008 18:51:57 +0000 (18:51 +0000)]
    More build fixes.

        * jscore.bkl: Add the wtf/unicode directory.
        * wtf/unicode/CollatorDefault.cpp:
        (WTF::Collator::userDefault): Use a constructor that does exist.
        * wtf/unicode/icu/CollatorICU.cpp: Mac build fix for case-sensitive file systems.

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

12 years ago - fix Release build
darin@apple.com [Thu, 6 Mar 2008 18:21:27 +0000 (18:21 +0000)]
    - fix Release build

        * History/WebHistory.mm:
        (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
        (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
        (-[WebHistoryPrivate saveToURL:error:]): Ditto.

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

12 years ago - try to fix the Qt build
darin@apple.com [Thu, 6 Mar 2008 18:19:09 +0000 (18:19 +0000)]
    - try to fix the Qt build

        * JavaScriptCore.pri: Add the wtf/unicode directory.

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

12 years ago - try to fix the GTK build
darin@apple.com [Thu, 6 Mar 2008 18:18:06 +0000 (18:18 +0000)]
    - try to fix the GTK build

        * GNUmakefile.am: Add a -I for the unicode directory.

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

12 years ago - try to fix the Mac build
darin@apple.com [Thu, 6 Mar 2008 18:14:28 +0000 (18:14 +0000)]
    - try to fix the Mac build

        * icu/unicode/parseerr.h: Copied from ../WebCore/icu/unicode/parseerr.h.
        * icu/unicode/ucol.h: Copied from ../WebCore/icu/unicode/ucol.h.
        * icu/unicode/uloc.h: Copied from ../WebCore/icu/unicode/uloc.h.
        * icu/unicode/unorm.h: Copied from ../WebCore/icu/unicode/unorm.h.
        * icu/unicode/uset.h: Copied from ../WebCore/icu/unicode/uset.h.

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

12 years ago - fix some builds
darin@apple.com [Thu, 6 Mar 2008 17:51:26 +0000 (17:51 +0000)]
    - fix some builds

        * GNUmakefile.am: Added PageGroup.cpp.
        * WebCore.base.exp: Removed WebCoreHistory.
        * WebCore.pro: Added PageGroup.cpp.

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