WebKit-https.git
12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 years agoWebCore:
justin.garcia@apple.com [Thu, 29 Nov 2007 01:33:52 +0000 (01:33 +0000)]
WebCore:

        Reviewed by Darin Adler.

        <rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating

        In the new beta, Google has added some custom code on top of our RemoveFormat
        to work around a bug where fully selected lists aren't removed.  This code corrupts
        the undo stack and causes crashes.  This change fixes two problems with RemoveFormat
        so that Google doesn't have to have any custom code. After checking this in I'll
        work on bulletproofing the undo stack

        * WebCore.xcodeproj/project.pbxproj:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::insertLineBreak): Added this convenience method.
        (WebCore::CompositeEditCommand::inputText): Added code to select all inserted text, not
        just the last paragraph.  Added code to support an input string with '\n's.
        * editing/CompositeEditCommand.h:
        * editing/Editor.cpp:
        (WebCore::Editor::removeFormattingAndStyle): Moved code to its own EditCommand.
        * editing/RemoveFormatCommand.cpp: Added. Moved code from removeFormattingAndStyle here.
        (WebCore::RemoveFormatCommand::RemoveFormatCommand):
        (WebCore::RemoveFormatCommand::doApply): Added code to remove fully selected lists.
        * editing/RemoveFormatCommand.h: Added.
        (WebCore::RemoveFormatCommand::editingAction):

LayoutTests:

        Reviewed by Darin Adler.

        <rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating

        Added to demonstrate fixes:
        * editing/execCommand/5573879.html: Added.
        * platform/mac/editing/execCommand/5573879-expected.checksum: Added.
        * platform/mac/editing/execCommand/5573879-expected.png: Added.
        * platform/mac/editing/execCommand/5573879-expected.txt: Added.

        Fixes (RemoveFormat now preserves the selection correctly):
        * platform/mac/editing/execCommand/4920742-1-expected.checksum:
        * platform/mac/editing/execCommand/4920742-1-expected.png:
        * platform/mac/editing/execCommand/4920742-1-expected.txt:
        * platform/mac/editing/execCommand/remove-formatting-2-expected.checksum:
        * platform/mac/editing/execCommand/remove-formatting-2-expected.png:
        * platform/mac/editing/execCommand/remove-formatting-2-expected.txt:
        * platform/mac/editing/execCommand/remove-formatting-expected.checksum:
        * platform/mac/editing/execCommand/remove-formatting-expected.png:
        * platform/mac/editing/execCommand/remove-formatting-expected.txt:

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

12 years ago Make this test not depend on the screen size.
timothy@apple.com [Thu, 29 Nov 2007 01:05:47 +0000 (01:05 +0000)]
    Make this test not depend on the screen size.

        * fast/dom/Window/window-resize-expected.txt:
        * fast/dom/Window/window-resize.html:

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

12 years ago Reviewed by Adam Roben.
darin@apple.com [Thu, 29 Nov 2007 00:43:14 +0000 (00:43 +0000)]
    Reviewed by Adam Roben.

        * DumpRenderTree/mac/EventSendingController.mm:
        (-[EventSendingController keyDown:withModifiers:]):
        Send capital letters through as lowercase letters with the shift key down
        rather than sending them as if they were highly unusual "capital letter keys".

        * Scripts/update-javascriptcore-test-results: Add a "--force" option for cases
        where you need to update results and more tests are failing than before.

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

12 years agoWebKitTools:
andersca@apple.com [Thu, 29 Nov 2007 00:33:33 +0000 (00:33 +0000)]
WebKitTools:

        Reviewed by Darin.

        <rdar://problem/5132001>
        contextClick is not implemented in DRT on Windows.

        * DumpRenderTree/win/EventSender.cpp:
        (contextClickCallback):
        Add a callback for contextClick, which sends a WM_RBUTTONDOWN message followed
        by a WM_RBUTTONUP message.

        * DumpRenderTree/win/UIDelegate.cpp:
        (UIDelegate::hasCustomMenuImplementation):
        (UIDelegate::trackCustomPopupMenu):
        * DumpRenderTree/win/UIDelegate.h:
        Add a no-op implementation of trackCustomPopupMenu, to prevent the default popup
        menu from being shown (and causing the DRT to hang).

LayoutTests:

        Reviewed by Darin.

        <rdar://problem/5132001>
        contextClick is not implemented in DRT on Windows.

        Remove tests that pass now that we have contextClick.

        * platform/win/Skipped:

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

12 years ago Removing some tests tracked by <rdar://5130762> because they don't fail.
alice.liu@apple.com [Wed, 28 Nov 2007 23:05:21 +0000 (23:05 +0000)]
    Removing some tests tracked by <rdar://5130762> because they don't fail.

        * platform/win/Skipped:

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

12 years ago Removing fixed tests tracked by <rdar://5128229>
alice.liu@apple.com [Wed, 28 Nov 2007 22:45:10 +0000 (22:45 +0000)]
    Removing fixed tests tracked by <rdar://5128229>

        * platform/win/Skipped:

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

12 years ago Rubberstamped by Sam.
alice.liu@apple.com [Wed, 28 Nov 2007 22:27:48 +0000 (22:27 +0000)]
    Rubberstamped by Sam.

        Fixing a typo in some filenames

        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe-expected.txt: Removed.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe.html: Removed.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open-expected.txt: Removed.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open.html: Removed.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe-expected.txt.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe.html: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe.html.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open-expected.txt.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open.html: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open.html.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe-expected.txt: Removed.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe.html: Removed.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open-expected.txt: Removed.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open.html: Removed.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe-expected.txt.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe.html.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open-expected.txt.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open.html.
        * platform/win/Skipped:

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

12 years ago Reviewed by Tim.
kmccullough@apple.com [Wed, 28 Nov 2007 22:24:49 +0000 (22:24 +0000)]
    Reviewed by Tim.

        - Added guards to the wait loop so execution would not hang and now the
        console window can process JavaScript.

        * WebScriptDebugServer.cpp:
        (WebScriptDebugServer::suspendProcessIfPaused):

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

12 years agoWebCore:
mitz@apple.com [Wed, 28 Nov 2007 22:04:44 +0000 (22:04 +0000)]
WebCore:

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046

        Test: fast/table/empty-auto-column-zero-divide.html

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::fullRecalc):
        (WebCore::AutoTableLayout::calcEffectiveWidth):
        (WebCore::AutoTableLayout::layout): When distributing the remaining
        width among columns, skip those whose effective (rather than
        specified) width is auto and contain only empty cells.

LayoutTests:

        Reviewed by Dave Hyatt.

        - test for <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046

        * fast/table/empty-auto-column-zero-divide-expected.txt: Added.
        * fast/table/empty-auto-column-zero-divide.html: Added.

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

12 years ago Reviewed by Darin.
adele@apple.com [Wed, 28 Nov 2007 22:03:40 +0000 (22:03 +0000)]
    Reviewed by Darin.

        Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6

        The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in
        WebHTMLView to prevent future problems in other methods as well.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
        (-[WebHTMLView keyDown:]):
        (-[WebHTMLView keyUp:]):
        (-[WebHTMLView flagsChanged:]):
        (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
        (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
        (-[WebHTMLView checkSpelling:]):
        (-[WebHTMLView showGuessPanel:]):
        (-[WebHTMLView indent:]):
        (-[WebHTMLView outdent:]):
        (-[WebHTMLView paste:]):
        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
        (-[WebHTMLView insertText:]):
        (-[WebHTMLView selectionTextRects]):

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

12 years ago Reviewed by Adam.
andersca@apple.com [Wed, 28 Nov 2007 21:17:59 +0000 (21:17 +0000)]
    Reviewed by Adam.

        Implement the last bits of the WebDatabaseManager API.

        * Interfaces/IWebDatabaseManager.idl:
        * WebDatabaseManager.cpp:
        (isEqual):
        (WebDatabaseManager::sharedWebDatabaseManager):
        (WebDatabaseManager::dispatchDidModifyOrigin):
        (WebDatabaseManager::dispatchDidModifyDatabase):
        * WebDatabaseManager.h:

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

12 years ago Get Drosera working again for real.
andersca@apple.com [Wed, 28 Nov 2007 20:12:17 +0000 (20:12 +0000)]
    Get Drosera working again for real.

        * COMEnumVariant.h:
        (::Next):

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

12 years ago2007-11-28 Peter Kasting <zerodpx@gmail.com>
alp@webkit.org [Wed, 28 Nov 2007 19:57:31 +0000 (19:57 +0000)]
2007-11-28  Peter Kasting  <zerodpx@gmail.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=16169
        GIF decoder needs to set hasAlpha() correctly on subsequent frames.

        This also removes the workaround for this problem in
        ImageSourceCairo.cpp.

        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::frameHasAlphaAtIndex):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::initFrameBuffer):

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

12 years ago2007-11-28 Jon Honeycutt <jhoneycutt@apple.com>
jhoneycutt@apple.com [Wed, 28 Nov 2007 19:37:33 +0000 (19:37 +0000)]
2007-11-28  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Dan.

        <rdar://problem/5507360> plugins/return-error-from-new-stream-callback-
        in-full-frame-plugin.html is crashing

        Alice fixed this in r28046

        * platform/win/Skipped:

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

12 years ago Reviewed by Maciej and Adam.
kmccullough@apple.com [Wed, 28 Nov 2007 17:46:51 +0000 (17:46 +0000)]
    Reviewed by Maciej and Adam.

        - Added Drosera to the WebKit project.

        * WebKit.vcproj/WebKit.sln:

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

12 years ago Reviewed by Darin Adler and Adam Roben.
mitz@apple.com [Wed, 28 Nov 2007 16:47:39 +0000 (16:47 +0000)]
    Reviewed by Darin Adler and Adam Roben.

        - <rdar://problem/5057218> Reenable "recent searches" search field menu when menu is fully implemented

        * platform/win/SearchPopupMenuWin.cpp:
        (WebCore::SearchPopupMenu::enabled): Changed to return true.
        (WebCore::autosaveKey): Added. Returns a preferences key for the
        autosave name by prefixing it with "com.apple.WebKit.searchField:".
        (WebCore::SearchPopupMenu::saveRecentSearches): Implemented.
        (WebCore::SearchPopupMenu::loadRecentSearches): Implemented.

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

12 years agoRoll out r28106 and r28108. These introduced a frequent assertion failure on page...
mrowe@apple.com [Wed, 28 Nov 2007 13:12:03 +0000 (13:12 +0000)]
Roll out r28106 and r28108.  These introduced a frequent assertion failure on page load and broke all non-Mac builds.

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

12 years ago2007-11-28 Alp Toker <alp@atoker.com>
alp@webkit.org [Wed, 28 Nov 2007 12:47:37 +0000 (12:47 +0000)]
2007-11-28  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=15689
        [GTK] Background of loading images is always black

        frameHasAlphaAtIndex() exists only to allow optimization for cases we
        are certain the image can be blitted rather than composited.

        Thus we need to be conservative, returning false only when we are
        absolutely certain there is no need for composited copying, and true
        otherwise.

        CG doesn't even bother with this optimization at all and always
        returns true.

        Patch includes a workaround for
          http://bugs.webkit.org/show_bug.cgi?id=16169
          GIF ImageDecoder hasAlpha() return value incorrect

        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::frameHasAlphaAtIndex):

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

12 years agoJavaScriptCore:
mjs@apple.com [Wed, 28 Nov 2007 11:03:10 +0000 (11:03 +0000)]
JavaScriptCore:

        Add files missing from previous commit.

        * kjs/MarkStack.h: Added.

LayoutTests:

        add files missing from previous commit.

        * fast/js/gc-breadth-2-expected.txt: Added.
        * fast/js/gc-breadth-2.html: Added.
        * fast/js/gc-breadth-expected.txt: Added.
        * fast/js/gc-breadth.html: Added.
        * fast/js/gc-depth-expected.txt: Added.
        * fast/js/gc-depth.html: Added.
        * fast/js/resources/gc-breadth-2.js: Added.
        * fast/js/resources/gc-breadth.js: Added.
        * fast/js/resources/gc-depth.js: Added.

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

12 years ago2007-11-26 Rodney Dawes <dobey@wayofthemonkey.com>
mrowe@apple.com [Wed, 28 Nov 2007 10:42:20 +0000 (10:42 +0000)]
2007-11-26  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed by Mark Rowe.

        Set CONFIG option for the window system GTK+ is using

        * WebKit.pri:

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

12 years agoJavaScriptCore:
mjs@apple.com [Wed, 28 Nov 2007 10:08:09 +0000 (10:08 +0000)]
JavaScriptCore:

        Reviewed by Darin and Geoff.

        - Fixed "Stack overflow crash in JavaScript garbage collector mark pass"
        http://bugs.webkit.org/show_bug.cgi?id=12216

        Implement mark stack. This version is not suitable for prime time because it makes a
        huge allocation on every collect, and potentially makes marking of detached subtrees
        slow. But it is an 0.4% SunSpider speedup even without much tweaking.

        The basic approach is to replace mark() methods with
        markChildren(MarkStack&) methods. Reachable references are pushed
        onto a mark stack (which encapsulates ignoring already-marked
        references).

        Objects are no longer responsible for actually setting their own
        mark bits, the collector does that. This means that for objects on
        the number heap we don't have to call markChildren() at all since
        we know there aren't any.

        The mark phase of collect pushes roots onto the mark stack
        and drains it as often as possible.

        To make this approach viable requires a constant-size mark stack
        and a slow fallback approach for when the stack size is exceeded,
        plus optimizations to make the required stack small in common
        cases. This should be doable.

        * JavaScriptCore.exp: Export new symbols.
        * JavaScriptCore.xcodeproj/project.pbxproj: Add new file.
        * kjs/collector.cpp:
        (KJS::Collector::heapAllocate):
        (KJS::drainMarkStack): Helper for all of the below.
        (KJS::Collector::markStackObjectsConservatively): Use mark stack.
        (KJS::Collector::markCurrentThreadConservatively): ditto
        (KJS::Collector::markOtherThreadConservatively): ditto
        (KJS::Collector::markProtectedObjects): ditto
        (KJS::Collector::markMainThreadOnlyObjects): ditto
        (KJS::Collector::collect): ditto
        * kjs/collector.h:
        (KJS::Collector::cellMayHaveRefs): Helper for MarkStack.

        * kjs/MarkStack.h: Added. The actual mark stack implementation.
        (KJS::MarkStack::push):
        (KJS::MarkStack::pushAtom):
        (KJS::MarkStack::pop):
        (KJS::MarkStack::isEmpty):
        (KJS::MarkStack::reserveCapacity):

        Changed mark() methods to markChildren() methods:

        * kjs/ExecState.cpp:
        (KJS::ExecState::markChildren):
        * kjs/ExecState.h:
        * kjs/JSWrapperObject.cpp:
        (KJS::JSWrapperObject::markChildren):
        * kjs/JSWrapperObject.h:
        * kjs/array_instance.cpp:
        (KJS::ArrayInstance::markChildren):
        * kjs/array_instance.h:
        * kjs/bool_object.cpp:
        (BooleanInstance::markChildren):
        * kjs/bool_object.h:
        * kjs/error_object.cpp:
        * kjs/error_object.h:
        * kjs/function.cpp:
        (KJS::FunctionImp::markChildren):
        (KJS::Arguments::Arguments):
        (KJS::Arguments::markChildren):
        (KJS::ActivationImp::markChildren):
        * kjs/function.h:
        * kjs/internal.cpp:
        (KJS::GetterSetterImp::markChildren):
        * kjs/interpreter.cpp:
        (KJS::Interpreter::markRoots):
        * kjs/interpreter.h:
        * kjs/list.cpp:
        (KJS::List::markProtectedListsSlowCase):
        * kjs/list.h:
        (KJS::List::markProtectedLists):
        * kjs/object.cpp:
        (KJS::JSObject::markChildren):
        * kjs/object.h:
        (KJS::ScopeChain::markChildren):
        * kjs/property_map.cpp:
        (KJS::PropertyMap::markChildren):
        * kjs/property_map.h:
        * kjs/scope_chain.h:
        * kjs/string_object.cpp:
        (KJS::StringInstance::markChildren):
        * kjs/string_object.h:

JavaScriptGlue:

        Reviewed by Darin and Geoff.

        Fixups for JavaScriptCore mark stack.

        * JSObject.cpp:
        (JSUserObject::Mark):
        * JSObject.h:
        * JSValueWrapper.cpp:
        (JSValueWrapper::JSObjectMark):
        * JSValueWrapper.h:
        * UserObjectImp.cpp:
        * UserObjectImp.h:

WebCore:

        Reviewed by Darin and Geoff.

        Implement mark stack. This version is not suitable for prime time because it makes a
        huge allocation on every collect, and potentially makes marking of detached subtrees
        slow. But it is a .2% - .4% speedup even without much tweaking.

        I replaced mark() methods with markChildren() as usual. One
        optimization that is lost is avoiding walking detached DOM
        subtrees more than once to mark them; since marking is not
        recursive there's no obvious way to bracket operation on the tree
        any more.

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::markChildren):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::markChildren):
        * bindings/js/JSNodeFilterCondition.cpp:
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::markChildren):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::markChildren):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::markChildren):
        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequest::markChildren):
        * bindings/js/JSXMLHttpRequest.h:
        * bindings/js/kjs_binding.cpp:
        (KJS::ScriptInterpreter::markDOMNodesForDocument):
        * bindings/js/kjs_binding.h:
        * bindings/js/kjs_events.cpp:
        (WebCore::JSUnprotectedEventListener::markChildren):
        * bindings/js/kjs_events.h:
        * bindings/js/kjs_window.cpp:
        (KJS::Window::markChildren):
        * bindings/js/kjs_window.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Node.cpp:
        (WebCore::Node::Node):
        * dom/Node.h:
        * dom/NodeFilter.h:
        * dom/NodeFilterCondition.h:

LayoutTests:

        Not reviewed.

        - Test cases for "Stack overflow crash in JavaScript garbage collector mark pass"
        http://bugs.webkit.org/show_bug.cgi?id=12216

        I have fixed this with the mark stack work.

        * fast/js/gc-breadth-2-expected.txt: Added.
        * fast/js/gc-breadth-2.html: Added.
        * fast/js/gc-breadth-expected.txt: Added.
        * fast/js/gc-breadth.html: Added.
        * fast/js/gc-depth-expected.txt: Added.
        * fast/js/gc-depth.html: Added.
        * fast/js/resources/gc-breadth-2.js: Added.
        * fast/js/resources/gc-breadth.js: Added.
        * fast/js/resources/gc-depth.js: Added.

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

12 years agoNot reviewer for this patch.
mjs@apple.com [Wed, 28 Nov 2007 09:24:30 +0000 (09:24 +0000)]
Not reviewer for this patch.

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

12 years ago Reviewed by Maciej Stachowiak.
mitz@apple.com [Wed, 28 Nov 2007 09:04:15 +0000 (09:04 +0000)]
    Reviewed by Maciej Stachowiak.

        - fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver
        because addMouseMovedObserver returns early if the dataSource
        is not nil. But if the dataSource is already set (which happens when
        a WebHTMLView is being reused) then addMouseMovedObserver must not
        be called again.

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

12 years ago2007-11-27 Alp Toker <alp@atoker.com>
alp@webkit.org [Wed, 28 Nov 2007 08:27:10 +0000 (08:27 +0000)]
2007-11-27  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Install the JavaScriptCore headers as part of the GTK+ port.

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

12 years agoWebCore:
bdakin@apple.com [Wed, 28 Nov 2007 06:31:28 +0000 (06:31 +0000)]
WebCore:

        Reviewed by Oliver.

        Fix for <rdar://problem/5616052> SVGs with width or height of 100%
        hang when used as a background-image (16164)

        * platform/graphics/svg/SVGImage.cpp:
        (WebCore::SVGImage::size): Use valueAsPercentage() for percents
        instead of valueInSpecifiedUnits(). valueInSpecifiedUnits()
        returns, for example, 50 for 50%, so multiplying percentages by the
        default size of 300 x 150 led to ridiculously huge dimensions for
        SVG images, and the subsequent hang.

LayoutTests:

        Reviewed by Oliver.

        Test for <rdar://problem/5616052> SVGs with width or height of 100%
        hang when used as a background-image (16164)

        * fast/images/resources/width-100-percent.svg: Added.
        * fast/images/svg-width-100p-as-background.html: Added.
        * platform/mac/fast/images/svg-width-100p-as-background-expected.checksum: Added.
        * platform/mac/fast/images/svg-width-100p-as-background-expected.png: Added.
        * platform/mac/fast/images/svg-width-100p-as-background-expected.txt: Added.

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