11 years ago2009-06-04 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Thu, 4 Jun 2009 21:31:46 +0000 (21:31 +0000)]
2009-06-04  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/6854695> Movie controller thumb fails to scale with full page zoom

        Account for zoom level when drawing media controller thumb on Windows.

        * rendering/RenderMediaControls.cpp:

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

11 years agoWebCore:
hyatt@apple.com [Thu, 4 Jun 2009 20:55:09 +0000 (20:55 +0000)]

2009-06-04  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Move DOM window focus/blur out of SelectionController and into FocusController.  Make sure it
        fires on the focused frame when the page activation state changes also.  This is covered by an existing
        layout test (albeit badly).  I have modified the test to be correct.

        * editing/SelectionController.cpp:
        * page/FocusController.cpp:


2009-06-04  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Remove _updateFocusedStateForFrame, since it's actually not even necessary now that I made
        setFocusedFrame get called explicitly from become/ResignFirstResponder.  setFocusedFrame does
        the work of focusing the selection already.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView becomeFirstResponder]):
        (-[WebHTMLView resignFirstResponder]):
        * WebView/WebView.mm:
        * WebView/WebViewInternal.h:


2009-06-04  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Fix the Window focus test to not resign first responder, since that actually made the test
        incorrect.  An unfocused WebHTMLView's DOM window should not receive focus/blur events when the activation

        Now the test just checks that a first responder WebHTMLView will actually fire focus/blur on the DOM window
        as the window gains/loses key.

        * fast/dom/Window/window-onFocus.html:

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

11 years ago2009-06-04 Albert J. Wong <ajwong@chromium.org>
eric@webkit.org [Thu, 4 Jun 2009 20:44:39 +0000 (20:44 +0000)]
2009-06-04  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Eric Seidel.

        Adding in empty files to stage the extract of RenderThemeChromiumSkia
        from RenderThemeChromiumLinux and RenderThemeChromiumWindows.

        * rendering/RenderThemeChromiumSkia.cpp: Added.
        * rendering/RenderThemeChromiumSkia.h: Added.

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

11 years ago2009-06-04 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 4 Jun 2009 20:39:05 +0000 (20:39 +0000)]
2009-06-04  Darin Adler  <darin@apple.com>

        Reviewed by Tim Hatcher.

        Fix crashes due to unbalanced start/stop observer calls.

        * DumpRenderTree/mac/DumpRenderTreeWindow.h: Added observingWebView.
        * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
        (-[DumpRenderTreeWindow startObservingWebView]): Call stopObservingWebView
        in case we're already observing some other WebView. Set observingWebView.
        (-[DumpRenderTreeWindow stopObservingWebView]): Do nothing if
        observingWebView is already NO. Clear observingWebView.

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

11 years ago2009-06-04 Andrei Popescu <andreip@google.com>
bfulgham@webkit.org [Thu, 4 Jun 2009 20:07:07 +0000 (20:07 +0000)]
2009-06-04  Andrei Popescu <andreip@google.com>

        Reviewed by Alexey Proskuryakov.

        Potential crash after ApplicationCacheStorage::storeNewestCache() fails

              Fix the crash by checking the return value of cacheStorage().storeNewestCache(this)
              in WebCore::ApplicationCacheGroup::checkIfLoadIsComplete. If storeNewestCache failed,
              we run the cache failure steps:

        1. Fire the error events to all pending master entries, as well any other cache hosts
           currently associated with a cache in this group.
        2. Disassociate the pending master entries from the failed new cache.
        3. Reinstate the old "newest cache", if there was one.

        We also introduce two other changes:

        1. a mechanism to rollback storageID changes to the in-memory resource
           objects when the storing of an ApplicationCache object fails.

        2. defer removing the pending master entries from the list of pending master entries
           until the entire load is complete. This matches the HTML 5 spec better. To track
           if the load is complete we now introduce a counter for those pending master entries
           that haven't yet finshed downloading.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): initializes the new counter to 0
        (WebCore::ApplicationCacheGroup::selectCache): increments the counter when a new pending
        master entry is added.
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): decrements the counter
        instead of removing the pending master entry.
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource): decrements the counter
        instead of removing the pending master entry.
        (WebCore::ApplicationCacheGroup::setNewestCache): removes an assertion that no longer
        holds true. In particular, the newest cache is not necessarily new anymore. We can
        set an old cache as the new cache. This can happen if we failed to store a newly
        downloaded cache to the database and we are now reinstating the former newest cache.
        (WebCore::ApplicationCacheGroup::manifestNotFound): resets the counter to 0.
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): check if the loading is complete
        based on the counter instead of the list of pending master entries. Empty the list of
        master entries if the load is complete.
        * loader/appcache/ApplicationCacheGroup.h: add the new counter.
        * loader/appcache/ApplicationCacheStorage.cpp: introduce the journaling mechanism for
        in-memory resource objects.
        (WebCore::ApplicationCacheStorage::store): log the changes to the in-memory resource
        (WebCore::ApplicationCacheStorage::storeNewestCache): create the journal object.
        * loader/appcache/ApplicationCacheStorage.h:  modify the signature of
        bool store(ApplicationCache*) to add a pointer to the logger object used to
        trace the changes to the storageID of the resource objects.

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

11 years ago2009-06-04 Jeremy Orlow <jorlow@chromium.org>
bfulgham@webkit.org [Thu, 4 Jun 2009 19:29:29 +0000 (19:29 +0000)]
2009-06-04  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Adler.

        Allow underscores in the hostnames we parse out of databaseIdentifiers.
        This code is used for HTML 5 database support.

        * page/SecurityOrigin.cpp:

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

11 years ago2009-06-04 Mihnea Ovidenie <mihnea@adobe.com>
bfulgham@webkit.org [Thu, 4 Jun 2009 18:44:07 +0000 (18:44 +0000)]
2009-06-04  Mihnea Ovidenie  <mihnea@adobe.com>

        Reviewed by Darin Adler.

        Bug 26084: Multiple missing images in webkit-mask-image prevent rendering

        When painting multiple images, make sure that at least one image is valid before pushing a transparency layer.

        Added a manual test.

        * manual-tests/mask-composite-missing-images.html: Added.
        * rendering/RenderBox.cpp:

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

11 years ago - build fix
mitz@apple.com [Thu, 4 Jun 2009 18:40:25 +0000 (18:40 +0000)]
    - build fix

        * WebView/WebViewInternal.mm:

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

11 years ago2009-06-04 Jeremy Orlow <jorlow@chromium.org>
bfulgham@webkit.org [Thu, 4 Jun 2009 18:34:23 +0000 (18:34 +0000)]
2009-06-04  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Adler.

        Add a fast path for SecurityOrigin::equal. If "other == this" (where
        other is the other security origin), then we really don't need to do
        all the other (expensive) comparisons. We know it's equal.

        * page/SecurityOrigin.cpp:

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

11 years ago2009-06-05 Dmitry Titov <dimich@chromium.org>
dimich@chromium.org [Thu, 4 Jun 2009 18:03:50 +0000 (18:03 +0000)]
2009-06-05  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Eric Seidel.

        Fix the expected results for editing/execCommand/list-wrapping-image-crash.html

        * editing/execCommand/list-wrapping-image-crash-expected.txt:
        * editing/execCommand/list-wrapping-image-crash.html:

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

11 years ago2009-06-04 Brent Fulgham <bfulgham@webkit.org>
bfulgham@webkit.org [Thu, 4 Jun 2009 17:44:03 +0000 (17:44 +0000)]
2009-06-04  Brent Fulgham  <bfulgham@webkit.org>

        Build fix due to header include problem.

        * interpreter/Interpreter.h: Remove wtf from includes so that
          compile can find the headers in expected places.

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

11 years ago2009-06-04 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
bfulgham@webkit.org [Thu, 4 Jun 2009 17:30:23 +0000 (17:30 +0000)]
2009-06-04  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>

        Reviewed by Darin Adler.

        HashTable class (JavaScriptCore/wtf/HashTable.h) doesn't instantiated by 'new', so
        inheritance was removed. HashTable struct has been instantiated by operator new in
        HashTable couldn't inherited from FastAllocBase since struct with inheritance is
        no longer POD, so HashTable struct has been instantiated by fastNew, destroyed by

        * interpreter/Interpreter.h:
        * runtime/JSGlobalData.cpp:
        * wtf/HashTable.h:

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

11 years agoWebCore:
hyatt@apple.com [Thu, 4 Jun 2009 16:16:29 +0000 (16:16 +0000)]

2009-06-03  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Improvements in how selection behaves with focus/activation and a reversion back to using isActive
        in the scrollbar theme code to remove a Chromium ifdef.

        * editing/SelectionController.cpp:
        Make the controller set its focused state correctly upon initial creation.

        Make selection willing to shift the focus node if the selection is focused even if the
        selection is not active.  Whether or not the Page is active is irrelevant to focus changes.

        * editing/SelectionController.h:
        Add a new isFocused() method so that code can check if the Selection is focused without caring
        about the active state.

        * page/Frame.cpp:
        Allow focus shifts even when the selection is not active.

        * platform/mac/ScrollbarThemeMac.mm:
        Revert Dan's change to directly talk to AppKit for checking active state.  Now that the WebCore isActive
        method works, ditch the Chromium-specific #ifdef and go back to the original code.


2009-06-03  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Reworking of focus and active state updating for WebHTMLViews so that it actually works instead of reporting wrong answers.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        WebHTMLViews become first responders before they are able to reach their Frames/Pages.  This happens because the NSClipView
        becomes first responder when the WebHTMLView gets destroyed, and then we transfer the responder state back to the new WebHTMLView
        when it is first connected.  Once we have transitioned to a new page and have the Frame/Page available, go ahead and explicitly
        focus the frame in WebCore and update our focused state.  This change allows us to remove the updateFocusedActive timer and the
        code from viewDidMoveToWindow.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView close]):
        (-[WebHTMLView addWindowObservers]):
        (-[WebHTMLView viewWillMoveToWindow:]):
        (-[WebHTMLView viewDidMoveToWindow]):
        (-[WebHTMLView _removeWindowObservers]):
        Remove all the updateFocusedActiveState timer code, since it no longer exists.

        (-[WebHTMLView windowDidBecomeKey:]):
        (-[WebHTMLView windowDidResignKey:]):
        Active state updating is no longer done by WebHTMLViews.   It is handled by the WebView instead.

        (-[WebHTMLView becomeFirstResponder]):
        (-[WebHTMLView resignFirstResponder]):
        Reworking of WebHTMLView's code for gaining/losing responder status.  No longer update active state here, since the active state
        can never change just because of responder changes.  Make sure that the focused frame gets updated properly (and most importantly
        actually cleared when a WebHTMLView resigns responder status).

        * WebView/WebHTMLViewInternal.h:
        * WebView/WebHTMLViewPrivate.h:
        State updating for focused and active states has been made independent.

        * WebView/WebView.mm:
        (-[WebView _updateActiveState]):
        WebView now handles updating of active state in _updateActiveState.  It is now purely based off whether the window is key and nothing

        (-[WebView addWindowObserversForWindow:]):
        (-[WebView removeWindowObservers]):
        Start listening for the window becoming/losing key even in the usesDocumentViews case.

        (-[WebView _updateFocusedStateForFrame:]):
        Focused state updating is split into its own method now and called when WebHTMLViews gain and lose responder status.

        (-[WebView _windowDidBecomeKey:]):
        (-[WebView _windowDidResignKey:]):
        Make sure to call _updateActiveState as the window gains/loses key.

        (-[WebView _windowWillOrderOnScreen:]):
        Run this code now that WebHTMLView no longer does it.

        * WebView/WebViewInternal.h:
        * WebView/WebViewPrivate.h:
        Updating for the split of focused and active state updating into separate methods.


2009-06-03  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        * DumpRenderTree/mac/FrameLoadDelegate.mm:
        (-[FrameLoadDelegate webView:didCommitLoadForFrame:]):
        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
        Remove explicit calls to _updateFocusedActiveState when the view is made first responder.
        Focused state already properly updates when views become first responders, so these calls
        are unnecessary.

        Explicitly call _updateActiveState when our window becomes key, since we're just faking it
        and the notification won't be sent.

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

11 years ago2009-06-04 Pierre d'Herbemont <pdherbemont@apple.com>
eric.carlson@apple.com [Thu, 4 Jun 2009 16:04:07 +0000 (16:04 +0000)]
2009-06-04  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Darin Adler.

        Test: media/before-load-member-access.html


        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::played): Ensure that if m_playedTimeRanges,
        is not initialized we return a valid range, and don't attempt to use it.

2009-06-04  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Darin Adler.


        * media/before-load-member-access-expected.txt: Added.
        * media/before-load-member-access.html: Test access for property accessed before
        loading occurs. That tests for 26081 crasher specifically.

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

11 years ago2009-06-04 Ariya Hidayat <ariya.hidayat@nokia.com>
ariya@webkit.org [Thu, 4 Jun 2009 15:11:50 +0000 (15:11 +0000)]
2009-06-04  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Rubber-stamped by Tor Arne Vestbø.

        Added Qt-specific expected result for Canvas pointInPath's test.

        Qt's QPainterPath::contains(point) returns false if the point is
        exactly along one of the edges (except the origin). Until we
        find a workaround for this, compensate it in the expected result.

        * platform/qt/fast/canvas/pointInPath-expected.txt: Added.

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

11 years ago2009-06-03 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
hausmann@webkit.org [Thu, 4 Jun 2009 12:44:09 +0000 (12:44 +0000)]
2009-06-03  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Simon Hausmann.

        Add API to make it possible to clear all memory caches used by

        * Api/qwebsettings.cpp:
        * Api/qwebsettings.h:

2009-06-03  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Simon Hausmann.

        Implement a way to invalidate the FontCache used by the Qt port.

        * platform/graphics/qt/FontCacheQt.cpp:

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

11 years ago2009-06-04 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Thu, 4 Jun 2009 11:00:58 +0000 (11:00 +0000)]
2009-06-04  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Wrap the code that plants pushes/pops planted by JIT in explanatorily named
        methods; move property storage reallocation into a standard stub function.

        ~No performance impact (possible <1% progression on x86-64, likely just noise).

        * jit/JIT.cpp:
            Wrap calls to push/pop.
        * jit/JIT.h:
            Declare the new wrapper methods.
        * jit/JITInlineMethods.h:
            Define the new wrapper methods.
        * jit/JITOpcodes.cpp:
            Wrap calls to push/pop.
        * jit/JITPropertyAccess.cpp:
            Move property storage reallocation into a standard stub function.
        * jit/JITStubs.cpp:
        * jit/JITStubs.h:

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

11 years ago2009-06-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
ariya@webkit.org [Thu, 4 Jun 2009 08:58:19 +0000 (08:58 +0000)]
2009-06-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Ariya Hidayat.


        [Qt] Single-threaded QtWebKit configuration

        Turn off Database, DOM storage, icon database and Web Workers support
        when ENABLE_SINGLE_THREADED is turned on.

        Set SQLITE_THREADSAFE to false to turn off SQLite mutexes
        when ENABLE_SINGLE_THREADED is turned on.

        * WebCore.pro:

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

11 years agoSpeculative Tiger build fix.
mrowe@apple.com [Thu, 4 Jun 2009 08:22:24 +0000 (08:22 +0000)]
Speculative Tiger build fix.

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

11 years agoWebKit:
weinig@apple.com [Thu, 4 Jun 2009 03:32:38 +0000 (03:32 +0000)]

2009-06-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Added WebDelegateImplementationCaching.h/mm

        * WebKit.xcodeproj/project.pbxproj:


2009-06-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Move delegate implementation caching logic into its own files.

        * WebView/WebDelegateImplementationCaching.h: Copied from mac/WebView/WebViewInternal.h.
        * WebView/WebDelegateImplementationCaching.mm: Copied from mac/WebView/WebView.mm.
        * WebView/WebView.mm:
        * WebView/WebViewInternal.h:

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

11 years ago Reviewed by Sam Weinig.
mitz@apple.com [Thu, 4 Jun 2009 03:30:16 +0000 (03:30 +0000)]
    Reviewed by Sam Weinig.

        - add some assertions that Font methods are used on the main thread

        * platform/graphics/Font.cpp:
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:

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

11 years agoWebKit:
weinig@apple.com [Thu, 4 Jun 2009 02:39:42 +0000 (02:39 +0000)]

2009-06-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Add WebViewInternal.mm.

        * WebKit.xcodeproj/project.pbxproj:


2009-06-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Move WebViewPrivate structure to WebViewInternal.h/mm.

        * WebView/WebView.mm:
        * WebView/WebViewInternal.h:
        * WebView/WebViewInternal.mm: Added.
        (+[WebViewPrivate initialize]):
        (-[WebViewPrivate init]):
        (-[WebViewPrivate dealloc]):
        (-[WebViewPrivate finalize]):

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

11 years ago2009-06-03 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 4 Jun 2009 01:13:35 +0000 (01:13 +0000)]
2009-06-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Small cleanup in WebView.
        - Move global data initialization to WebView's initialization method.
        - Move _clearViewUpdateRunLoopObserver from WebViewPrivate to WebView (FileInternal)

        * WebView/WebView.mm:
        (-[WebViewPrivate init]): Remove global initializers.
        (-[WebViewPrivate dealloc]): Cleanup whitespace.
        (-[WebViewPrivate finalize]): Ditto.
        (-[WebView _close]): Call [self _clearViewUpdateRunLoopObserver] instead of
        [_private _clearViewUpdateRunLoopObserver]
        (+[WebView initialize]): Move global initializers here.
        (-[WebView _clearViewUpdateRunLoopObserver]): Moved from WebViewPrivate.
        (viewUpdateRunLoopObserverCallBack): Call [self _clearViewUpdateRunLoopObserver]
        instead of [_private _clearViewUpdateRunLoopObserver]

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

11 years ago - Windows build fix
mitz@apple.com [Thu, 4 Jun 2009 00:11:51 +0000 (00:11 +0000)]
    - Windows build fix

        Rolled out apparently-accidental changes to config.h from r44398. These
        were not part of the patch as reviewed.

        * config.h:

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

11 years ago2009-06-03 Dmitry Titov <dimich@chromium.org>
dimich@chromium.org [Thu, 4 Jun 2009 00:07:14 +0000 (00:07 +0000)]
2009-06-03  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, Chromium build fix.

        Reverting 'private' to 'protected' on 2 classes.
        Chromium glue layer (not yet in Webkit tree) relies on ability to derive
        Chromium-specific platform classes and access the data members.
        See bug for more details.

        * platform/PlatformMouseEvent.h:
        * platform/PlatformWheelEvent.h:

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

11 years ago Reviewed by Simon Fraser <simonfr@apple.com>.
cmarrin@apple.com [Wed, 3 Jun 2009 23:37:03 +0000 (23:37 +0000)]
    Reviewed by Simon Fraser <simonfr@apple.com>.

        Fixed https://bugs.webkit.org/show_bug.cgi?id=26162

        This corrects an error when destroying an animation
        or transition where endAnimation was never getting
        called and therefore the hardware animation was never
        getting removed.

        This includes a manual-test since it's really impossible
        to make a meaningful automatic test for an animation
        bug like this.

        This has no effect unless accelerated compositing is

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

11 years agowx build fix, remove no longer needed function call.
kevino@webkit.org [Wed, 3 Jun 2009 23:12:00 +0000 (23:12 +0000)]
wx build fix, remove no longer needed function call.

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

11 years ago2009-06-03 Adam Langley <agl@google.com>
agl@chromium.org [Wed, 3 Jun 2009 23:08:30 +0000 (23:08 +0000)]
2009-06-03  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Make the scrollbar thumb size twice the width for Chromium Linux. This
        matches Firefox on Linux.

        This will need layout test pixel results to be rebaselined in the
        Chromium tree.


        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        * platform/chromium/ScrollbarThemeChromiumLinux.h:

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

11 years ago2009-06-03 Adam Langley <agl@google.com>
agl@chromium.org [Wed, 3 Jun 2009 22:46:31 +0000 (22:46 +0000)]
2009-06-03  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Change Chromium scrollbar theme code to use different classes on
        Windows and Linux rather than suppling symbols. The ScrollbarTheme
        class is already using virtual dispatch, so there's no reason not to.

        This should not affect any layout tests.


        * platform/chromium/ScrollbarThemeChromium.cpp:
        * platform/chromium/ScrollbarThemeChromium.h:
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        * platform/chromium/ScrollbarThemeChromiumLinux.h: Added.
        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
        * platform/chromium/ScrollbarThemeChromiumWin.h: Added.

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

11 years ago2009-06-03 Brent Fulgham <bfulgham@webkit.org>
bfulgham@webkit.org [Wed, 3 Jun 2009 22:45:42 +0000 (22:45 +0000)]
2009-06-03  Brent Fulgham  <bfulgham@webkit.org>

        Build fix for Windows Cairo.

        * WebKit.vcproj/WebKit.vcproj: Remove unneeded giflib.lib
          link command.

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

11 years ago2009-06-03 Pavel Feldman <pfeldman@chromium.org>
bfulgham@webkit.org [Wed, 3 Jun 2009 22:32:29 +0000 (22:32 +0000)]
2009-06-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Enabling debugger requires that Scripts panel is already attached to the
        render tree. The reason is that recompile events result in script sources
        being added into the source frames. Prior to the global options introduced,
        debugger was enabled from the Scripts panel, so that it was guaranteed to
        exist. The InspectorController::enableDebugger API calls with no inspector
        frontend showing were failing though.


        * WebCore.base.exp:
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        * inspector/InspectorController.idl:
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/ScriptsPanel.js:
        * inspector/front-end/inspector.js:

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

11 years ago Reviewed by Anders Carlsson.
mitz@apple.com [Wed, 3 Jun 2009 22:10:55 +0000 (22:10 +0000)]
    Reviewed by Anders Carlsson.

        - fix a regression from the previous patch

        * platform/graphics/Font.cpp: Initialize shouldUseFontSmoothing to true.

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

11 years agoWebCore:
mitz@apple.com [Wed, 3 Jun 2009 22:03:52 +0000 (22:03 +0000)]

        Reviewed by Anders Carlsson.

        - eliminate WebCoreTextRenderer

        * WebCore.base.exp: Updated.
        * WebCore.xcodeproj/project.pbxproj: Removed WebCoreTextRenderer.{h,mm}
            and promoted WebFontCache.h to private.
        * platform/graphics/Font.cpp:
        (WebCore::Font::setShouldUseSmoothing): Added this static setter for
            a new file-static boolean.
        (WebCore::Font::shouldUseSmoothing): Added this static getter.
        * platform/graphics/Font.h: Decleared setShouldUseSmoothing() and
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs): Use Font::shouldUseSmoothing() instead of
        * platform/graphics/mac/WebLayer.mm: Removed unneeded #import.
        * platform/mac/WebCoreTextRenderer.h: Removed.
        * platform/mac/WebCoreTextRenderer.mm: Removed.


        Reviewed by Anders Carlsson.

        - WebKit project part of eliminating WebCoreTextRenderer

        * WebKit.xcodeproj/project.pbxproj: Changed WebKitNSStringExtras.m to
            compile as Objective-C++.


        Reviewed by Anders Carlsson.

        - WebKit part of eliminating WebCoreTextRenderer

        * Misc/WebKitNSStringExtras.m:
        (webkit_CGCeiling): Added.
        (-[NSString _web_drawAtPoint:font:textColor:]): Replaced the malloc()ed
            string buffer with a Vector. Moved code from
            WebCoreDrawTextAtPoint() to here.
        (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
        (-[NSString _web_widthWithFont:]): Replaced the malloc()ed string buffer
            with a Vector. Moved code from WebCoreTextFloatWidth() to here.
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _addToStyle:fontA:fontB:]): Replaced call to
            WebCoreFindFont() with use of
            +[WebFontCache fontWithFamily:traits:weight:size:].
        * WebView/WebView.mm:
        (+[WebView _setAlwaysUsesComplexTextCodePath:]): Changed to call
            Font::setCodePath() directly.
        (+[WebView _setShouldUseFontSmoothing:]): Changed to call
        (+[WebView _shouldUseFontSmoothing]): Changed to call

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

11 years ago2009-06-03 David Levin <levin@chromium.org>
levin@chromium.org [Wed, 3 Jun 2009 20:32:14 +0000 (20:32 +0000)]
2009-06-03  David Levin  <levin@chromium.org>

        Reviewed by Dimitri Glazkov.

        v8's ScriptController::evaluate should protect the Frame like the jsc version.

        This change is simply copying protections done for Frame in the method
        WebCore::ScriptController::evaluate in the file js/ScriptController.cpp.

        * bindings/v8/ScriptController.cpp:

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

11 years ago Rubber-stamped by Mark Rowe.
mitz@apple.com [Wed, 3 Jun 2009 20:17:43 +0000 (20:17 +0000)]
    Rubber-stamped by Mark Rowe.

        - remove a private method that was used only by Safari 3.0.

        * WebView/WebView.mm: Removed +_minimumRequiredSafariBuildNumber.
        * WebView/WebViewPrivate.h: Ditto.

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

11 years ago Reviewed by John Sullivan.
mitz@apple.com [Wed, 3 Jun 2009 18:24:04 +0000 (18:24 +0000)]
    Reviewed by John Sullivan.

        - fix <rdar://problem/6841120> Use CTFontManager notifications instead
          of ATS notifications

        * platform/graphics/FontCache.h: Made it an error to destroy a
        FontCache instance.
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Added
        this notification callback for the
        kCTFontManagerRegisteredFontsChangedNotification, which calls
        (WebCore::FontCache::platformInit): Register for

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

11 years ago - build fix
mitz@apple.com [Wed, 3 Jun 2009 18:10:42 +0000 (18:10 +0000)]
    - build fix

        * WebView/WebHTMLView.mm:

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

11 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Wed, 3 Jun 2009 17:07:34 +0000 (17:07 +0000)]
Reviewed by Kevin Ollivier.

Use CGContextShowGlyphsWithAdvances to get more accurate text rendering on Mac.


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

11 years ago2009-06-03 Pavel Feldman <pfeldman@chromium.org>
dglazkov@chromium.org [Wed, 3 Jun 2009 16:43:13 +0000 (16:43 +0000)]
2009-06-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Reorder ResourcesPanel components initialization to unfreeze resource list scroller.


        * inspector/front-end/ResourcesPanel.js:

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

11 years ago2009-06-03 Pavel Feldman <pfeldman@chromium.org>
dglazkov@chromium.org [Wed, 3 Jun 2009 16:41:49 +0000 (16:41 +0000)]
2009-06-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        - Fix for crash (preceded by assertion) in InspectorController::didCommitLoad
          when reloading or navigating with the Inspector open.
        - Fix for Inspector's Elements panel being empty when Inspector first appears.


        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:

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

11 years ago Reviewed by Anders Carlsson.
mitz@apple.com [Wed, 3 Jun 2009 16:35:58 +0000 (16:35 +0000)]
    Reviewed by Anders Carlsson.

        - build fix

        * WebView/WebHTMLView.mm:
        * WebView/WebView.mm:

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

11 years ago Windows build fix after r44379
aroben@apple.com [Wed, 3 Jun 2009 15:29:06 +0000 (15:29 +0000)]
    Windows build fix after r44379

        * svg/graphics/SVGImage.cpp: Move EmptyClients.h back down below the
        other #includes to fix a compiler warning on Windows.

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

11 years ago2009-06-02 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
hausmann@webkit.org [Wed, 3 Jun 2009 14:22:11 +0000 (14:22 +0000)]
2009-06-02  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Simon Hausmann.

        Add workaround for crash in Linux Flash Player when hosted by
        another toolkit than GTK+. Bug fixed at the Flash Player bugzilla,
        issue (FP-2140).

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

11 years ago2009-06-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
hausmann@webkit.org [Wed, 3 Jun 2009 14:21:59 +0000 (14:21 +0000)]
2009-06-01  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Simon Hausmann.

        Refactor the Qt plugin code to use NPP_SetWindow correctly,
        to make resizing of plugins work.

        Attention was paid to make sure that the windowed plugins scroll
        synchronized with the page view. A manual test has been added.

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

11 years ago Rubber-stamped by Mark Rowe.
ap@webkit.org [Wed, 3 Jun 2009 07:33:18 +0000 (07:33 +0000)]
    Rubber-stamped by Mark Rowe.

        Fix appcache/fallback.html test broken by network simulator changes made for a preloading test.

        * http/tests/resources/network-simulator.php: Tell PHP that a variable is global.

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

11 years agoWebCore:
darin@apple.com [Wed, 3 Jun 2009 05:37:09 +0000 (05:37 +0000)]

2009-06-02  Darin Adler  <darin@apple.com>

        Reviewed by David Hyatt.

        Bug 26112: viewless WebKit -- make events work

        The main fix here is to make mouse and wheel event coordinates in the coordinate
        system of the top level NSView rather than the NSWindow when in the viewless mode.
        This is the design Hyatt chose, but the event part of it wasn't done yet.

        Also fix FrameView to do normal reference counting instead of a strange model with
        an explicit deref near creation time.

        * WebCore.base.exp: Updated.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::eventLoopHandleMouseUp): Moved this function into the file
        to reduce conditionals in the header.
        (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.

        * page/EventHandler.h: Reduced includes. Fixed formatting of Objective-C types.
        Made currentNSEvent a static member function. Added sendContextMenuEvent and
        eventMayStartDrag functions that takes NSEvent * so the conversion to PlatformMouseEvent
        can be done here rather than in WebKit. Reduced #if by making eventLoopHandleMouseUp and
        eventLoopHandleMouseDragged unconditional.

        * page/Frame.cpp:
        (WebCore::Frame::setView): Made this take a PassRefPtr since it takes ownership.
        (WebCore::Frame::createView): Changed to use RefPtr and FrameView::create and remove
        the explicit deref.

        * page/Frame.h: Changed setView to take a PassRefPtr.

        * page/FrameTree.cpp: Added newly-needed include.

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView): Got rid of one of the two constructors, and removed
        the initialization of m_refCount and call to show from the reamining one.
        (WebCore::FrameView::create): Added two create functions that do what the two
        constructors did before, except that they return a PassRefPtr to make sure the
        reference counting is handled correctly.
        (WebCore::FrameView::~FrameView): Removed assertion from when FrameView implemented
        its own reference counting.

        * page/FrameView.h: Inherit from RefCounted for reference counting. Made the
        constructor private and added create functions. Got rid of the hand-implemented
        reference counting in this class.

        * page/mac/EventHandlerMac.mm:
        (WebCore::currentNSEventSlot): Renamed currentEvent to currentNSEventSlot to
        make it more clear how it relates to currentNSEvent.
        (WebCore::EventHandler::currentNSEvent): Updated.
        (WebCore::CurrentEventScope::CurrentEventScope): Added. Use to set/reset the
        current event in a foolproof way.
        (WebCore::CurrentEventScope::~CurrentEventScope): Ditto.
        (WebCore::EventHandler::wheelEvent): Use CurrentEventScope. Pass the platform
        window in when constructing the PlatformWheelEvent.
        (WebCore::EventHandler::keyEvent): Use CurrentEventScope.
        (WebCore::lastEventIsMouseUp): Use currentNSEvent.
        (WebCore::EventHandler::passMouseDownEventToWidget): Ditto.
        (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
        (WebCore::EventHandler::eventLoopHandleMouseUp): Ditto.
        (WebCore::EventHandler::passSubframeEventToSubframe): Use
        currentPlatformMouseEvent to get a mouse event that has the appropriate
        platform window passed to create it.
        (WebCore::EventHandler::passWheelEventToWidget): Ditto.
        (WebCore::EventHandler::mouseDown): Ditto.
        (WebCore::EventHandler::mouseDragged): Ditto.
        (WebCore::EventHandler::mouseUp): Ditto.
        (WebCore::EventHandler::mouseMoved): Ditto.
        (WebCore::EventHandler::currentPlatformMouseEvent): Added. Passes the
        platform window that's now needed to create a PlatformMouseEvent.
        (WebCore::EventHandler::sendContextMenuEvent): Added.
        (WebCore::EventHandler::eventMayStartDrag): Added.

        * platform/HostWindow.h: Removed unneeded includes and constructor definition.

        * platform/PlatformMouseEvent.h: Sorted things in alphabetical order.
        Changed Mac constructor to take a windowView as well as the event. This is
        needed in viewless mode, since the "window" is actually an NSView, so the
        event has to know which view to compute the coordinates with. Made the
        same change to pointForEvent.
        * platform/PlatformWheelEvent.h: Ditto.

        * platform/mac/PlatformMouseEventMac.mm:
        (WebCore::pointForEvent): Convert point from window coordinates to view
        coordinates if a windowView is passed in. This is used in viewless mode.
        (WebCore::PlatformMouseEvent::PlatformMouseEvent): Ditto.
        * platform/mac/WheelEventMac.mm:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Ditto.

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::convertFromContainingWindow): Fixed case where there
        is no platform widget and no parent. Before it would yield unpredictable
        results because of dispatching to a nil object and returning a structure.
        Now it returns the point without changing coordinates at all, which is what
        we need for this case in viewless mode.

        * rendering/RenderApplet.cpp: Removed unneeded includes.
        (WebCore::RenderApplet::intrinsicSize): Use widget function.
        (WebCore::RenderApplet::createWidgetIfNecessary): Ditto.

        * rendering/RenderApplet.h: Make more things private. Get rid of unneeded
        explicit destructor.

        * rendering/RenderFrame.cpp: Removed unneeded includes.
        (WebCore::RenderFrame::edgeInfo): Updated to use node function so header
        doesn't have to define element function.
        (WebCore::RenderFrame::viewCleared): Ditto. Also changed to use widget

        * rendering/RenderFrame.h: Removed unneeded includes. Made some things
        private. Got rid of element function.

        * rendering/RenderPart.cpp: Removed unneeded includes.
        (WebCore::RenderPart::~RenderPart): Changed to use clearWidget function.
        (WebCore::RenderPart::setWidget): Changed to use widget function.
        (WebCore::RenderPart::deleteWidget): Changed to use passed-in widget.
        This is now only called by the clearWidget function.

        * rendering/RenderPart.h: Removed unneeded forward declarations.
        Made more functions private. Updated deleteWidget to take widget argument.

        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::~RenderPartObject): use frameView function
        instead of getting at m_view directly.
        (WebCore::RenderPartObject::updateWidget): Ditto.
        (WebCore::RenderPartObject::layout): Ditto. Same for widget and m_widget.
        (WebCore::RenderPartObject::viewCleared): Ditto.

        * rendering/RenderPartObject.h: Made some functions private.

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::RenderWidget): Initialize m_frameView with
        construction syntax instead of assignment.
        (WebCore::RenderWidget::destroy): Updated for name change of m_view
        to m_frameView.
        (WebCore::RenderWidget::~RenderWidget): Use clearWidget to delete
        the widget.
        (WebCore::RenderWidget::setWidget): Use clearWidget.
        (WebCore::RenderWidget::paint): Updated for name change of m_view
        to m_frameView.
        (WebCore::RenderWidget::deleteWidget): Changed to use passed-in widget.

        * rendering/RenderWidget.h: Made many functions protected, others
        private and made all data members private.

        * svg/animation/SMILTime.h: Removed unhelpful max and min functions. These
        just do what std::max and std::min will already do automatically for this
        type, so they are not helpful.

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::SVGImage): Removed unneeded initial values for types
        that initialize to zero without anything explicit.
        (WebCore::SVGImage::~SVGImage): Update since m_frame and m_frameView are
        no longer stored.
        (WebCore::SVGImage::setContainerSize): Ditto.
        (WebCore::SVGImage::usesContainerSize): Ditto.
        (WebCore::SVGImage::size): Ditto.
        (WebCore::SVGImage::hasRelativeWidth): Ditto.
        (WebCore::SVGImage::hasRelativeHeight): Ditto.
        (WebCore::SVGImage::draw): Ditto.
        (WebCore::SVGImage::nativeImageForCurrentFrame): Ditto.
        (WebCore::SVGImage::dataChanged): Ditto.

        * svg/graphics/SVGImage.h: Removed unneeded includes and unneeded data
        members m_document, m_frame, m_frameView, and m_minSize.


2009-06-02  Darin Adler  <darin@apple.com>

        Reviewed by David Hyatt.

        Bug 26112: viewless WebKit -- make events work

        One change here is to make the -[WebFrame frameView] function assert if ever called
        in viewless mode, and fix many callers that would trip that assertion.

        A major change is to put some methods and data in WebView that are currently in
        WebHTMLView, used only in viewless mode. A next step will be to use the WebView
        methods whenever possible, even when not in the viewless mode.

        Also fix FrameView to do normal reference counting instead of a strange model with
        an explicit deref near creation time.

        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::scrollRectIntoView): Add code to start in the appropriate place
        when dealing with viewless mode. This gets triggered when visiting the Google home page.
        (WebChromeClient::setToolTip): Changed to call WebView instead of WebHTMLView.
        (WebChromeClient::print): Changed to use a new selector that doesn't require a
        WebFrameView if present. Also don't even try to use the old selector in viewless mode.

        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::respondToChangedSelection): Changed to call WebView instead of WebHTMLView.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::transitionToCommittedForNewPage): Added more code paths for
        viewless mode to skip things we can't do in that mode, with appropriate FIXME.
        Use Frame::create and RefPtr and eliminate the strange reference counting of FrameView.

        * WebView/WebDataSource.mm:
        (-[WebDataSource _receivedData:]): Added a _usesDocumentViews guard around code that's
        specific to document views.

        * WebView/WebFrame.mm:
        (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Added a _usesDocumentViews
        guard around code that's specific to document views.
        (-[WebFrame _hasSelection]): Added an implementation for viewless mode.
        (-[WebFrame _clearSelection]): Assert we're not in viewless mode; it doesn't really
        make sense to clear the selection in only one frame in viewless mode. Later we can
        decide what to do.
        (-[WebFrame _dragSourceMovedTo:]): Assert we're not in viewless mode; the dragging
        code for viewless mode shouldn't have to involve the WebFrame object at all.
        (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
        (-[WebFrame frameView]): Assert we're not in viewless mode. This assertion fires
        often, but it's a great pointer to code that needs to be changed.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView hitTest:]): Tweaked a comment.
        (-[WebHTMLView _updateMouseoverWithEvent:]): Fixed a bug where the fake event for
        moving the mouse out of the old view ended up overwriting the event for moving
        the mouse within the new view.
        (-[WebHTMLView mouseDown:]): Got rid of explicit conversion of event to
        PlatformMouseEvent in call to sendContextMenuEvent; that's no longer possible
        without passing another argument, and it's now handled in EventHandler.

        * WebView/WebTextCompletionController.h: Copied from WebKit/mac/WebView/WebHTMLView.mm.
        Removed everything except for the WebTextCompletionController class.
        * WebView/WebTextCompletionController.mm: Copied from WebKit/mac/WebView/WebHTMLView.mm.

        * WebView/WebUIDelegatePrivate.h: Added webView:printFrame: method.

        * WebView/WebView.mm: Moved includes and fields in from WebHTMLView.
        (-[WebView _usesDocumentViews]): Updated for name change from useDocumentViews
        to usesDocumentViews.
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Ditto.
        (-[WebView drawSingleRect:]): Ditto.
        (-[WebView isFlipped]): Ditto.
        (-[WebView setFrameSize:]): Ditto. Also changed to use _mainCoreFrame method.
        (-[WebView _viewWillDrawInternal]): Ditto.
        (-[WebView viewWillDraw]): Ditto.
        (-[WebView drawRect:]): Ditto.
        (-[WebView _close]): Added code to nil out the lastMouseoverView global.
        (-[WebView _dashboardRegions]): Use _mainCoreFrame.
        (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
        (-[WebView _setInViewSourceMode:]): Ditto.
        (-[WebView _inViewSourceMode]): Ditto.
        (-[WebView _attachScriptDebuggerToAllFrames]): Ditto.
        (-[WebView _detachScriptDebuggerFromAllFrames]): Ditto.
        (-[WebView textIteratorForRect:]): Ditto.
        (-[WebView _executeCoreCommandByName:value:]): Ditto.
        (-[WebView addWindowObserversForWindow:]): Ditto.
        (-[WebView removeWindowObservers]): Ditto.
        (-[WebView _updateFocusedAndActiveState]): Ditto.
        (-[WebView _updateFocusedAndActiveStateForFrame:]): Turned into a class method.
        Added code to handle the viewless case without calling frameView.
        (-[WebView _windowDidBecomeKey:]): Updated for name change from useDocumentViews
        to usesDocumentViews.
        (-[WebView _windowDidResignKey:]): Ditto.
        (-[WebView _windowWillOrderOnScreen:]): Ditto.
        (-[WebView mainFrame]): Tweaked.
        (-[WebView selectedFrame]): Added a conditional to avoid trying to get at the
        frame view in viewless case.
        (-[WebView _setZoomMultiplier:isTextOnly:]): Use _mainCoreFrame.
        (-[WebView setCustomTextEncodingName:]): Ditto.
        (-[WebView windowScriptObject]): Ditto.
        (-[WebView setHostWindow:]): Ditto. Also put some code that's needed only for
        document views inside _private->usesDocumentViews.
        (-[WebView _hitTest:dragTypes:]): Tweaked.
        (-[WebView acceptsFirstResponder]): Added case for viewless mode along with a
        FIXME, since it's not complete.
        (-[WebView becomeFirstResponder]): Ditto.
        (-[WebView _webcore_effectiveFirstResponder]): Put the body of this inside
        a usesDocumentView check, because we don't need the first responder forwarding
        in viewless mode.
        (-[WebView setNextKeyView:]): Ditto.
        (-[WebView mouseDown:]): Added. Copied from WebHTMLView. FIXME in here suggests
        that we make WebHTMLView share this one soon, which I think is practical.
        (-[WebView mouseUp:]): Ditto.
        (-[WebView setHoverFeedbackSuspended:]): Added a code path for viewless mode.
        (-[WebView shouldClose]): Use _mainCoreFrame.
        (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
        (-[WebView setEditable:]): Ditto.
        (-[WebView _frameViewAtWindowPoint:]): Added an assertion that we're not in
        viewless mode since this method makes no sense in that mode.
        (-[WebView _setMouseDownEvent:]): Added. Copied from WebHTMLView. I plan to
        eliminate the one in WebHTMLView soon.
        (-[WebView _cancelUpdateMouseoverTimer]): Ditto.
        (-[WebView _stopAutoscrollTimer]): Ditto.
        (+[WebView _updateMouseoverWithEvent:]): Ditto.
        (-[WebView _updateMouseoverWithFakeEvent]): Ditto.
        (-[WebView _setToolTip:]): Added. Calls through to the WebHTMLView version.
        (-[WebView _selectionChanged]): Ditto.
        (-[WebView _mainCoreFrame]): Added.
        (-[WebView _needsOneShotDrawingSynchronization]): Moved into the WebInternal
        (-[WebView _setNeedsOneShotDrawingSynchronization:]): Ditto.
        (-[WebView _startedAcceleratedCompositingForFrame:]): Ditto.
        (-[WebView _stoppedAcceleratedCompositingForFrame:]): Ditto.
        (viewUpdateRunLoopObserverCallBack): Ditto.
        (-[WebView _scheduleViewUpdate]): Ditto.

        * WebView/WebViewInternal.h: Made most of the file not compile at all when
        included from non-C++ source files, elminating some excess declarations and
        typedefs. Moved more methods into the real internal category. Added new
        methods _setMouseDownEvent, _cancelUpdateMouseoverTimer, _stopAutoscrollTimer,
        _updateMouseoverWithFakeEvent, _selectionChanged, and _setToolTip:.


2009-06-02  Darin Adler  <darin@apple.com>

        Reviewed by David Hyatt.

        * WebKitSupport/FrameLoaderClientWx.cpp:
        (WebCore::FrameLoaderClientWx::transitionToCommittedForNewPage): Use FrameView::create
        and RefPtr instead of the old "crazy" reference counting.

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

11 years ago2009-06-02 Adam Langley <agl@google.com>
agl@chromium.org [Wed, 3 Jun 2009 03:15:09 +0000 (03:15 +0000)]
2009-06-02  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        The previous code was assuming that we'll be painting buttons on the scrollbar
        which isn't true on Linux. To reproduce, resize a page with scrollbars until
        they are less than two widths high.

        This will need pixel test baselines to be updated in the Chromium tree.

        * platform/chromium/ScrollbarThemeChromium.cpp: move this function...
        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
        (WebCore::ScrollbarThemeChromium::trackRect): ... to here
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromium::trackRect): add an alternative which
        doesn't remove the track when the scrollbar is less than two widths

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

11 years ago2009-06-02 Jessie Berlin <jberlin@apple.com>
jberlin@apple.com [Wed, 3 Jun 2009 02:57:51 +0000 (02:57 +0000)]
2009-06-02  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Mark Rowe.

        Add "replace" behavior so that it shows the addition part of the
        replacement of the file first, and then shows the changes.

        Future: Add in showing the removal part of the replacement.

        * Scripts/svn-create-patch:

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

11 years agoRemove workaround that was added to address <rdar://problem/5488678> as it no longer...
mrowe@apple.com [Wed, 3 Jun 2009 02:01:27 +0000 (02:01 +0000)]
Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.

Reviewed by Anders Carlsson.

* Configurations/Base.xcconfig:

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

11 years ago2009-06-02 Eric Seidel <eric@webkit.org>
eric@webkit.org [Wed, 3 Jun 2009 00:19:22 +0000 (00:19 +0000)]
2009-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej Stachowiak.

        Insert*List on an stand-alone image in a content editable region ASSERTS
        ASSERTION FAILED: isStartOfParagraph(startOfParagraphToMove)

        Attempt to fix this by noticing that we inserted the list inside
        the selection which includes the image, and re-adjust the selection
        to not include the list before trying to move the image into
        the list item.

        Test: editing/execCommand/list-wrapping-image-crash.html

        * editing/InsertListCommand.cpp:

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

11 years ago2009-06-02 Eric Seidel <eric@webkit.org>
eric@webkit.org [Tue, 2 Jun 2009 23:09:48 +0000 (23:09 +0000)]
2009-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Rename PositionIterator members in hope of futher clarity

        Rename m_parent to m_anchorNode (since although it's always the parent
        of the previous m_child member, it is not always the parent of the effective position)
        Rename m_child to m_nodeAfterPositionInAnchor to make clear that it's the node
        directly following the position.  This member is often NULL, but is always
        a child of m_parent, now m_anchorNode if set.
        Rename m_offset to m_offsetInAnchor (since it's interpreted relative to m_anchorNode)

        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::operator Position):
        * dom/PositionIterator.h:

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

11 years agoFix the incorrect bug link in WebCore/ChangeLog for r44366.
jianli@chromium.org [Tue, 2 Jun 2009 22:08:19 +0000 (22:08 +0000)]
Fix the incorrect bug link in WebCore/ChangeLog for r44366.

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

11 years ago Land correct results for a test I just added (forgot to regenerate them after...
ap@webkit.org [Tue, 2 Jun 2009 21:46:06 +0000 (21:46 +0000)]
    Land correct results for a test I just added (forgot to regenerate them after adding new
        test cases).

        * fast/xpath/py-dom-xpath/expressions-expected.txt:

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

11 years agoRevert r44276.
pkasting@chromium.org [Tue, 2 Jun 2009 21:43:21 +0000 (21:43 +0000)]
Revert r44276.

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

11 years agoMoved CSSMatrix tests into LayoutTests/transforms so both 2D and 3D versions get...
cmarrin@apple.com [Tue, 2 Jun 2009 21:42:40 +0000 (21:42 +0000)]
Moved CSSMatrix tests into LayoutTests/transforms so both 2D and 3D versions get tested in all cases, as per discussion with Maciej

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

11 years ago2009-06-02 Julien Chaffraix <jchaffraix@webkit.org>
eric@webkit.org [Tue, 2 Jun 2009 21:33:40 +0000 (21:33 +0000)]
2009-06-02  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric Seidel.

        Bug 17167: Failures in fast/dom/Node/initial-values.html

        This partly solve a compatibility issue with other browsers. It will also
        make us more consistent while handling XHTML element.

        The issue is that when we create an XHTML element inside an HTML document
        (as it is the case when calling createElementNS), we default to the HTML
        behaviour in nodeName. As we cannot test if an HTMLElement is an XHTML
        element, our fix is to check whether it has a prefix and then default
        to XML behaviour for nodeName.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::nodeName): Add a prefix check before
        returning the uppercase tagName (HTML behaviour).

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

11 years ago2009-06-02 Eric Seidel <eric@webkit.org>
eric@webkit.org [Tue, 2 Jun 2009 21:31:13 +0000 (21:31 +0000)]
2009-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej Stachowiak.

        Add a compareBoundaryPoints which takes RangeBoundaryPoints

        I noticed the need for this function when removing compareBoundaryPoints(Position, Position)
        This patch is almost entirely minus lines.

        No functional changes, thus no tests.

        * dom/Range.cpp:
        * dom/Range.h:

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

11 years ago2009-06-02 Eric Seidel <eric@webkit.org>
eric@webkit.org [Tue, 2 Jun 2009 21:31:08 +0000 (21:31 +0000)]
2009-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej Stachowiak.

        Remove Range::compareBoundaryPoints(Position, Position) per Darin's suggestion in bug 25056

        Darin indicated the Range should deal only with primitive DOM node/offset
        pairs, and that Position (which is a more robust editing construct) should have
        its own comparison functions and that Range.h should not mention Position at all.

        Turns out that Position already has a comparePositions() function (which knows
        how to additionally handled positions in shadow trees).  So I've just changed
        all callers of compareBoundaryPoints(Position, Position) to use the existing
        comparePositions() function.  I've also added a comparePositions which takes
        VisiblePositions for convenience.

        * dom/Range.cpp:
        * dom/Range.h:
        * editing/ApplyStyleCommand.cpp:
        * editing/CompositeEditCommand.cpp:
        * editing/DeleteSelectionCommand.cpp:
        * editing/SelectionController.cpp:
        * editing/VisibleSelection.cpp:
        * editing/htmlediting.cpp:
        * editing/htmlediting.h:
        * page/EventHandler.cpp:

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

11 years ago2009-06-02 Albert J. Wong <ajwong@chromium.org>
jianli@chromium.org [Tue, 2 Jun 2009 21:09:14 +0000 (21:09 +0000)]
2009-06-02  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Dimitri Glazkov.

        Upstream v8_utility.h functions into V8Utilities.h.  This patch has
        some transitional code to make upstreaming easier.  This code will
        be deleted in a few days.

        * bindings/v8/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::construct): NewInstance -> newInstance.
        * bindings/v8/V8Utilities.h:
        (WebCore::AllowAllocation::AllowAllocation): Function added.
        (WebCore::AllowAllocation::~AllowAllocation): Function added.
        (WebCore::SafeAllocation::NewInstance): Function added.
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        NewInstance -> newInstance.
        (WebCore::WorkerContextExecutionProxy::toV8): NewInstance ->

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

11 years ago2009-06-02 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Tue, 2 Jun 2009 20:59:30 +0000 (20:59 +0000)]
2009-06-02  Anders Carlsson  <andersca@apple.com>

        Rubber-stamped by Mark Rowe.

        Update WebKitSystemInterface.

        * libWebKitSystemInterfaceLeopard.a:
        * libWebKitSystemInterfaceSnowLeopard.a:
        * libWebKitSystemInterfaceTiger.a:

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

11 years ago Reviewed by John Sullivan.
mitz@apple.com [Tue, 2 Jun 2009 20:25:37 +0000 (20:25 +0000)]
    Reviewed by John Sullivan.

        - fix <rdar://problem/6940747> Search field’s focus ring is outset

        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::adjustSearchFieldStyle): Set the focused
        search field outline offset to -2.

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

11 years ago2009-06-02 Brent Fulgham <bfulgham@webkit.org>
bfulgham@webkit.org [Tue, 2 Jun 2009 19:01:34 +0000 (19:01 +0000)]
2009-06-02  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Update WinLauncher for WebKitCreateInstance.

        * WinLauncher/WinLauncher.cpp: Revise implementation to
          use WebKitCreateInstance (rather than CoCreateInstance).
        * WinLauncher/WinLauncher.h: Modify include path for
          WebKit.h to match DumpRenderTree style.
        * WinLauncher/WinLauncher.vcproj: Remove unnecessary
          WebKit.tlb and EmbeddedIDL flags from build.

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

11 years ago2009-06-02 Sam Weinig <sam@webkit.org>
weinig@apple.com [Tue, 2 Jun 2009 18:10:52 +0000 (18:10 +0000)]
2009-06-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Add list of unimplemented event handlers to DOMWindow.

        * page/DOMWindow.idl:

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

11 years ago Reviewed by Sam Weinig.
ap@webkit.org [Tue, 2 Jun 2009 17:59:09 +0000 (17:59 +0000)]
    Reviewed by Sam Weinig.

        Adapt and import py-dom-xpath tests

        Tests: fast/xpath/py-dom-xpath/abbreviations.html

        Fix bugs found with this test suite:
        - name and local-name were incorrect for processing instructions (XPath expanded-name
        doesn't match DOM exactly);
        - name, local-name and namespace functions should crash on attribute nodes;
        - attemps to make node sets from other types were not detected as errors.

        No performance impact.

        * xml/XPathExpressionNode.h: Track type conversion errors that happen during evaluation.
        An error won't stop evaluation, but an exception will be raised afterwards. We could also
        detect conversion errors at compile time, but not if we're going to support XPath variables
        (which is unnecessary for XPathEvaluator, but will be necessary if we decide to make our own
        XSLT one day).

        * xml/XPathExpression.cpp: (WebCore::XPathExpression::evaluate): Check whether a type
        conversion exception occurred during evaluation, and raise an excpetion if it did.

        * xml/XPathFunctions.cpp:
        XPath name(), local-name() and namespace-uri() functions are defined in terms of expanded-name,
        which doesn't match anything available via DOM exactly. Calculate the expanded name properly.
        (WebCore::XPath::FunNamespaceURI::evaluate): This function could crash if used with an
        attribute node, because it released what was possibly the only reference to attribute node
        before using it. Changed the function to avoid such situation.
        (WebCore::XPath::FunLocalName::evaluate): Ditto. Also, used the new expandedNameLocalPart()
        to work properly with processing instruction nodes.
        (WebCore::XPath::FunName::evaluate): Ditto (using expandedName()).
        (WebCore::XPath::FunCount::evaluate): Signal an error if the argument is not a node-set
        (by using toNodeSet unconditionally, which will raise an error, and return an empty set).

        * xml/XPathPath.cpp: (WebCore::XPath::Filter::evaluate): Signal an error if the expression
        evaluation result is not a node-set.

        * xml/XPathPath.h: (WebCore::XPath::Filter::resultType): A Filter's result is actually
        always a node-set (this is not so for FilterExpr production in the spec, but is for us,
        because we don't naively map BNF productions to classes).

        * xml/XPathPredicate.cpp: (WebCore::XPath::Union::evaluate): Signal an error if either side
        is not a node-set.

        * xml/XPathStep.cpp: Removed an unnecesary include.

        * xml/XPathValue.cpp:
        (WebCore::XPath::Value::toNodeSet): Signal an error if conversion fails.
        (WebCore::XPath::Value::modifiableNodeSet): Ditto.
        (WebCore::XPath::Value::toNumber): Don't allow inputs that don't match XPath Number production
        (in particular, those using exponential notation).

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

11 years agoWebCore:
weinig@apple.com [Tue, 2 Jun 2009 17:33:59 +0000 (17:33 +0000)]

2009-06-01  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Part of https://bugs.webkit.org/show_bug.cgi?id=26100
        Add missing event handler properties to the DOMWindow

        Added oncontextmenu, oninput, and onmessage event handlers to
        the DOMWindow. Aditionally, the onloadstart, onprogress, onstalled,
        and onsuspend event handlers were implemented but not added to

        * page/DOMWindow.cpp:
        * page/DOMWindow.h:
        * page/DOMWindow.idl:


2009-06-01  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Part of https://bugs.webkit.org/show_bug.cgi?id=26100
        Add missing event handler properties to the DOMWindow

        Added oncontextmenu, oninput, and onmessage event handlers to
        the DOMWindow. Aditionally, the onloadstart, onprogress, onstalled,
        and onsuspend event handlers were implemented but not added to

        * fast/dom/Window/window-properties-expected.txt:

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

11 years ago2009-06-02 Xan Lopez <xlopez@igalia.com>
xan@webkit.org [Tue, 2 Jun 2009 16:57:56 +0000 (16:57 +0000)]
2009-06-02  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Sam Weinig.

        Use C-style comments in Platform.h so it can be included from C

        * wtf/Platform.h:

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

11 years ago2009-06-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
vestbo@webkit.org [Tue, 2 Jun 2009 14:54:40 +0000 (14:54 +0000)]
2009-06-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Rubber-stamped by Adam Roben.

        [Qt] Fix Perl warning about uninitialized value (passedConfiguration())

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

11 years ago2009-06-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
vestbo@webkit.org [Tue, 2 Jun 2009 13:54:49 +0000 (13:54 +0000)]
2009-06-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Rubber-stamped by Simon Hausmann.

        Use File::Spec->tmpdir instead of hardcoded paths for tempfile() dir

        This fixes the Windows-build if the user does not have a /tmp directory.

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

11 years ago2009-06-02 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 2 Jun 2009 09:34:28 +0000 (09:34 +0000)]
2009-06-02  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver ">>" Hunt.

        emitSlow_op_rshift is linking the wrong number of slow cases, if !supportsFloatingPoint().
        Fixerate, and refactor/comment the code a little to make it clearer what is going on.

        * jit/JITArithmetic.cpp:

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

11 years agoRevert 44354. Test does not pass.
abarth@webkit.org [Tue, 2 Jun 2009 09:17:00 +0000 (09:17 +0000)]
Revert 44354.  Test does not pass.

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

11 years agoWebCore:
abarth@webkit.org [Tue, 2 Jun 2009 08:37:41 +0000 (08:37 +0000)]

2009-06-02  Grace Kloba  <klobag@gmail.com>

        Reviewed by Darin Adler.  Landed by Adam Barth.


        As HTMLKeygenElement is derived from HTMLSelectElement, HTMLOptionElement::ownerSelectElement() needs to check both selectTag and keygenTag.
        Test: fast/dom/HTMLKeygenElement/keygen-option-select.html

        * html/HTMLOptionElement.cpp:


2009-06-02  Grace Kloba  <klobag@gmail.com>

        Reviewed by Darin Adler.  Landed by Adam Barth.


        As HTMLKeygenElement is derived from HTMLSelectElement, HTMLOptionElement::ownerSelectElement() needs to check both selectTag and keygenTag. Added layout test to make sure set selected on option will affect keygen element.

        * fast/dom/HTMLKeygenElement: Added.
        * fast/dom/HTMLKeygenElement/keygen-option-select-expected.txt: Added.
        * fast/dom/HTMLKeygenElement/keygen-option-select.html: Added.

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

11 years agoAdd link to bug.
abarth@webkit.org [Tue, 2 Jun 2009 08:32:21 +0000 (08:32 +0000)]
Add link to bug.

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

11 years agoRevert 44351.
abarth@webkit.org [Tue, 2 Jun 2009 08:30:08 +0000 (08:30 +0000)]
Revert 44351.

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

11 years agoWebCore:
abarth@webkit.org [Tue, 2 Jun 2009 07:56:39 +0000 (07:56 +0000)]

2009-06-01  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Adler.  Landed by Adam Barth.


        Fix a bug that causes database transactions to fail if a history navigation to a hash fragment of the same document is made while resources (e.g. an XHR) are loading.

        Test: storage/hash-change-with-xhr.html

        * loader/DocumentLoader.cpp:
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        * loader/FrameLoaderTypes.h:
        * page/Page.cpp:


2009-06-02  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Alder.  Landed by Adam Barth.


        Fix a bug that causes database transactions to fail if a history navigation to a hash fragment of the same document is made while resources (e.g. an XHR) are loading.

        * storage/hash-change-with-xhr-expected.txt: Added.
        * storage/hash-change-with-xhr.html: Added.

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

11 years ago2009-06-02 Johnny Ding <johnnyding.webkit@gmail.com>
abarth@webkit.org [Tue, 2 Jun 2009 07:26:31 +0000 (07:26 +0000)]
2009-06-02  Johnny Ding  <johnnyding.webkit@gmail.com>

        Reviewed by Alexey Proskuryakov.  Landed by Adam Barth.


        Add a test case for multiple requests for same sub-resource due to preload.

        * http/tests/loading/preload-img-test-expected.txt: Added.
        * http/tests/loading/preload-img-test.html: Added.
        * http/tests/loading/resources/preload-test.jpg: Added.
        * http/tests/resources/network-simulator.php:

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

11 years ago2009-06-01 Yongjun Zhang <yongjun.zhang@nokia.com>>
abarth@webkit.org [Tue, 2 Jun 2009 07:00:11 +0000 (07:00 +0000)]
2009-06-01  Yongjun Zhang  <yongjun.zhang@nokia.com>>

        Reviewed by Holger Freyther.  Landed by Adam Barth.


        [Qt] EventSender.keyDown doesn't support Arrow Up and Down keys.
        Add Down and Up key support.

        * DumpRenderTree/qt/jsobjects.cpp:

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

11 years ago2009-06-01 Jeremy Orlow <jorlow@chromium.org>
abarth@webkit.org [Tue, 2 Jun 2009 06:40:39 +0000 (06:40 +0000)]
2009-06-01  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Adler.  Landed by Adam Barth.

        Remove a redundant checkEncodedString call when constructing a
        KURL object from a string.

        * platform/KURL.cpp:

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

11 years ago2009-06-01 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 2 Jun 2009 05:59:53 +0000 (05:59 +0000)]
2009-06-01  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY - speculative windows build fix (errm, for the other patch!).

        * jit/JITStubs.cpp:

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

11 years ago2009-06-01 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 2 Jun 2009 05:54:32 +0000 (05:54 +0000)]
2009-06-01  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY - speculative windows build fix.

        * assembler/AbstractMacroAssembler.h:

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

11 years ago2009-06-01 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 2 Jun 2009 05:36:18 +0000 (05:36 +0000)]
2009-06-01  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Olliej Hunt.

        Change JITStub functions from being static members on the JITStub class to be
        global extern "C" functions, and switch their the function signature declaration
        in the definition of the functions to be C-macro generated.  This makes it easier
        to work with the stub functions from assembler code (since the names no longer
        require mangling), and by delaring the functions with a macro we can look at
        also auto-generating asm thunks to wrap the JITStub functions to perform the
        work currently in 'restoreArgumentReference' (as a memory saving).

        Making this change also forces us to be a bit more realistic about what is private
        on the Register and CallFrame objects.  Presently most everything on these classes
        is private, and the classes have plenty of friends.  We could befriend all the
        global functions to perpetuate the delusion of encapsulation, but using friends is
        a bit of a sledgehammer solution here - since friends can poke around with all of
        the class's privates, and since all the major classes taht operate on Regsiters are
        currently friends, right there is currently in practice very little protection at
        all.  Better to start removing friend delclarations, and exposing just the parts
        that need to be exposed.

        * interpreter/CallFrame.h:
        * interpreter/Interpreter.h:
        * interpreter/Register.h:
        * jit/JITStubs.cpp:
        * jit/JITStubs.h:
        * runtime/JSFunction.h:
        * runtime/JSGlobalData.h:

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

11 years agoTidy up the literal parser.
oliver@apple.com [Tue, 2 Jun 2009 04:40:16 +0000 (04:40 +0000)]
Tidy up the literal parser.

Reviewed by Gavin Barraclogh.

Make the number lexing in the LiteralParser exactly match the JSON spec, which
makes us cover more cases, but also more strict.  Also made string lexing only
allow double-quoted strings.

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

11 years ago2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Tue, 2 Jun 2009 03:03:56 +0000 (03:03 +0000)]
2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Reposition platform guard, improperly placed by http://trac.webkit.org/changeset/44340
        Bad Dimitri.

        * platform/KeyboardCodes.h: Repositioned the guard to avoid nested
            WebCore namespace declarations.

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

11 years ago2009-06-01 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 2 Jun 2009 01:20:35 +0000 (01:20 +0000)]
2009-06-01  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam "WX" Weinig.

        Allow the JIT to operate without relying on use of RWX memory, on platforms where this is supported.

        This patch adds a switch to Platform.h (ENABLE_ASSEMBLER_WX_EXCLUSIVE) which enables this mode of operation.
        When this flag is set, all executable memory will be allocated RX, and switched to RW only whilst being
        modified.  Upon completion of code generation the protection is switched back to RX to allow execution.

        Further optimization will be required before it is desirable to enable this mode of operation by default;
        enabling this presently incurs a 5%-10% regression.

        (Submitting disabled - no performance impact).

        * assembler/AbstractMacroAssembler.h:
        * assembler/AssemblerBuffer.h:
        * assembler/X86Assembler.h:
        * jit/ExecutableAllocator.h:
        * jit/ExecutableAllocatorFixedVMPool.cpp:
        * jit/ExecutableAllocatorPosix.cpp:
        * jit/ExecutableAllocatorWin.cpp:
        * jit/JITPropertyAccess.cpp:
        * wtf/Platform.h:

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

11 years ago2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Mon, 1 Jun 2009 23:48:03 +0000 (23:48 +0000)]
2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        * platform/KeyboardCodes.h: Integrated contents of platform/chromium/KeyboardCodes.h
            with a stern FIXME.
        * platform/chromium/KeyboardCodes.h: Removed.

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

11 years agosvn-create-patch displays confusing "Broken pipe" errors from Subversion
mrowe@apple.com [Mon, 1 Jun 2009 23:38:30 +0000 (23:38 +0000)]
svn-create-patch displays confusing "Broken pipe" errors from Subversion
when files have been renamed in local working copy.  This was happening
because we invoke 'svn info' to determine the URL that the file was copied
from, but we were closing the pipe to the subprocess before SVN had finished
writing its output.

Reviewed by Sam Weinig.

* Scripts/prepare-ChangeLog: Consume all 'svn info' output before closing the file handle.
* Scripts/svn-create-patch: Ditto.

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

11 years agoReviewed by Eric Seidel.
zimmermann@webkit.org [Mon, 1 Jun 2009 23:09:43 +0000 (23:09 +0000)]
Reviewed by Eric Seidel.

Fix assertion error in --filters enabled debug builds.
Instead of using RefPtr<AtomicStringImpl> as keys for the hash maps in SVGFilterBuilder, just use AtomicString objects.

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

11 years agoReviewed by Eric Seidel.
zimmermann@webkit.org [Mon, 1 Jun 2009 22:20:30 +0000 (22:20 +0000)]
Reviewed by Eric Seidel.

Fix --filters enabled build on Mac.
Remove unnecessary 'boundingBox' parameter from finishRenderSVGContent() method.
Kill several warnings, to make build pass.

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

11 years ago2009-05-29 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
bfulgham@webkit.org [Mon, 1 Jun 2009 22:19:41 +0000 (22:19 +0000)]
2009-05-29 Zoltan Horvath  <hzoltan@inf.u-szeged.hu>

        Reviewed by Darin Adler.

        Inherits Interpreter class from FastAllocBase because it has been
        instantiated by 'new' in JavaScriptCore/runtime/JSGlobalData.cpp.

        * interpreter/Interpreter.h:

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

11 years agoChangeLog spelling, meaning fixes.
dglazkov@chromium.org [Mon, 1 Jun 2009 21:52:26 +0000 (21:52 +0000)]
ChangeLog spelling, meaning fixes.

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

11 years ago2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Mon, 1 Jun 2009 21:50:46 +0000 (21:50 +0000)]
2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Dave Hyatt.

        Fix Chromium build by adding an #ifdef.

        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint): Added an #ifdef.

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

11 years ago2009-06-01 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
kov@webkit.org [Mon, 1 Jun 2009 21:37:47 +0000 (21:37 +0000)]
2009-06-01  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>

        Rubber-stamped by Gustavo Noronha.

        Before guessing the url trim the string to remove whitespace added to the start/end by the user.

        * Api/qwebview.cpp:
        * tests/qwebview/tst_qwebview.cpp:

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

11 years ago2009-06-01 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Mon, 1 Jun 2009 21:28:40 +0000 (21:28 +0000)]
2009-06-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Remove last pieces of the old SVG filte system. They are not
        usable with our current filter system. The new filter effects
        will replace the functionality step by step.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * svg/graphics/cairo: Removed.
        * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Removed.
        * svg/graphics/cg: Removed.
        * svg/graphics/cg/SVGResourceFilterCg.cpp: Removed.
        * svg/graphics/cg/SVGResourceFilterCg.mm: Removed.
        * svg/graphics/filters/SVGFilterEffect.cpp: Removed.
        * svg/graphics/filters/SVGFilterEffect.h: Removed.
        * svg/graphics/filters/cg: Removed.
        * svg/graphics/filters/cg/SVGFEHelpersCg.h: Removed.
        * svg/graphics/filters/cg/SVGFEHelpersCg.mm: Removed.
        * svg/graphics/filters/cg/SVGFilterEffectCg.mm: Removed.
        * svg/graphics/filters/cg/WKArithmeticFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKArithmeticFilter.h: Removed.
        * svg/graphics/filters/cg/WKArithmeticFilter.m: Removed.
        * svg/graphics/filters/cg/WKComponentMergeFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKComponentMergeFilter.h: Removed.
        * svg/graphics/filters/cg/WKComponentMergeFilter.m: Removed.
        * svg/graphics/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKDiffuseLightingFilter.h: Removed.
        * svg/graphics/filters/cg/WKDiffuseLightingFilter.m: Removed.
        * svg/graphics/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKDiscreteTransferFilter.h: Removed.
        * svg/graphics/filters/cg/WKDiscreteTransferFilter.m: Removed.
        * svg/graphics/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKDisplacementMapFilter.h: Removed.
        * svg/graphics/filters/cg/WKDisplacementMapFilter.m: Removed.
        * svg/graphics/filters/cg/WKDistantLightFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKDistantLightFilter.h: Removed.
        * svg/graphics/filters/cg/WKDistantLightFilter.m: Removed.
        * svg/graphics/filters/cg/WKGammaTransferFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKGammaTransferFilter.h: Removed.
        * svg/graphics/filters/cg/WKGammaTransferFilter.m: Removed.
        * svg/graphics/filters/cg/WKIdentityTransferFilter.h: Removed.
        * svg/graphics/filters/cg/WKIdentityTransferFilter.m: Removed.
        * svg/graphics/filters/cg/WKLinearTransferFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKLinearTransferFilter.h: Removed.
        * svg/graphics/filters/cg/WKLinearTransferFilter.m: Removed.
        * svg/graphics/filters/cg/WKNormalMapFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKNormalMapFilter.h: Removed.
        * svg/graphics/filters/cg/WKNormalMapFilter.m: Removed.
        * svg/graphics/filters/cg/WKPointLightFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKPointLightFilter.h: Removed.
        * svg/graphics/filters/cg/WKPointLightFilter.m: Removed.
        * svg/graphics/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Removed.
        * svg/graphics/filters/cg/WKSpecularLightingFilter.m: Removed.
        * svg/graphics/filters/cg/WKSpotLightFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKSpotLightFilter.h: Removed.
        * svg/graphics/filters/cg/WKSpotLightFilter.m: Removed.
        * svg/graphics/filters/cg/WKTableTransferFilter.cikernel: Removed.
        * svg/graphics/filters/cg/WKTableTransferFilter.h: Removed.
        * svg/graphics/filters/cg/WKTableTransferFilter.m: Removed.
        * svg/graphics/mac: Removed.
        * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: Removed.
        * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
        * svg/graphics/qt: Removed.
        * svg/graphics/qt/SVGResourceFilterQt.cpp: Removed.
        * svg/graphics/skia: Removed.
        * svg/graphics/skia/SVGResourceFilterSkia.cpp: Removed.

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

11 years ago2009-06-01 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
kov@webkit.org [Mon, 1 Jun 2009 21:05:06 +0000 (21:05 +0000)]
2009-06-01  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>

        Rubber-stamped by Gustavo Noronha.

        Use QLatin1Char() to compile when QT_NO_CAST_FROM_ASCII and QT_NO_CAST_TO_ASCII is defined

        * Api/qwebview.cpp:

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

11 years ago2009-06-01 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
kov@webkit.org [Mon, 1 Jun 2009 20:06:39 +0000 (20:06 +0000)]
2009-06-01  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>

        Rubber-stamped by Gustavo Noronha.

        Cleanup autotest file
        - use proper includes
        - remove useless constructor and destructor
        - add missing newline at the end of the file

        * tests/qwebview/tst_qwebview.cpp:

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

11 years ago2009-06-01 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
kov@webkit.org [Mon, 1 Jun 2009 20:01:21 +0000 (20:01 +0000)]
2009-06-01  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>

        Rubber-stamped by Gustavo Noronha.

        Add a missing space between two words in the documentation.

        * Api/qwebview.cpp:

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

11 years ago2009-06-01 Dmitry Titov <dimich@chromium.org>
dimich@chromium.org [Mon, 1 Jun 2009 19:56:33 +0000 (19:56 +0000)]
2009-06-01  Dmitry Titov  <dimich@chromium.org>

        Fix the previous checkin (ttp://trac.webkit.org/changeset/44327).
        This adds a comment suggested during review.

        * platform/ThreadGlobalData.cpp:
        (WebCore::ThreadGlobalData::~ThreadGlobalData): Add comment clarifying the change.

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

11 years ago2009-06-01 Dmitry Titov <dimich@chromium.org>
dimich@chromium.org [Mon, 1 Jun 2009 19:44:20 +0000 (19:44 +0000)]
2009-06-01  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        Avoid calling CurrentThread() in thread-specific destructors in OSX Chromium.
        Pthreads invoke thread-specific destructors after WTF::detachThread() is called and ThreadIdentifier
        for the thread removed from the WTF thread map. Calling CurrentThread() in such destructor causes
        the ThreadIdentifier to be re-created and inserted into the map again. Since Pthreads on OSX reuse
        the pthread_t between threads, the next created thread will have the same pthread_t and cause an assert
        in establishIdentifierForPthreadHandle() since the id is already in the map.

        The behavior is covered by existing test LayoutTests/fast/workers/worker-terminate.html, which currently fails
        on OSX Chromium and will stop failing after this change.

        * platform/ThreadGlobalData.h:
        * platform/ThreadGlobalData.cpp:
        Store the result of "isMainThread()" in a member variable during construction of thread-specific data
        to avoid calling IsMainThread() in destructor, since the latter calls CurrentThread() in OSX Chromium.

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

11 years ago2009-06-01 David Levin <levin@chromium.org>
levin@chromium.org [Mon, 1 Jun 2009 19:18:12 +0000 (19:18 +0000)]
2009-06-01  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (windows build fix).

        Add exports for windows (corresponding to the JavaScriptCore.exp modification
        in the previous change).

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:

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

11 years agoJavaScriptCore:
levin@chromium.org [Mon, 1 Jun 2009 18:41:20 +0000 (18:41 +0000)]

2009-06-01  David Levin  <levin@chromium.org>

        Reviewed by Darin Alder and Maciej Stachowiak.

        Bug 26057: StringImpl should share buffers with UString.

        * JavaScriptCore.exp:
        * runtime/UString.cpp:
        (JSC::UString::BaseString::sharedBuffer): Only do the sharing when
        the buffer exceeds a certain size.  The size was tuned by running
        various dom benchmarks with numbers ranging from 20 to 800 and finding
        a place that seemed to do the best overall.
        * runtime/UString.h:


2009-06-01  David Levin  <levin@chromium.org>

        Reviewed by Darin Alder and Maciej Stachowiak.

        Bug 26057: StringImpl should share buffers with UString.

        This change results in the following performance improvements:
        On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/001.html
        the time went from 78ms to 40ms for append (other times remained constant).

        On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/002.html,
        the time went from 3900ms to 2600ms.

        For http://dromaeo.com/?dom, the time for DomModification improved by ~6%.
        Other tests in dom seemed to be faster across several runs but within the
        margin of error (except DOM Attributes which was slightly ~1.5% worse).

        Existing tests cover this code and there is no new functionality
        that is exposed to test.

        * platform/text/AtomicString.cpp:
        * platform/text/String.cpp:
        (WebCore::String::operator UString):
        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::create): Consumes a shared buffer.
        (WebCore::StringImpl::ustring): Shares the StringImpl's buffer with the UString.
        (WebCore::StringImpl::sharedBuffer): Exposes the buffer that may be shared.
        * platform/text/StringImpl.h:
        (WebCore::StringImpl::setInTable): Converted the bools to be inside of PtrAndFlags
        to avoid growing StringImpl in size.

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

11 years ago2009-06-01 Brent Fulgham <bfulgham@webkit.org>
bfulgham@webkit.org [Mon, 1 Jun 2009 17:16:44 +0000 (17:16 +0000)]
2009-06-01  Brent Fulgham  <bfulgham@webkit.org>

        Build fix for Cairo Windows target.  Windows link definition
        files were out of sync with the Apple Windows link files.

        * WebKit.vcproj/WebKit_Cairo.def:
        * WebKit.vcproj/WebKit_Cairo_debug.def:

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