WebKit-https.git
13 years agoWebCore:
antti@apple.com [Fri, 30 Nov 2007 05:25:25 +0000 (05:25 +0000)]
WebCore:

        Reviewed by Mitz.

        Fix aspect ratio calculation of video.

        Video should always be treated as a replaced element in size calculation.

        Test: media/video-aspect-ratio.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcWidth):
        (WebCore::RenderBox::calcHeight):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::shouldCalculateSizeAsReplaced):
        * rendering/RenderMedia.h:
        (WebCore::RenderMedia::shouldCalculateSizeAsReplaced):

LayoutTests:

        Reviewed by Mitz.

        Test for video aspect ratio calculation.

        * media/video-aspect-ratio.html: Added.
        * platform/mac/media: Added.
        * platform/mac/media/video-aspect-ratio-expected.checksum: Added.
        * platform/mac/media/video-aspect-ratio-expected.png: Added.
        * platform/mac/media/video-aspect-ratio-expected.txt: Added.

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

13 years ago Reviewed by Oliver.
weinig@apple.com [Fri, 30 Nov 2007 05:20:39 +0000 (05:20 +0000)]
    Reviewed by Oliver.

        Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936
        - More closely match IE's policy for frame navigation.

        * bindings/js/kjs_window.cpp:
        (KJS::WindowProtoFuncOpen::callAsFunction):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::shouldAllowNavigation):
        * page/FrameTree.cpp:
        (WebCore::FrameTree::top):
        * page/FrameTree.h:

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

13 years ago Reviewed by Adam Roben and John Sullivan.
mitz@apple.com [Fri, 30 Nov 2007 04:34:38 +0000 (04:34 +0000)]
    Reviewed by Adam Roben and John Sullivan.

        - make the recent searches popup extend only along the straight part of
          the search field (unless it needs to be wider).

        * platform/PopupMenuClient.h:
          Added clientInsetLeft() and clientInsetRight() for clients to
          specify desired horizontal insets for the menu.
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::calculatePositionAndSize):
        (WebCore::PopupMenu::paint):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::clientInsetLeft): Added. Returns 0.
        (WebCore::RenderMenuList::clientInsetRight): Ditto.
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::clientInsetLeft): Added. Returns half the
        control's height, which is the radius of the cap on the left.
        (WebCore::RenderTextControl::clientInsetRight): Added.
        * rendering/RenderTextControl.h:

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

13 years agoMake the JS collector work with multiple threads
oliver@apple.com [Fri, 30 Nov 2007 03:02:08 +0000 (03:02 +0000)]
Make the JS collector work with multiple threads

Reviewed by Maciej and Darin.

Under heavy contention it was possible the GC to suspend other
threads inside the pthread spinlock, which could lead to the GC
thread blocking on the pthread spinlock itself.

We now determine and store each thread's stack base when it is
registered, thus removing the need for any calls to pthread_get_stackaddr_np
that needed the pthread spinlock.

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

13 years agoWebKitTools:
andersca@apple.com [Fri, 30 Nov 2007 02:42:32 +0000 (02:42 +0000)]
WebKitTools:

        Reviewed by Sam.

        <rdar://problem/5230478>
        FrameLoadDelegate callbacks are not dumped in DRT.

        * DumpRenderTree/win/DumpRenderTree.cpp:
        (shouldLogFrameLoadDelegates):
        (runTest):
        (main):
        * DumpRenderTree/win/FrameLoaderDelegate.cpp:
        (BSTRtoString):
        (descriptionSuitableForTestResult):
        (FrameLoadDelegate::QueryInterface):
        (FrameLoadDelegate::didStartProvisionalLoadForFrame):
        (FrameLoadDelegate::didFailProvisionalLoadWithError):
        (FrameLoadDelegate::didCommitLoadForFrame):
        (FrameLoadDelegate::didFinishLoadForFrame):
        (FrameLoadDelegate::willCloseFrame):
        (FrameLoadDelegate::didClearWindowObject):
        (FrameLoadDelegate::didFinishDocumentLoadForFrame):
        (FrameLoadDelegate::didHandleOnloadEventsForFrame):
        * DumpRenderTree/win/FrameLoaderDelegate.h:
        (FrameLoadDelegate::windowScriptObjectAvailable):
        (FrameLoadDelegate::didFirstLayoutInFrame):

LayoutTests:

        Reviewed by Sam.

        <rdar://problem/5230478>
        FrameLoadDelegate callbacks are not dumped in DRT.

        Remove now passing tests.

        * platform/win/Skipped:

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

13 years ago Reviewed by Sam.
andersca@apple.com [Fri, 30 Nov 2007 02:38:06 +0000 (02:38 +0000)]
    Reviewed by Sam.

        Add an IWebFrameLoadDelegate2 interface with a didClearWindowObject method
        that passes in the frame whose window has been cleared. This matches a newly
        added delegate method on the Mac.

        * Interfaces/IWebFrameLoadDelegate.idl:
        * WebFrame.cpp:
        (WebFrame::windowObjectCleared):

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

13 years ago Reviewed by Adam.
alice.liu@apple.com [Fri, 30 Nov 2007 02:26:46 +0000 (02:26 +0000)]
    Reviewed by Adam.

        * platform/win/Skipped: Removed two Mac-specific tests.

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

13 years ago Move incorrect, Mac-specific results of fast/dom/Window/window-resize.html...
alice.liu@apple.com [Fri, 30 Nov 2007 02:21:17 +0000 (02:21 +0000)]
    Move incorrect, Mac-specific results of fast/dom/Window/window-resize.html into platform/mac and replace them with non-Mac results

        The incorrect results are tracked by <rdar://5563578>.

        Reviewed by Adam.

        * fast/dom/Window/window-resize-expected.txt: Replaced.
        * platform/mac/fast/dom/Window/window-resize-expected.txt: Copied from fast/dom/Window/window-resize-expected.txt.
        * platform/win/Skipped: Removed window-resize tests.

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

13 years agoWebKitTools:
weinig@apple.com [Fri, 30 Nov 2007 02:19:35 +0000 (02:19 +0000)]
WebKitTools:

        Reviewed by Anders.

        Add database quota UIDelegates methods to DRT UIDelegate.

        * DumpRenderTree/mac/UIDelegate.mm:
        (-[UIDelegate webView:quotaForSecurityOrigin:toCreateDatabase:withEstimatedSize:]):
        (-[UIDelegate webView:quotaForSecurityOrigin:fromProposedQuota:database:]):

LayoutTests:

        Reviewed by Anders.

        Revert r28213 which added an error callback that was not needed and changed
        the results.

        * storage/transaction_callback_exception_crash.html:

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

13 years ago Reviewed by Adam.
alice.liu@apple.com [Fri, 30 Nov 2007 02:07:33 +0000 (02:07 +0000)]
    Reviewed by Adam.

        * platform/win/Skipped: Removed a passing test.

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

13 years ago Group failures related to dumpResourceLoadCallbacks being unimplemented
alice.liu@apple.com [Fri, 30 Nov 2007 02:01:22 +0000 (02:01 +0000)]
    Group failures related to dumpResourceLoadCallbacks being unimplemented

        Reviewed by Adam.

        * platform/win/Skipped:

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

13 years ago2007-11-30 Alp Toker <alp@atoker.com>
alp@webkit.org [Fri, 30 Nov 2007 02:00:26 +0000 (02:00 +0000)]
2007-11-30  Alp Toker  <alp@atoker.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=16173
        Licensing change

        Change license from BSD to LGPL.

        This is being done to encourage vendors to contribute their fixes back
        upstream.

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

13 years ago Group failures related to using Cygwin paths
alice.liu@apple.com [Fri, 30 Nov 2007 01:44:28 +0000 (01:44 +0000)]
    Group failures related to using Cygwin paths

        Reviewed by Adam.

        * platform/win/Skipped:

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

13 years ago Not reviewed.
beidson@apple.com [Fri, 30 Nov 2007 01:02:51 +0000 (01:02 +0000)]
    Not reviewed.

        Fixed a hang in the layout tests.
        My checkin earlier today broke things such that the transaction call errors out instead of succeeds.
        Therefore LayoutTestController is never notified that the test is done.

        This changes modifies the test such that the controller is notified of completion even if
        there's a transaction error.

        The net effect of this fix is to transform the hang to a single layout test failure, so people
        and the bots don't have their run-webkit-tests hang while I try to fix the real regression.

        * storage/transaction_callback_exception_crash.html:

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

13 years agoWebCore:
darin@apple.com [Fri, 30 Nov 2007 00:53:21 +0000 (00:53 +0000)]
WebCore:

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=16191
          REGRESSION: cannot tab to radio input after setting checked to false

        Test: fast/forms/input-radio-checked-tab.html

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::CheckedRadioButtons::addButton): Fix this code
        so that it doesn't call setChecked(false) until after the map has been updated.
        Otherwise, we can end up deallocating the map before manipulating it. As long
        as I was changing the function, I decided to make it do only a single hash
        table lookup.

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked):
        Remove the button from the radio buttons set before changing the checked
        state. This matches the idiom used elsewhere and fixes the problem where
        setting checked to false would not remove it from the set.

LayoutTests:

        Reviewed by Adele.

        - test for http://bugs.webkit.org/show_bug.cgi?id=16191
          REGRESSION: cannot tab to radio input after setting checked to false

        * fast/forms/input-radio-checked-tab-expected.txt: Added.
        * fast/forms/input-radio-checked-tab.html: Added.

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

13 years ago Move Mac-specific results of fast/dom/wrapper-classes.html into platform...
alice.liu@apple.com [Fri, 30 Nov 2007 00:50:44 +0000 (00:50 +0000)]
    Move Mac-specific results of fast/dom/wrapper-classes.html into platform/mac and replace them with non-Mac results

        Reviewed by Adam.

        * fast/dom/wrapper-classes-expected.txt: Replaced.
        * platform/mac/fast/dom/wrapper-classes-expected.txt: Copied from fast/dom/wrapper-classes-expected.txt.

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

13 years ago Group drag-n-drop related failures under one bug
alice.liu@apple.com [Fri, 30 Nov 2007 00:43:17 +0000 (00:43 +0000)]
    Group drag-n-drop related failures under one bug

        We don't know the specific causes of these failures, but we believe
        they're due to bugs in DRT's drag-n-drop implementation.

        Reviewed by Adam.

        * platform/win/Skipped:

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

13 years agoWebKit/win:
kmccullough@apple.com [Fri, 30 Nov 2007 00:36:48 +0000 (00:36 +0000)]
WebKit/win:

        Reviewed by Sam.

        - <rdar://5618976> Drosera: should listen for the WebScriptDebugServer
        dying and vice versa.

        * Interfaces/IWebScriptDebugListener.idl: Added the new function to the
        interface.
        * WebKit.vcproj/WebKit.def: Added the new function to the def file so
        Safari can tell WebKit when the server is dying.
        * WebKit.vcproj/WebKit_debug.def: Ditto.
        * WebKitDLL.cpp: Added the new function for Safari to call.
        (RunAsLocalServer):
        (LocalServerDidDie):
        * WebScriptDebugServer.cpp:
        (WebScriptDebugServer::WebScriptDebugServer): Removed unused member.
        (WebScriptDebugServer::sharedWebScriptDebugServer): Ditto, and added new
        member to prevent adding or removing listeners when the server is dying.
        (WebScriptDebugServer::addListener): Don't let new listeners be added
        when the server is dying.
        (WebScriptDebugServer::removeListener): Don't let listeners remove
        themselves when the server is dying.  The server will remove them all
        anyways.
        (WebScriptDebugServer::serverDidDie): Notify all listeners that the
        server is dying and remove all listeners.
        * WebScriptDebugServer.h: Added the new method and removed an unused
        member.

WebKitTools:

        Reviewed by Sam.

        - <rdar://5618976> Drosera: should listen for the WebScriptDebugServer
        dying and vice versa.
        - This fix will allow Drosera and Safari to reconnect if either of them
        closes correctly, but does not fix the case where one of them dies
        silently.

        * Drosera/win/ServerConnection.cpp:
        (ServerConnection::attemptToCreateServerConnection): Added a safety
        check, because it's possilbe to try to connect to a server that's dying.
        (ServerConnection::serverDidDie): Implemented. This resets Drosera when
        the server has died.
        * Drosera/win/ServerConnection.h: Added the new function and removed
        an unnecessary member.

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

13 years ago Reviewed by Adam.
alice.liu@apple.com [Fri, 30 Nov 2007 00:29:21 +0000 (00:29 +0000)]
    Reviewed by Adam.

        * platform/win/Skipped: Removed another passing test.

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

13 years ago Reviewed by Adam.
alice.liu@apple.com [Fri, 30 Nov 2007 00:26:53 +0000 (00:26 +0000)]
    Reviewed by Adam.

        * platform/win/Skipped: Recategorized one failing test and removed a
        passing test.

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

13 years ago Reviewed by Darin Adler.
justin.garcia@apple.com [Fri, 30 Nov 2007 00:26:38 +0000 (00:26 +0000)]
    Reviewed by Darin Adler.

        <rdar://problem/5620093> Brief hang when Safari caches page text of XML document

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::representNodeOffsetZero): When we haven't been emitting any
        characters, shouldRepresentNodeOffsetZero() can create VisiblePositions, which is
        expensive.  So, we perform the inexpensive checks on m_node to see if it necessitates
        emitting a character first and will early return before encountering
        shouldRepresentNodeOffsetZero()s worse case behavior.

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

13 years ago * DumpRenderTree/win/DumpRenderTree.vcproj:
andersca@apple.com [Fri, 30 Nov 2007 00:23:54 +0000 (00:23 +0000)]
    * DumpRenderTree/win/DumpRenderTree.vcproj:
        Add shlwapi.lib to all configurations.

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

13 years ago Removing <rdar://5507350> from skipped list because it's not failing.
alice.liu@apple.com [Thu, 29 Nov 2007 23:30:57 +0000 (23:30 +0000)]
    Removing <rdar://5507350> from skipped list because it's not failing.

        * platform/win/Skipped:

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

13 years ago Reviewed by Alexey.
andersca@apple.com [Thu, 29 Nov 2007 22:15:08 +0000 (22:15 +0000)]
    Reviewed by Alexey.

        Move Mac-specific tests to platform/mac.

        * fast/events/objc-event-api-expected.txt: Removed.
        * fast/events/objc-event-api.html: Removed.
        * fast/events/objc-keyboard-event-creation-expected.txt: Removed.
        * fast/events/objc-keyboard-event-creation.html: Removed.
        * platform/mac/fast/events/objc-event-api-expected.txt: Copied from fast/events/objc-event-api-expected.txt.
        * platform/mac/fast/events/objc-event-api.html: Copied from fast/events/objc-event-api.html.
        * platform/mac/fast/events/objc-keyboard-event-creation-expected.txt: Copied from fast/events/objc-keyboard-event-creation-expected.txt.
        * platform/mac/fast/events/objc-keyboard-event-creation.html: Copied from fast/events/objc-keyboard-event-creation.html.

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

13 years ago Reviewed by John.
andersca@apple.com [Thu, 29 Nov 2007 22:10:11 +0000 (22:10 +0000)]
    Reviewed by John.

        Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.

        This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
        is using the setter and not messing around with NSUserDefaults.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.m:
        (+[WebPreferences initialize]):
        (-[WebPreferences shrinksStandaloneImagesToFit]):
        (-[WebPreferences setShrinksStandaloneImagesToFit:]):

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

13 years ago Windows build fix
aroben@apple.com [Thu, 29 Nov 2007 21:57:05 +0000 (21:57 +0000)]
    Windows build fix

        Removed some unreachable code (ironically, the code was some
        ASSERT_NOT_REACHED()s).

        * pcre/pcre_compile.cpp:
        (compile_branch):
        * pcre/pcre_exec.cpp:
        (match):

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

13 years ago Reviewed by Sam.
andersca@apple.com [Thu, 29 Nov 2007 21:53:38 +0000 (21:53 +0000)]
    Reviewed by Sam.

        Don't install event handlers or set the zoom cursor if auto-shrink has been disabled.

        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::createDocumentStructure):
        (WebCore::ImageDocument::imageChanged):

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

13 years ago Removing some fixed tests
alice.liu@apple.com [Thu, 29 Nov 2007 21:51:09 +0000 (21:51 +0000)]
    Removing some fixed tests

        * platform/win/Skipped:

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

13 years ago Build fix that works...?
beidson@apple.com [Thu, 29 Nov 2007 21:49:52 +0000 (21:49 +0000)]
    Build fix that works...?

        * WebChromeClient.h:

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

13 years ago - Build fix. Added additional includes for VS Express to the Release
kmccullough@apple.com [Thu, 29 Nov 2007 21:26:35 +0000 (21:26 +0000)]
    - Build fix.  Added additional includes for VS Express to the Release
        project.

        * Drosera/win/Drosera.vcproj/Drosera.vcproj:

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

13 years ago Better build fix for Gtk
beidson@apple.com [Thu, 29 Nov 2007 21:13:56 +0000 (21:13 +0000)]
    Better build fix for Gtk

        * WebCoreSupport/ChromeClientGtk.h:

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

13 years ago Build fix
beidson@apple.com [Thu, 29 Nov 2007 21:09:59 +0000 (21:09 +0000)]
    Build fix

        * WebChromeClient.cpp:
        (WebChromeClient::requestQuotaIncreaseForNewDatabase):
        (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):

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

13 years agoWebKitTools:
andersca@apple.com [Thu, 29 Nov 2007 19:53:25 +0000 (19:53 +0000)]
WebKitTools:

        Reviewed by Adam.

        <rdar://problem/5132005>
        setUserStyleSheetEnabled is not fully implemented in Windows DRT.

        * DumpRenderTree/win/DumpRenderTree.vcproj:
        Add shlwapi.lib

        * DumpRenderTree/win/LayoutTestControllerWin.cpp:
        (LayoutTestController::setUserStyleSheetEnabled):
        Implement this.

        (appendComponentToPath):
        New method which wraps the Win32 API PathAppend.

        (followShortcuts):
        New method which checks if a file points to a shortcut and
        follows the shortcut.

        (resolveCygwinPath):
        New method that takes a cygwin unix-style path and returns the Win32 path.

        (cfStringRefToWString):

        (LayoutTestController::setUserStyleSheetLocation):
        Implement this.

LayoutTests:

        Reviewed by Adam.

        <rdar://problem/5132005>
        setUserStyleSheetEnabled is not fully implemented in Windows DRT.

        * platform/win/Skipped:

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

13 years ago Reviewed by Geoff.
bdakin@apple.com [Thu, 29 Nov 2007 19:38:03 +0000 (19:38 +0000)]
    Reviewed by Geoff.

        Fix for <rdar://problem/5620151> Disable JavaScript for SVG as
        image for <img> and CSS images

        * platform/graphics/svg/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged): When we create the empty clients,
        explicitly disable JavaScript in the settings.

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

13 years agoWebCore:
beidson@apple.com [Thu, 29 Nov 2007 19:29:51 +0000 (19:29 +0000)]
WebCore:

        Reviewed by Anders

        Support for <rdar://problem/5556381> and <rdar://problem/5556379>

        The Database feature in the engine needs to support delegate calls for policy decisions and
        also provide notifications when origins and databases change their state.

        This patch also polishes off the missing features of the management API

        * page/Chrome.cpp: Implement the two UIDelegate methods
        (WebCore::Chrome::requestQuotaIncreaseForNewDatabase): Ask for more space to create a new database if it won't fit
        (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): Ask for more space to complete an in-progress operation
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
        (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):

        * storage/Database.cpp:
        (WebCore::Database::openDatabase): Check to see if this database can be opened - the quota must be high
          enough and if it isn't, the UIDelegate should have a change to bump the quota.
          Also update the UI-relevant details (display name and estimated size) upon successful opening of the database

        * storage/DatabaseDetails.h: Remove the version parameter as it is a programatic detail of a
          site database and is not important to API clients
        (WebCore::DatabaseDetails::DatabaseDetails):
        (WebCore::DatabaseDetails::isValid):
        (WebCore::DatabaseDetails::name):

        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::openTrackerDatabase): Tweaked the schema here - there was a horrible bug with the old schema that would
          prevent you from having two databases of the same name from two different origins.  Also simplify the origin-management schema
        (WebCore::DatabaseTracker::canEstablishDatabase): Added.  Does some estimated size vs quota checks, and asks the UI delegate for
          more space if necessary
        (WebCore::DatabaseTracker::hasEntryForOrigin):
        (WebCore::DatabaseTracker::establishEntryForOrigin): Establishes a tracker entry for the given origin with the current default quota
          Also notifies the client of the new origin
        (WebCore::DatabaseTracker::setDatabaseDetails): Update the display name and estimated size for the given database
        (WebCore::DatabaseTracker::fullPathForDatabase): Tweak to add the ability to get the path without creating it - for management purposes
        (WebCore::DatabaseTracker::populateOrigins): Populate origins from the Origins table instead of the Databases table
        (WebCore::DatabaseTracker::origins):
        (WebCore::DatabaseTracker::detailsForNameAndOrigin): For API management
        (WebCore::DatabaseTracker::usageForDatabase):
        (WebCore::DatabaseTracker::usageForOrigin):
        (WebCore::DatabaseTracker::quotaForOrigin):
        (WebCore::DatabaseTracker::setQuota): Notify the client
        (WebCore::DatabaseTracker::addDatabase): Notify the client
        (WebCore::DatabaseTracker::deleteAllDatabases):
        (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
        (WebCore::DatabaseTracker::deleteDatabase):
        (WebCore::DatabaseTracker::deleteDatabaseFile):
        * storage/DatabaseTracker.h:

WebKit/gtk:

        Keep it building with new client method

        * WebCoreSupport/ChromeClientGtk.cpp:
        (WebKit::ChromeClient::requestQuotaIncreaseForNewDatabase):
        (WebKit::ChromeClient::requestQuotaIncreaseForDatabaseOperation):
        * WebCoreSupport/ChromeClientGtk.h:

WebKit/mac:

        Reviewed by Anders

        Support for <rdar://problem/5556381> and <rdar://problem/5556379>

        Hook up UI Delegate calls for the database engine feature and other small tweaks

        * Storage/WebDatabaseManager.mm:
        (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
        (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
        * Storage/WebDatabaseManagerPrivate.h:

        * Storage/WebDatabaseTrackerClient.h:
        * Storage/WebDatabaseTrackerClient.mm:
        (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate
        (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto

        * WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods

        * WebView/WebView.mm:
        (CallDelegateReturningUnsignedLongLong):
        (CallUIDelegateReturningUnsignedLongLong):
        * WebView/WebViewInternal.h:

WebKit/qt:

        Keep it building with new client method

        * WebCoreSupport/ChromeClientQt.cpp:
        (WebCore::ChromeClientQt::requestQuotaIncreaseForNewDatabase):
        (WebCore::ChromeClientQt::requestQuotaIncreaseForDatabaseOperation):
        * WebCoreSupport/ChromeClientQt.h:

WebKit/win:

        Keep it building with new client method

        * WebChromeClient.cpp:
        (ChromeClient::requestQuotaIncreaseForNewDatabase):
        (ChromeClient::requestQuotaIncreaseForDatabaseOperation):
        * WebChromeClient.h:

WebKit/wx:

        Keep it building with new client method

        * WebKitSupport/ChromeClientWx.cpp:
        (WebCore::ChromeClient::requestQuotaIncreaseForNewDatabase):
        (WebCore::ChromeClient::requestQuotaIncreaseForDatabaseOperation):
        * WebKitSupport/ChromeClientWx.h:

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

13 years ago Reviewed by Adam.
alice.liu@apple.com [Thu, 29 Nov 2007 19:21:47 +0000 (19:21 +0000)]
    Reviewed by Adam.

        Fixed <rdar://5133828> fast/frames/iframe-window-focus.html output is lowercase

        * DumpRenderTree/win/EventSender.cpp:
        (keyDownCallback):
        uppercase letters were being sent as lowercase letters without the shift key down.

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

13 years agoFix typo
mitz@apple.com [Thu, 29 Nov 2007 18:48:21 +0000 (18:48 +0000)]
Fix typo

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

13 years ago - Windows build fix. VS express needs some love.
kmccullough@apple.com [Thu, 29 Nov 2007 18:46:57 +0000 (18:46 +0000)]
    - Windows build fix. VS express needs some love.

        * Drosera/win/Drosera.vcproj/Drosera.vcproj:

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

13 years agoWebCore:
mitz@apple.com [Thu, 29 Nov 2007 18:45:54 +0000 (18:45 +0000)]
WebCore:

        Reviewed by Beth Dakin and Darin Adler.

        - manual test for <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame

        * manual-tests/context-click-unfocused-frame.html: Added.

WebKit/win:

        Reviewed by Beth Dakin and Darin Adler.

        - fix <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame

        * WebView.cpp:
        (WebView::handleContextMenuEvent): Send the context menu event to the
        frame containing the node that was hit.

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

13 years ago Reviewed by Sam.
kmccullough@apple.com [Thu, 29 Nov 2007 18:36:57 +0000 (18:36 +0000)]
    Reviewed by Sam.

        - Added recursive runloop guards.

        * DefaultDelegates/WebScriptDebugServer.m:
        (-[WebScriptDebugServer suspendProcessIfPaused]):

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

13 years ago2007-11-29 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 12:49:31 +0000 (12:49 +0000)]
2007-11-29  Eric Seidel  <eric@webkit.org>

        Reviewed by Mark Rowe.

        Fix for --guard crash of fast/js/regexp-charclass-crash introduced by r28151.

        * pcre/pcre_compile.cpp:
        (is_anchored):

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

13 years agoGtk build fix.
mrowe@apple.com [Thu, 29 Nov 2007 11:57:00 +0000 (11:57 +0000)]
Gtk build fix.

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

13 years ago2007-11-29 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:44:31 +0000 (11:44 +0000)]
2007-11-29  Eric Seidel  <eric@webkit.org>

        Reviewed by Mark Rowe.

        Attempt to fix non-mac builds after PCRE cleanup.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCoreSources.bkl:
        * pcre/pcre.pri:

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:39:12 +0000 (11:39 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Give consistent naming to the RegExp options/compile flags

        * pcre/pcre_compile.cpp:
        (compile_branch):
        (is_anchored):
        (find_firstassertedchar):
        (printCompiledRegExp):
        (jsRegExpCompile):
        * pcre/pcre_exec.cpp:
        (jsRegExpExecute):
        * pcre/pcre_internal.h:

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:38:26 +0000 (11:38 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Give consistent naming to the RegExp options/compile flags

        * pcre/pcre_compile.cpp:
        (compile_branch):
        (is_anchored):
        (find_firstassertedchar):
        (printCompiledRegExp):
        (jsRegExpCompile):
        * pcre/pcre_exec.cpp:
        (jsRegExpExecute):
        * pcre/pcre_internal.h:

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:37:40 +0000 (11:37 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Pull first_byte and req_byte optimizations out into separate static funtions, SunSpider reported this as a win.

        * pcre/pcre_exec.cpp:
        (tryFirstByteOptimization):
        (tryRequiredByteOptimization):
        (jsRegExpExecute):
        * pcre/pcre_internal.h:

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:37:08 +0000 (11:37 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        give PCRE_MULTILINE a better name: OptionMatchAcrossMultipleLines

        * pcre/pcre_compile.cpp:
        (compile_branch):
        (is_anchored):
        (printCompiledRegExp):
        (jsRegExpCompile):
        * pcre/pcre_exec.cpp:
        (jsRegExpExecute):
        * pcre/pcre_internal.h:

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:35:37 +0000 (11:35 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver.

        Deprecate jsRegExpExecute's offset-vector fallback code

        * pcre/pcre_exec.cpp:
        (jsRegExpExecute):

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

13 years ago2007-11-28 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:34:33 +0000 (11:34 +0000)]
2007-11-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Centralize code for subjectPtr adjustments using inlines, only ever check for a single trailing surrogate (as UTF16
 only allows one), possibly fix PCRE bugs involving char classes and garbled UTF16 strings.

        * pcre/pcre_exec.cpp:
        (match):
        (jsRegExpExecute):
        * pcre/pcre_internal.h:
        (getPreviousChar):
        (movePtrToPreviousChar):
        (movePtrToNextChar):
        (movePtrToStartOfCurrentChar):

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:33:47 +0000 (11:33 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Make cur_is_word and prev_is_word locals, and change OP_ANY to OP_ANY_CHAR for clarity

        * pcre/pcre_compile.cpp:
        (find_fixedlength):
        (compile_branch):
        (canApplyFirstCharOptimization):
        * pcre/pcre_exec.cpp:
        (match):
        * pcre/pcre_internal.h:

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:32:46 +0000 (11:32 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Mitz & Maciej.

        Change _NC operators to use _IGNORING_CASE for clarity

        * pcre/pcre_compile.cpp:
        (find_fixedlength):
        (compile_branch):
        (find_firstassertedchar):
        * pcre/pcre_exec.cpp:
        (match):
        * pcre/pcre_internal.h:

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:32:01 +0000 (11:32 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Mitz.

        Remove branch from return

        * pcre/pcre_compile.cpp:
        (compile_branch):
        * pcre/pcre_exec.cpp:
        (match):

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:31:24 +0000 (11:31 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Add repeatInformationFromInstructionOffset inline

        * pcre/pcre_exec.cpp:
        (repeatInformationFromInstructionOffset):
        (match):

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:30:52 +0000 (11:30 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Remove no longer used error code JSRegExpErrorMatchLimit

        * kjs/regexp.cpp:
        (KJS::RegExp::match):
        * pcre/pcre.h:
        * pcre/pcre_internal.h:

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

13 years ago2007-11-28 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:30:20 +0000 (11:30 +0000)]
2007-11-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        change getChar* functions to return result and push 'c' into local scopes for clarity

        * pcre/pcre_compile.cpp:
        (compile_branch):
        (calculateCompiledPatternLengthAndFlags):
        * pcre/pcre_exec.cpp:
        (match):
        * pcre/pcre_internal.h:
        (getChar):
        (getCharAndAdvance):
        (getCharAndLength):
        (getCharAndAdvanceIfSurrogate):

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:29:46 +0000 (11:29 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Make i locally scoped for better code clarity

        * pcre/pcre_exec.cpp:
        (match):

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

13 years ago2007-11-28 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:29:07 +0000 (11:29 +0000)]
2007-11-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Comment cleanup

        * pcre/pcre_exec.cpp:
        (match):

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:28:29 +0000 (11:28 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Give subjectPtr and instructionPtr sane names, reduce size of MatchFrame for a 0.2% speedup.

        * pcre/pcre_compile.cpp:
        (compile_branch):
        (calculateCompiledPatternLengthAndFlags):
        * pcre/pcre_exec.cpp:
        (match_ref):
        (MatchStack::pushNewFrame):
        (getUTF8CharAndIncrementLength):
        (match):
        * pcre/pcre_internal.h:
        (getChar):
        (getCharAndAdvance):
        (getCharAndLength):
        (getCharAndAdvanceIfSurrogate):
        * pcre/pcre_xclass.cpp:
        (getUTF8CharAndAdvancePointer):

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

13 years ago2007-11-26 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:27:47 +0000 (11:27 +0000)]
2007-11-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Small speedup (0.7%) by simplifying canUseStackBufferForNextFrame() check

        * pcre/pcre_exec.cpp:
        (MatchStack::MatchStack):
        (MatchStack::popCurrentFrame):

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

13 years ago2007-11-25 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:27:11 +0000 (11:27 +0000)]
2007-11-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Lower MATCH_LIMIT_RECURSION to more sane levels to prevent hangs on run-javascriptcore-tests

        * pcre/pcre_internal.h:

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

13 years ago2007-11-25 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:26:33 +0000 (11:26 +0000)]
2007-11-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Remove match_is_group variable for another 5% speedup

        * pcre/pcre_compile.cpp:
        * pcre/pcre_exec.cpp:
        (startNewGroup):
        (match):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:25:55 +0000 (11:25 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Remove redundant eptrblock struct

        * pcre/pcre_exec.cpp:
        (MatchStack::pushNewFrame):
        (match):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:25:16 +0000 (11:25 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Remove redundant match_call_count and move recursion check out of super-hot code path
        SunSpider says this is at least an 8% speedup for regexp.

        * pcre/pcre_exec.cpp:
        (MatchStack::MatchStack):
        (MatchStack::pushNewFrame):
        (MatchStack::popCurrentFrame):
        (MatchStack::popAllFrames):
        (match):
        (jsRegExpExecute):
        * pcre/pcre_internal.h:

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:24:39 +0000 (11:24 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Get rid of GETCHAR* macros, replacing them with better named inlines

        * pcre/pcre_compile.cpp:
        (compile_branch):
        (calculateCompiledPatternLengthAndFlags):
        * pcre/pcre_exec.cpp:
        (match):
        * pcre/pcre_internal.h:
        (getCharAndAdvance):
        (getCharAndLength):
        (getCharAndAdvanceIfSurrogate):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:24:00 +0000 (11:24 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Further cleanup GET/PUT inlines

        * pcre/pcre_internal.h:
        (putOpcodeValueAtOffset):
        (getOpcodeValueAtOffset):
        (putOpcodeValueAtOffsetAndAdvance):
        (put2ByteOpcodeValueAtOffset):
        (get2ByteOpcodeValueAtOffset):
        (put2ByteOpcodeValueAtOffsetAndAdvance):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:23:11 +0000 (11:23 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Give GET, PUT better names, and add (poor) moveOpcodePtrPastAnyAlternateBranches

        * pcre/pcre_compile.cpp:
        (firstSignificantOpCodeSkippingAssertions):
        (find_fixedlength):
        (complete_callout):
        (compile_branch):
        (compile_regex):
        (is_anchored):
        (canApplyFirstCharOptimization):
        (find_firstassertedchar):
        * pcre/pcre_exec.cpp:
        (match):
        * pcre/pcre_internal.h:
        (putOpcodeValueAtOffset):
        (getOpcodeValueAtOffset):
        (putOpcodeValueAtOffsetAndAdvance):
        (put2ByteOpcodeValueAtOffset):
        (get2ByteOpcodeValueAtOffset):
        (moveOpcodePtrPastAnyAlternateBranches):
        * pcre/pcre_ucp_searchfuncs.cpp:
        (_pcre_ucp_othercase):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:22:30 +0000 (11:22 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Add inlines for toLowerCase, isWordChar, isSpaceChar for further regexp speedup

        * pcre/pcre_compile.cpp:
        (compile_branch):
        (jsRegExpCompile):
        * pcre/pcre_exec.cpp:
        (match):
        (jsRegExpExecute):
        * pcre/pcre_internal.h:
        (toLowerCase):
        (flipCase):
        (classBitmapForChar):
        (charTypeForChar):
        (isWordChar):
        (isSpaceChar):
        (CompileData::CompileData):
        * pcre/pcre_xclass.cpp:
        (_pcre_xclass):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:21:50 +0000 (11:21 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        cleanup _pcre_ucp_othercase

        * pcre/pcre_ucp_searchfuncs.cpp:
        (_pcre_ucp_othercase):

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

13 years ago2007-11-28 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:21:07 +0000 (11:21 +0000)]
2007-11-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Abstract frame variables into locals and args

        * pcre/pcre_compile.cpp:
        (compile_branch):
        * pcre/pcre_exec.cpp:
        (match):
        * pcre/pcre_internal.h:

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

13 years ago2007-11-28 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:20:26 +0000 (11:20 +0000)]
2007-11-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Section off MatchData arguments into args struct

        * pcre/pcre_exec.cpp:
        (MatchStack::pushNewFrame):
        (match):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:19:42 +0000 (11:19 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        split first_significant_code into two simpler functions

        * pcre/pcre_compile.cpp:
        (firstSignificantOpCode):
        (firstSignificantOpCodeSkippingAssertions):
        (is_anchored):
        (canApplyFirstCharOptimization):
        (find_firstassertedchar):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:18:59 +0000 (11:18 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        split first_significant_code into two simpler functions

        * pcre/pcre_compile.cpp:
        (firstSignificantOpCode):
        (firstSignificantOpCodeSkippingAssertions):
        (is_anchored):
        (canApplyFirstCharOptimization):
        (find_firstassertedchar):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:18:16 +0000 (11:18 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        clean up is_counted_repeat

        * pcre/pcre_compile.cpp:
        (is_counted_repeat):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:17:32 +0000 (11:17 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        clean up check_escape

        * pcre/pcre_compile.cpp:
        (check_escape):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:16:48 +0000 (11:16 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Reformat find_fixedlength

        * pcre/pcre_compile.cpp:
        (find_fixedlength):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:16:01 +0000 (11:16 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        reformat is_anchored

        * pcre/pcre_compile.cpp:
        (is_anchored):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:15:13 +0000 (11:15 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Remove unused function could_be_empty_branch

        * pcre/pcre_compile.cpp:
        (first_significant_code):
        (find_fixedlength):
        (compile_branch):
        (canApplyFirstCharOptimization):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:14:21 +0000 (11:14 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Pass around MatchData objects by reference

        * pcre/pcre_exec.cpp:
        (pchars):
        (match_ref):
        (match):
        (jsRegExpExecute):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:13:33 +0000 (11:13 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        give PCRE_STARTLINE a better name and rename match_data to MatchData

        * pcre/pcre_compile.cpp:
        (compile_branch):
        (canApplyFirstCharOptimization):
        (find_firstassertedchar):
        (printCompiledRegExp):
        (jsRegExpCompile):
        * pcre/pcre_exec.cpp:
        (pchars):
        (jsRegExpExecute):
        * pcre/pcre_internal.h:

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:12:11 +0000 (11:12 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Clean up find_firstassertedchar

        * pcre/pcre_compile.cpp:
        (get_othercase_range):
        (find_firstassertedchar):
        (calculateCompiledPatternLengthAndFlags):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:11:23 +0000 (11:11 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Tim Hatcher.

        Pass around CompileData& instead of CompileData*

        * pcre/pcre_compile.cpp:
        (compile_branch):
        (jsRegExpCompile):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:10:33 +0000 (11:10 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Clean up compile_branch, move _pcre_ord2utf8, and rename CompileData

        * JavaScriptCore.xcodeproj/project.pbxproj:
        * pcre/pcre_compile.cpp:
        (_pcre_ord2utf8):
        (calculateCompiledPatternLengthAndFlags):
        (jsRegExpCompile):
        * pcre/pcre_internal.h:
        * pcre/pcre_ord2utf8.cpp: Removed.

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:09:42 +0000 (11:09 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        removing more macros

        * pcre/pcre_compile.cpp:
        (could_be_empty_branch):
        (compile_branch):
        (calculateCompiledPatternLengthAndFlags):
        * pcre/pcre_exec.cpp:
        (match):
        (jsRegExpExecute):
        * pcre/pcre_internal.h:
        * pcre/pcre_xclass.cpp:

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:08:50 +0000 (11:08 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        clean up formating in compile_branch

        * pcre/pcre_compile.cpp:
        (compile_branch):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:07:57 +0000 (11:07 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Fix spacing for read_repeat_counts

        * pcre/pcre_compile.cpp:
        (read_repeat_counts):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:06:57 +0000 (11:06 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Get rid of PCRE custom char types

        * pcre/pcre_compile.cpp:
        (check_escape):
        (complete_callout):
        (compile_branch):
        (compile_regex):
        (calculateCompiledPatternLengthAndFlags):
        (jsRegExpCompile):
        * pcre/pcre_exec.cpp:
        (match_ref):
        (match):
        (jsRegExpExecute):
        * pcre/pcre_internal.h:

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:06:02 +0000 (11:06 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        reformat get_othercase_range

        * pcre/pcre_compile.cpp:
        (get_othercase_range):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:05:07 +0000 (11:05 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Remove register keyword and more cleanup

        * pcre/pcre_compile.cpp:
        (find_fixedlength):
        (compile_branch):
        (is_anchored):
        (is_startline):
        (find_firstassertedchar):
        (calculateCompiledPatternLengthAndFlags):
        (jsRegExpCompile):
        * pcre/pcre_exec.cpp:
        (MatchStack::canUseStackBufferForNextFrame):
        (MatchStack::allocateNextFrame):
        (MatchStack::pushNewFrame):
        (MatchStack::frameIsStackAllocated):
        (MatchStack::popCurrentFrame):
        (MatchStack::unrollAnyHeapAllocatedFrames):
        (getUTF8CharAndIncrementLength):
        (match):
        (jsRegExpExecute):
        * pcre/pcre_internal.h:
        (PUT2INC):
        (isLeadingSurrogate):
        (isTrailingSurrogate):
        (decodeSurrogatePair):
        (getChar):
        * pcre/pcre_ord2utf8.cpp:
        (_pcre_ord2utf8):
        * pcre/pcre_xclass.cpp:
        (getUTF8CharAndAdvancePointer):
        (_pcre_xclass):

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

13 years ago2007-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 29 Nov 2007 11:04:06 +0000 (11:04 +0000)]
2007-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej.

        Clean up jsRegExpExecute

        * pcre/pcre_compile.cpp:
        (returnError):
        (jsRegExpCompile):
        * pcre/pcre_exec.cpp:
        (jsRegExpExecute):
        * pcre/pcre_internal.h:

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

13 years agoFix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.
mrowe@apple.com [Thu, 29 Nov 2007 10:16:27 +0000 (10:16 +0000)]
Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.

Reviewed by Maciej.

* JSValueWrapper.cpp:
(getThreadGlobalExecState): Set the global object on the Interpreter before using it.

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

13 years agoFix an assertion failure seen on the layout tests, and when closing the window after...
mrowe@apple.com [Thu, 29 Nov 2007 09:05:32 +0000 (09:05 +0000)]
Fix an assertion failure seen on the layout tests, and when closing the window after visiting <coudal.com/losalamos/>.

Reviewed by Oliver Hunt.

* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
descriptor even when the stream is being destroyed without the load completing. This
avoids leaking the path and file descriptor, and leaving the temporary file on disk.

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

13 years agoMerging updated system alloc and spinlock code from r38 of TCMalloc.
oliver@apple.com [Thu, 29 Nov 2007 08:46:14 +0000 (08:46 +0000)]
Merging updated system alloc and spinlock code from r38 of TCMalloc.

Reviewed by Geoff

This is needed as a precursor to the merge of TCMalloc proper.

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

13 years agoUnreviewed layout test fix. Fix typos in the name of four files used by HTTP layout...
mrowe@apple.com [Thu, 29 Nov 2007 06:20:35 +0000 (06:20 +0000)]
Unreviewed layout test fix.  Fix typos in the name of four files used by HTTP layout tests.

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

13 years agoWebCore:
antti@apple.com [Thu, 29 Nov 2007 06:07:20 +0000 (06:07 +0000)]
WebCore:

        Reviewed by Geoff.

        Fallback content inside media elements should not be rendered.

        Test: media/fallback.html

        * rendering/RenderMedia.h:
        (WebCore::RenderMedia::canHaveChildren):

LayoutTests:

        Reviewed by Geoff.

        Test that fallback content inside media elements is not be rendered.

        * media/fallback-expected.txt: Added.
        * media/fallback.html: Added.

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

13 years ago Reviewed by Geoff
beidson@apple.com [Thu, 29 Nov 2007 06:04:21 +0000 (06:04 +0000)]
    Reviewed by Geoff

        Add copyKeysToVector utility, mirroring copyValuesToVector
        Also change the copyValuesToVector implementation to be a little more attractive

        * wtf/HashMap.h:
        (WTF::copyKeysToVector):
        (WTF::copyValuesToVector):

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

13 years agoWindows build fix.
mrowe@apple.com [Thu, 29 Nov 2007 05:33:22 +0000 (05:33 +0000)]
Windows build fix.

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

13 years agoGtk build fix.
mrowe@apple.com [Thu, 29 Nov 2007 05:29:56 +0000 (05:29 +0000)]
Gtk build fix.

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

13 years ago Reviewed by Oliver.
antti@apple.com [Thu, 29 Nov 2007 04:50:24 +0000 (04:50 +0000)]
    Reviewed by Oliver.

        Make QTMovieView fill color transparent. This behavior matches the specification
        (and allows nice alpha blended video).

        * platform/graphics/mac/MoviePrivateQTKit.mm:
        (WebCore::MoviePrivate::createQTMovieView):

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

13 years ago just some more typo fixes
alice.liu@apple.com [Thu, 29 Nov 2007 02:25:10 +0000 (02:25 +0000)]
    just some more typo fixes

        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level-expected.txt:
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level.html:
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url-expected.txt:
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url.html:
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt:
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html:
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-expected.txt:
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame.html:
        * http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
        * http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe.html:
        * http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
        * http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open.html:
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html:
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt:
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html:

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

13 years agoWebCore:
antti@apple.com [Thu, 29 Nov 2007 02:02:11 +0000 (02:02 +0000)]
WebCore:

        Reviewed by Darin.

        Test: media/video-controls.html

        <rdar://problem/5605668>
        Implement controls attribute for video element

        - Add RenderMedia and make RenderVideo its subclass. Controls code goes to RenderMedia while
          video specific (painting etc) code stays in RenderVideo. For example audio controls can be implemented
          later by just instantiating RenderMedia as renderer.
        - Make media renderer hierarchy inherit from RenderBlock instead of RenderReplaced so it can
          have child nodes (for controls).
        - Controls are implemented as a shadow DOM.
        - Current look is a placeholder. It is defined purely in CSS.
        - Some things like volume controls are not yet implemented.
        - Fade-in/out is done manually, CSS animations don't work well in shadow trees.

        * WebCore.xcodeproj/project.pbxproj:
        * css/html4.css:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::attributeChanged):
        (WebCore::HTMLMediaElement::updateMovie):
        (WebCore::HTMLMediaElement::defaultEventHandler):
        * html/HTMLMediaElement.h:
        * rendering/RenderMedia.cpp: Added.
        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
        (WebCore::MediaControlShadowRootElement::isShadowNode):
        (WebCore::MediaControlShadowRootElement::shadowParentNode):
        (WebCore::MediaControlInputElement::MediaControlInputElement):
        (WebCore::MediaControlInputElement::attachToParent):
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
        (WebCore::MediaControlPlayButtonElement::inPausedState):
        (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
        (WebCore::MediaControlPlayButtonElement::update):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::defaultEventHandler):
        (WebCore::MediaControlTimelineElement::update):
        (WebCore::RenderMedia::RenderMedia):
        (WebCore::RenderMedia::~RenderMedia):
        (WebCore::RenderMedia::mediaElement):
        (WebCore::RenderMedia::movie):
        (WebCore::RenderMedia::setStyle):
        (WebCore::RenderMedia::createControlsShadowRoot):
        (WebCore::RenderMedia::createPanel):
        (WebCore::RenderMedia::createPlayButton):
        (WebCore::RenderMedia::createTimeline):
        (WebCore::RenderMedia::createTimeDisplay):
        (WebCore::RenderMedia::updateFromElement):
        (WebCore::RenderMedia::updateControls):
        (WebCore::RenderMedia::timeUpdateTimerFired):
        (WebCore::RenderMedia::updateTimeDisplay):
        (WebCore::RenderMedia::updateControlVisibility):
        (WebCore::RenderMedia::changeOpacity):
        (WebCore::RenderMedia::opacityAnimationTimerFired):
        (WebCore::RenderMedia::forwardEvent):
        * rendering/RenderMedia.h: Added.
        (WebCore::RenderMedia::renderName):
        (WebCore::RenderMedia::isMedia):
        (WebCore::RenderMedia::intrinsicSize):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isMedia):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::RenderVideo):
        (WebCore::RenderVideo::videoSizeChanged):
        (WebCore::RenderVideo::paintObject):
        (WebCore::RenderVideo::layout):
        (WebCore::RenderVideo::updateFromElement):
        (WebCore::RenderVideo::calcAspectRatioWidth):
        (WebCore::RenderVideo::calcAspectRatioHeight):
        * rendering/RenderVideo.h:

LayoutTests:

        Reviewed by Darin.

        <rdar://problem/5605668>
        Implement controls attribute for video element

        - A new test for the controls attribute.
        - Add the controls attibute to all existing video tests. This will give the code
          some additional exercise without affecting test results.

        * media/progress-event.html:
        * media/video-append-source.html:
        * media/video-autoplay.html:
        * media/video-buffered.html:
        * media/video-controls-expected.txt: Added.
        * media/video-controls.html: Added.
        * media/video-currentTime-set.html:
        * media/video-currentTime-set2.html:
        * media/video-currentTime.html:
        * media/video-dom-autoplay.html:
        * media/video-dom-end.html:
        * media/video-dom-loopcount.html:
        * media/video-dom-loopend.html:
        * media/video-dom-loopstart.html:
        * media/video-dom-src.html:
        * media/video-dom-start.html:
        * media/video-end.html:
        * media/video-error-abort.html:
        * media/video-error-does-not-exist.html:
        * media/video-load-networkState.html:
        * media/video-load-readyState.html:
        * media/video-loopcount.html:
        * media/video-loopend.html:
        * media/video-loopstart.html:
        * media/video-muted.html:
        * media/video-no-autoplay.html:
        * media/video-pause-empty-events.html:
        * media/video-play-empty-events.html:
        * media/video-play-pause-events.html:
        * media/video-play-pause-exception.html:
        * media/video-poster.html:
        * media/video-seek-past-end-paused.html:
        * media/video-seek-past-end-playing.html:
        * media/video-seekable.html:
        * media/video-seeking.html:
        * media/video-size.html:
        * media/video-source-media.html:
        * media/video-source-type.html:
        * media/video-source.html:
        * media/video-src-change.html:
        * media/video-src-remove.html:
        * media/video-src-set.html:
        * media/video-src-source.html:
        * media/video-src.html:
        * media/video-start.html:
        * media/video-volume.html:
        * media/video-width-height.html:

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