WebKit-https.git
13 years ago This patch dramatically reduces the memory consumed by animated images. ...
hyatt [Thu, 8 Mar 2007 08:43:35 +0000 (08:43 +0000)]
    This patch dramatically reduces the memory consumed by animated images.  For large animated GIFs (defined for
        now as >1mb in terms of decoded frame buffer size), we will now aggressively flush previous frames of the
        animated GIF and just re-decode them on the fly if the animation loops.

        Whenever a large animated GIF has its animation reset, we will also just throw out everything and start
        the animation over (in order to get rid of any cached detritus held in the ImageSource).

        With this patch and the sample GIF used to test, WebKit's memory consumption went from 160MB down to 16MB.

        Reviewed by mjs

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::destroyDecodedData):
        (WebCore::BitmapImage::resetAnimation):
        (WebCore::BitmapImage::advanceAnimation):
        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::~ImageSource):
        (WebCore::ImageSource::clear):

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

13 years ago Reviewed by Darin.
ap [Thu, 8 Mar 2007 08:16:04 +0000 (08:16 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13006
        XPath string-value is broken for some node types

        Test: fast/xpath/string-value.html

        * xml/XPathUtil.cpp:
        (WebCore::XPath::stringValue): Fix it :-)

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

13 years agoAdded bug number and fixed email address.
ddkilzer [Thu, 8 Mar 2007 08:02:21 +0000 (08:02 +0000)]
Added bug number and fixed email address.

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

13 years ago Reviewed by Adam.
andersca [Thu, 8 Mar 2007 07:15:04 +0000 (07:15 +0000)]
    Reviewed by Adam.

        <rdar://problem/4981000>
        http://bugs.webkit.org/show_bug.cgi?id=12634
        REGRESSION: crash loading web archive (12634)

        The reason this bug wasn't always reproducible is that it involved sending an event to a plugin while
        the page was loading. Before we send the event to the plugin we defer loads. The problem was that
        MainResourceLoader::setDefersLoad would not work with data loads.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::setRequest):
        Only set m_committed to false if we also have a valid unreachable URL.

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::setDefersLoading):
        Make sure to stop and start data loads.

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

13 years ago Not reviewed.
kjk [Thu, 8 Mar 2007 07:01:20 +0000 (07:01 +0000)]
    Not reviewed.

        Gdk build fixes.

        * platform/gdk/EditorClientGdk.cpp:
        (WebCore::EditorClientGdk::handleKeypress): renamed
        (WebCore::EditorClientGdk::handleInputMethodKeypress): add a stub
        * platform/gdk/EditorClientGdk.h:
        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::destroyFrameAtIndex): add a stub

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

13 years agoLayoutTests:
weinig [Thu, 8 Mar 2007 03:47:34 +0000 (03:47 +0000)]
LayoutTests:

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13004
        Repeatedly calling XPathExpression.evaluate() causes crashes or memory leaks

        * fast/xpath/evaluate-twice-expected.txt: Added.
        * fast/xpath/evaluate-twice.html: Added.

WebCore:

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13004
        Repeatedly calling XPathExpression.evaluate() causes crashes or memory leaks

        Removed XPath::Expression::optimize() and related methods, since they were buggy and almost useless.
        Merged doEvaluate() into evaluate(), since this was all evaluate() was doing after the above changes.

        Test: fast/xpath/evaluate-twice.html

        * xml/XPathExpression.cpp:
        (WebCore::XPathExpression::evaluate):
        * xml/XPathExpressionNode.cpp:
        (WebCore::XPath::Expression::Expression):
        (WebCore::XPath::Expression::~Expression):
        * xml/XPathExpressionNode.h:
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunLast::evaluate):
        (WebCore::XPath::FunPosition::evaluate):
        (WebCore::XPath::FunId::evaluate):
        (WebCore::XPath::FunLocalName::evaluate):
        (WebCore::XPath::FunNamespaceURI::evaluate):
        (WebCore::XPath::FunName::evaluate):
        (WebCore::XPath::FunCount::evaluate):
        (WebCore::XPath::FunString::evaluate):
        (WebCore::XPath::FunConcat::evaluate):
        (WebCore::XPath::FunStartsWith::evaluate):
        (WebCore::XPath::FunContains::evaluate):
        (WebCore::XPath::FunSubstringBefore::evaluate):
        (WebCore::XPath::FunSubstringAfter::evaluate):
        (WebCore::XPath::FunSubstring::evaluate):
        (WebCore::XPath::FunStringLength::evaluate):
        (WebCore::XPath::FunNormalizeSpace::evaluate):
        (WebCore::XPath::FunTranslate::evaluate):
        (WebCore::XPath::FunBoolean::evaluate):
        (WebCore::XPath::FunNot::evaluate):
        (WebCore::XPath::FunTrue::evaluate):
        (WebCore::XPath::FunLang::evaluate):
        (WebCore::XPath::FunFalse::evaluate):
        (WebCore::XPath::FunNumber::evaluate):
        (WebCore::XPath::FunSum::evaluate):
        (WebCore::XPath::FunFloor::evaluate):
        (WebCore::XPath::FunCeiling::evaluate):
        (WebCore::XPath::FunRound::evaluate):
        * xml/XPathPath.cpp:
        (WebCore::XPath::Filter::evaluate):
        (WebCore::XPath::LocationPath::evaluate):
        (WebCore::XPath::Path::evaluate):
        * xml/XPathPath.h:
        * xml/XPathPredicate.cpp:
        (WebCore::XPath::Number::evaluate):
        (WebCore::XPath::StringExpression::evaluate):
        (WebCore::XPath::Negative::evaluate):
        (WebCore::XPath::NumericOp::evaluate):
        (WebCore::XPath::EqTestOp::evaluate):
        (WebCore::XPath::LogicalOp::evaluate):
        (WebCore::XPath::Union::evaluate):
        * xml/XPathPredicate.h:
        * xml/XPathStep.cpp:
        * xml/XPathStep.h:
        * xml/XPathVariableReference.cpp:
        (WebCore::XPath::VariableReference::evaluate):
        * xml/XPathVariableReference.h:

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

13 years agoThe change to go along with Anders' ChangeLog entry.
bdash [Thu, 8 Mar 2007 03:31:33 +0000 (03:31 +0000)]
The change to go along with Anders' ChangeLog entry.

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

13 years ago Leopard build fix.
andersca [Thu, 8 Mar 2007 03:18:31 +0000 (03:18 +0000)]
Leopard build fix.

        * Plugins/WebBaseNetscapePluginView.mm:

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

13 years ago Reviewed by Tim H.
weinig [Thu, 8 Mar 2007 03:15:19 +0000 (03:15 +0000)]
    Reviewed by Tim H.

        Remove unused #import from Objective-C bindings and cleanup the order of #imports.

        * bindings/scripts/CodeGeneratorObjC.pm:

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

13 years ago Reviewed by Tim H.
weinig [Thu, 8 Mar 2007 02:43:05 +0000 (02:43 +0000)]
    Reviewed by Tim H.

        Make sure the baseURI attribute generates for private Objective-C bindings.

        * dom/Node.idl:

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

13 years ago Reviewed by Maciej.
andersca [Thu, 8 Mar 2007 02:18:49 +0000 (02:18 +0000)]
    Reviewed by Maciej.

        <rdar://problem/4874059>
        REGRESSION: Painter IX:register - Crash in WebCore:: ResourceLoader::willSendRequest()

        If a load is done from inside of an error delegate method that is called because we cancel another load,
        the first load should be ignored since this is what shipping WebKit does.

        (Actually, it does load the page in the data source but doesn't do anything with it since the data source
        won't have a web frame).

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::load):
        Just bail out if m_isStoppingLoad is true.

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

13 years ago Use CGImageRelease instead of CFRelease.
hyatt [Thu, 8 Mar 2007 02:09:07 +0000 (02:09 +0000)]
    Use CGImageRelease instead of CFRelease.

        Reviewed by aroben

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::FrameData::clear):
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::destroyFrameAtIndex):

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

13 years ago Fix a regression where the cache size overflows because of a double
hyatt [Thu, 8 Mar 2007 02:00:25 +0000 (02:00 +0000)]
    Fix a regression where the cache size overflows because of a double
        subtraction per resource when they got removed from the cache.  Add an
        assert to adjustSize to detect this case in the future.

        Fix ImageSourceCG so that when we flush decoded data from our cache that
        we also flush it from the ImageSource.

        Reviewed by mjs

        * loader/Cache.cpp:
        (WebCore::Cache::adjustSize):
        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::~BitmapImage):
        (WebCore::BitmapImage::destroyDecodedData):
        * platform/graphics/Image.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::setData):
        (WebCore::ImageSource::destroyFrameAtIndex):

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

13 years ago2007-03-07 Anrong Hu <huanr@yahoo.com>
bdash [Thu, 8 Mar 2007 01:42:39 +0000 (01:42 +0000)]
2007-03-07  Anrong Hu  <huanr@yahoo.com>

        Reviewed by Maciej.

        Fix http://bugs.webkit.org/show_bug.cgi?id=12535
        Bug 12535: Stack-optimizing compilers can trick GC into freeing in-use objects

        * kjs/internal.cpp:
        (KJS::StringImp::toObject): Copy val onto the stack so it is not subject to garbage collection.

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

13 years ago2007-03-07 Bruce Q Hammond <bruceq@apple.om>
bdash [Thu, 8 Mar 2007 01:34:23 +0000 (01:34 +0000)]
2007-03-07  Bruce Q Hammond  <bruceq@apple.om>

        Reviewed by Darin.

        This fixes a problem with Netscape-style Plug-ins which draw through the Quickdraw APIs
        being unable to render into offscreen bitmap contexts.

        This patches both saveAndSetNewPortStateForUpdate: and restorePortState:
        These methods now check the current context and see if appropriate setup/cleanup needs to be done
        for offscreen rendering.

        * Plugins/WebBaseNetscapePluginView.mm:
        (QDPixelFormatFromCGBitmapInfo):
        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
        (-[WebBaseNetscapePluginView restorePortState:]):

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

13 years ago2007-03-07 Mitz Pettel <mitz@webkit.org>
bdash [Thu, 8 Mar 2007 01:29:17 +0000 (01:29 +0000)]
2007-03-07  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13002
          Incomplete repaint of inset outlines

        Test: fast/repaint/outline-inset.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):

2007-03-07  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - repaint test for http://bugs.webkit.org/show_bug.cgi?id=13002
          Incomplete repaint of inset outlines

        * fast/repaint/outline-inset-expected.checksum: Added.
        * fast/repaint/outline-inset-expected.png: Added.
        * fast/repaint/outline-inset-expected.txt: Added.
        * fast/repaint/outline-inset.html: Added.

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

13 years ago Reviewed by Darin.
andersca [Thu, 8 Mar 2007 01:16:19 +0000 (01:16 +0000)]
    Reviewed by Darin.

        Use HardRetain/HardRelease.

        * WebView/WebDocumentLoaderMac.mm:
        (WebDocumentLoaderMac::setDataSource):
        (WebDocumentLoaderMac::attachToFrame):
        (WebDocumentLoaderMac::detachFromFrame):
        (WebDocumentLoaderMac::increaseLoadCount):
        (WebDocumentLoaderMac::decreaseLoadCount):

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

13 years ago Reviewed by Maciej.
andersca [Thu, 8 Mar 2007 01:09:50 +0000 (01:09 +0000)]
    Reviewed by Maciej.

        <rdar://problem/4961259>
        REGRESSION: Bumper Car 2.1.1 - Crash at WebCore::FrameLoader::receivedMainResourceError when encountering a invalid URL address

        (The crash was already fixed, this actually makes Bumper Car load the error page correctly.)

        This adds a "load counter" to the document loader and keeps the data source retained for as long as something is loading.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::dispatchWillSendRequest):
        Increase the load counter.

        (WebFrameLoaderClient::dispatchDidFinishLoading):
        (WebFrameLoaderClient::dispatchDidFailLoading):
        Decrease the load counter,

        * WebView/WebDocumentLoaderMac.h:
        * WebView/WebDocumentLoaderMac.mm:
        (WebDocumentLoaderMac::WebDocumentLoaderMac):

        (WebDocumentLoaderMac::attachToFrame):
        If the document loader has been detached, make sure to retain its data source here.

        (WebDocumentLoaderMac::detachFromFrame):
        Release the data source.

        (WebDocumentLoaderMac::increaseLoadCount):
        Retain the data source if load count was 0.

        (WebDocumentLoaderMac::decreaseLoadCount):
        Release the data source if load count becomes 0

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

13 years ago2007-03-07 Mark Rowe <mrowe@apple.com>
bdash [Thu, 8 Mar 2007 01:07:17 +0000 (01:07 +0000)]
2007-03-07  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej.

        Update check-for-global-initializers to ignore new debug initializers in bidi.o and kjs_events.o.

        * Scripts/check-for-global-initializers:

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

13 years agoUpdating the localized strings.
thatcher [Wed, 7 Mar 2007 23:33:03 +0000 (23:33 +0000)]
Updating the localized strings.

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

13 years agoFixing a comment.
thatcher [Wed, 7 Mar 2007 23:32:39 +0000 (23:32 +0000)]
Fixing a comment.

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

13 years ago2007-03-07 Oliver Hunt <oliver@apple.com>
oliver [Wed, 7 Mar 2007 23:03:19 +0000 (23:03 +0000)]
2007-03-07  Oliver Hunt  <oliver@apple.com>

        Reviewed by Antti.

        Reset mouse down/drag state variables on mouse button release

        Fixes <rdar://problem/5044654>: Drag out of some QuickTime plug-ins converting into image drag

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseReleaseEvent):

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

13 years agoWebCore:
adele [Wed, 7 Mar 2007 22:49:48 +0000 (22:49 +0000)]
WebCore:

        Reviewed by Darin.

        WebCore part of fix for:
        http://bugs.webkit.org/show_bug.cgi?id=10871
        http://bugs.webkit.org/show_bug.cgi?id=12677
        <rdar://problem/4823129> REGRESSION: IME key events different in nightly
        <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri

        * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Call handleInputMethodKeypress before actually dispatching the keypress event
          so that input methods have a chance to handle the event.
          If the input method handles the event (by marking or unmarking text), then we don't need to send the keypress event.
          If an input method doesn't handle the event, then we'll save the data we need to perform the correct action (like what text to insert or what selector to use)
          when we dispatch the keypress event.

        * dom/KeyboardEvent.h: Added Mac-specific KeypressCommand struct, so we can store command info during handleInputMethodKeypress, and use it during handleKeypress.
        (WebCore::KeyboardEvent::keypressCommand):
        (WebCore::KeyboardEvent::setKeypressCommand):

        * bridge/EditorClient.h:
        * editing/Editor.cpp:
        (WebCore::Editor::handleKeypress): Changed handleKeyPress to handleKeypress.
        (WebCore::Editor::handleInputMethodKeypress): Added.
        * editing/Editor.h:

        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress.
        (WebCore::SVGEmptyEditorClient::handleInputMethodKeypress): Added.

WebKit:

        Reviewed by Darin.

        WebKit part of fix for:
        http://bugs.webkit.org/show_bug.cgi?id=10871
        http://bugs.webkit.org/show_bug.cgi?id=12677
        <rdar://problem/4823129> REGRESSION: IME key events different in nightly
        <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _interceptEditingKeyEvent: shouldSaveCommand:]): Added shouldSaveCommand field to WebHTMLViewInterpretKeyEventsParameters.
          When shouldSaveCommand is true, we call interpretKeyEvents and in doCommandBySelector and insertText, we just save the information without performing any action.
          When shouldSaveCommand is false, we used the saved information and call doCommandBySelector and insertText directly.
          If there's no saved command data in the KeyboardEvent, call interpretKeyEvents, and honor the shouldSaveCommand argument.  This allows repeating keypress events
          to function normally.
        (-[WebHTMLView doCommandBySelector:]): If the WebHTMLViewInterpretKeyEventsParameters shouldSaveCommand field is set, then
          just save the selector information in the KeyboardEvent, and don't perform the action.
        (-[WebHTMLView insertText:]): ditto.
          insertText can be called from an input method or from normal key event processing
          If its from an input method, then we should go ahead and insert the text now.
          The only way we know if its from an input method is to check hasMarkedText.  There might be a better way to do this.

        * WebView/WebHTMLViewInternal.h: Added shouldSaveCommand argument.
        * WebView/WebViewInternal.h: ditto.

        * WebCoreSupport/WebEditorClient.h:
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress.  Call _interceptEditingKeyEvent with shouldSaveCommand:NO.
        (WebEditorClient::handleInputMethodKeypress):  Call _interceptEditingKeyEvent with shouldSaveCommand:YES.

WebKitQt:

        Reviewed by Darin.

        WebKitQT part of fix for:
        http://bugs.webkit.org/show_bug.cgi?id=10871
        http://bugs.webkit.org/show_bug.cgi?id=12677
        <rdar://problem/4823129> REGRESSION: IME key events different in nightly
        <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri

        * WebCoreSupport/EditorClientQt.cpp:
        (WebCore::EditorClientQt::handleKeypress): Changed handleKeyPress to handleKeypress.
        (WebCore::EditorClientQt::handleInputMethodKeypress): Added.
        * WebCoreSupport/EditorClientQt.h:

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

13 years ago Reviewed by Adam.
andersca [Wed, 7 Mar 2007 22:30:43 +0000 (22:30 +0000)]
    Reviewed by Adam.

        Add some assertions.

        * DumpRenderTree/DumpRenderTree.m:
        (-[WaitUntilDoneDelegate webView:didStartProvisionalLoadForFrame:]):
        (-[WaitUntilDoneDelegate webView:didCommitLoadForFrame:]):
        (-[WaitUntilDoneDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
        (-[WaitUntilDoneDelegate webView:didFailLoadWithError:forFrame:]):

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

13 years ago Reviewed by Darin.
rwlbuis [Wed, 7 Mar 2007 21:25:16 +0000 (21:25 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=12579
        WebKit fails SVG xml:base test

        Implement DOM3 properties baseURI and documentURI to fix
        the testcase in bug 12579.

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

13 years agoWebCore:
andersca [Wed, 7 Mar 2007 19:31:55 +0000 (19:31 +0000)]
WebCore:

        Reviewed by Brady.

        Remove some methods in FrameLoader that just calls down to the active document loader. Since each
        resource loader now has a pointer to its document loader, we can just call directly to the
        document loader.

        * WebCore.exp:
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest):
        (WebCore::MainResourceLoader::didReceiveResponse):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::SubresourceLoader):
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::didCancel):
        * loader/mac/NetscapePlugInStreamLoaderMac.mm:
        (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
        (WebCore::NetscapePlugInStreamLoader::didFail):
        (WebCore::NetscapePlugInStreamLoader::didCancel):

WebKit:

        Reviewed by Brady.

        Update to match WebCore.

        * Plugins/WebNetscapePluginStream.mm:
        (-[WebNetscapePluginStream start]):

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

13 years ago Build fix for non-multiple-thread folks.
ggaren [Wed, 7 Mar 2007 19:25:10 +0000 (19:25 +0000)]
    Build fix for non-multiple-thread folks.

        Use a shared global in the non-multiple-thread case.

        * wtf/FastMalloc.cpp:
        (WTF::isForbidden):
        (WTF::fastMallocForbid):
        (WTF::fastMallocAllow):

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

13 years ago Whoops, its actually prepare-ChangeLog
beidson [Wed, 7 Mar 2007 19:10:18 +0000 (19:10 +0000)]
    Whoops, its actually prepare-ChangeLog

        * coding/contributing.html:

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

13 years ago Reviewed by Anders
beidson [Wed, 7 Mar 2007 19:09:15 +0000 (19:09 +0000)]
    Reviewed by Anders

        Explicitly mention the prepare-Changelog step for contributing patches

        * coding/contributing.html:

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

13 years ago Reviewed by Geoff.
darin [Wed, 7 Mar 2007 19:07:40 +0000 (19:07 +0000)]
    Reviewed by Geoff.

        - change tests that depend on the order of iteration of built-in properties
          to sort explicitly so they don't depend on the order any more

        * fast/dom/Window/resources/window-appendages-cleared-results.html:
        * fast/dom/Window/window-appendages-cleared-expected.txt:

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

        * fast/js/regexp-caching-expected.txt:
        * fast/js/regexp-caching.html:

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

13 years ago Reviewed by Darin.
ap [Wed, 7 Mar 2007 18:32:11 +0000 (18:32 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=12953
        Import/convert 4XPath test suite

        Import the rest of the converted suite. The only remaining failures are due to
        incorrect node order, bug 12497.

        * fast/xpath/4XPath/Core/test_literal_expr.html: Added.
        * fast/xpath/4XPath/Core/test_location_path.html: Added.
        * fast/xpath/4XPath/Core/test_node_test.html: Added.
        * fast/xpath/4XPath/Core/test_nodeset_expr.html: Added.
        * fast/xpath/4XPath/Core/test_parser-expected.txt: Added.
        * fast/xpath/4XPath/Core/test_parser.html: Added.
        * fast/xpath/4XPath/Core/test_predicate_list.html: Added.
        * fast/xpath/4XPath/Core/test_step-expected.txt: Added.
        * fast/xpath/4XPath/Core/test_step.html: Added.

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

13 years ago * WebCoreSupport/FrameLoaderClientQt.h: Oops, forgot the header.
darin [Wed, 7 Mar 2007 16:40:27 +0000 (16:40 +0000)]
    * WebCoreSupport/FrameLoaderClientQt.h: Oops, forgot the header.

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

13 years ago Reviewed by Darin Adler.
ggaren [Wed, 7 Mar 2007 16:34:56 +0000 (16:34 +0000)]
    Reviewed by Darin Adler.

        Fixed ASSERT failure I just introduced.

        Made the fastMalloc isForbidden flag per thread. (Oops!) We expect that
        other threads will malloc while we're marking -- we just want to prevent
        our own marking from malloc'ing.

        * wtf/FastMalloc.cpp:
        (WTF::initializeIsForbiddenKey):
        (WTF::isForbidden):
        (WTF::fastMallocForbid):
        (WTF::fastMallocAllow):
        (WTF::fastMalloc):
        (WTF::fastCalloc):
        (WTF::fastFree):
        (WTF::fastRealloc):
        (WTF::do_malloc):

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

13 years agoJavaScriptCore:
ggaren [Wed, 7 Mar 2007 15:37:06 +0000 (15:37 +0000)]
JavaScriptCore:

        Reviewed by Maciej.

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

        Wrap pthread-specific assertion in #if USE(MULTIPLE_THREADS).

        * kjs/collector.cpp:
        (KJS::Collector::markMainThreadOnlyObjects):

WebCore:

        Reviewed by Maciej Stachowiak.

        Fixed <rdar://problem/4576242> | http://bugs.webkit.org/show_bug.cgi?id=12586
        PAC file: malloc deadlock sometimes causes a hang @ www.apple.com/pro/profiles/ (12586)

        No test because this is very difficult to repro, and the new ASSERTs in
        JavaScriptCore catch the underlying cause while running normal layout tests.

        This is a modified version of r14752 on the branch.

        The fix is to use a bit inside each node, instead of a hash table, to track
        which node subtrees are in the process of being marked. This avoids a call
        to malloc inside mark().

        * bindings/js/kjs_binding.cpp:
        (KJS::domObjects):
        (KJS::domNodesPerDocument):
        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNode::mark):
        * dom/Node.cpp:
        (WebCore::Node::Node):
        * dom/Node.h:

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

13 years agoLayoutTests:
ddkilzer [Wed, 7 Mar 2007 15:01:10 +0000 (15:01 +0000)]
LayoutTests:

        Reviewed by Darin.

        - LayoutTests part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
          WebArchiver - attempt to insert nil exception when archive empty iframe

        Tests using both dumpDOMAsWebArchive() and dumpSourceAsWebArchive() were added
        for this bug since a similar fix was suggested for the DOM case which was not
        needed.  The remaining changes are related to renaming dumpAsWebArchive() to
        dumpDOMAsWebArchive().

        * webarchive/archive-empty-frame-dom-expected.txt: Added.
        * webarchive/archive-empty-frame-dom.html: Added.
        * webarchive/archive-empty-frame-source-expected.txt: Added.
        * webarchive/archive-empty-frame-source.html: Added.
        * webarchive/resources/dump-webarchive.js: Renamed dumpAsWebArchive() to dumpDOMAsWebArchive().
        * webarchive/test-body-background-expected.txt: Ditto.
        * webarchive/test-body-background.html: Ditto.
        * webarchive/test-duplicate-resources-expected.txt: Ditto.
        * webarchive/test-frameset-expected.txt: Ditto.
        * webarchive/test-frameset.html: Ditto.
        * webarchive/test-img-src-expected.txt: Ditto.
        * webarchive/test-img-src.html: Ditto.
        * webarchive/test-input-src-expected.txt: Ditto.
        * webarchive/test-input-src.html: Ditto.
        * webarchive/test-link-href-expected.txt: Ditto.
        * webarchive/test-link-href.html: Ditto.
        * webarchive/test-object-data-expected.txt: Ditto.
        * webarchive/test-object-data.html: Ditto.
        * webarchive/test-script-src-expected.txt: Ditto.
        * webarchive/test-table-background-expected.txt: Ditto.
        * webarchive/test-table-background.html: Ditto.
        * webarchive/test-td-background-expected.txt: Ditto.
        * webarchive/test-td-background.html: Ditto.

WebKit:

        Reviewed by Darin.

        - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
          WebArchiver - attempt to insert nil exception when archive empty iframe

        When dealing with an iframe element with no src attribute, the element contains
        a src attribute in the DOM with a URL of "about:blank" and some HTML to implement
        the blank page.  In the original page source, however, the iframe element does
        not include a src attribute, which caused a nil archive to be returned for the
        childFrameArchive and thus caused the bug.  The fix is a simple nil check.

        Test: webarchive/archive-empty-frame-source.html

        * WebView/WebArchiver.mm:
        (+ (NSArray *)_subframeArchivesForFrame:(WebFrame *)frame): Don't add childFrameArchive
        to the subframeArchives array if it is nil.

WebKitTools:

        Reviewed by Darin.

        - WebKitTools part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
          WebArchiver - attempt to insert nil exception when archive empty iframe

        The dumpDOMAsWebArchive() test method uses the DOMDocument as a basis for creating
        a webarchive while the dumpSourceAsWebArchive() test method uses the original
        dataSource (page source) to create a webarchive.  Most tests currently use
        dumpDOMAsWebArchive() since this is what Safari does when saving a web page as a
        webarchive.

        * DumpRenderTree/DumpRenderTree.m: Renamed dumpAsWebArchive to dumpDOMAsWebArchive.
        Added dumpSourceAsWebArchive.
        (dump):
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (-[LayoutTestController dumpDOMAsWebArchive]):
        (-[LayoutTestController dumpSourceAsWebArchive]):
        (runTest):

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

13 years agoLayoutTests:
ddkilzer [Wed, 7 Mar 2007 14:25:57 +0000 (14:25 +0000)]
LayoutTests:

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12992
          Test failure (r19972):  LayoutTests/svg/custom/struct-use-09-b.svg

        * svg/custom/struct-use-09-b.svg: Changed to use Helvetica instead of 'Arial Black', Arial.
        * svg/custom/struct-use-09-b-expected.checksum: Update results.
        * svg/custom/struct-use-09-b-expected.png: Ditto.
        * svg/custom/struct-use-09-b-expected.txt: Ditto.

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

13 years ago * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt:...
darin [Wed, 7 Mar 2007 14:18:42 +0000 (14:18 +0000)]
    * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::userAgent):
        Try to fix the build by correcting the parameter here.

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

13 years ago2007-03-07 Shrikant Gangoda <shrikant.gangoda@celunite.com>
bdash [Wed, 7 Mar 2007 09:46:38 +0000 (09:46 +0000)]
2007-03-07  Shrikant Gangoda  <shrikant.gangoda@celunite.com>

        Reviewed by Maciej.

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

        Wrap pthread-specific assertion in #if USE(MULTIPLE_THREADS).

        * kjs/collector.cpp:
        (KJS::Collector::markMainThreadOnlyObjects):

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

13 years ago Reviewed by mjs
justing [Wed, 7 Mar 2007 09:05:54 +0000 (09:05 +0000)]
    Reviewed by mjs

        <http://bugs.webkit.org/show_bug.cgi?id=8592>
        Extra line left after deleting whitespace:pre text

        Re-enabled the test and removed a FIXME:
        * editing/deleting/merge-whitespace-pre-expected.checksum:
        * editing/deleting/merge-whitespace-pre-expected.png:
        * editing/deleting/merge-whitespace-pre-expected.txt:
        * editing/deleting/merge-whitespace-pre.html: Added.
        * editing/deleting/merge-whitespace-pre.html-disabled: Removed.

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

13 years agoFix an oversight in the spelling over oversight.
bdash [Wed, 7 Mar 2007 08:43:24 +0000 (08:43 +0000)]
Fix an oversight in the spelling over oversight.

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

13 years ago This patch reworks the WebCore memory cache to significantly reduce the amoun...
hyatt [Wed, 7 Mar 2007 07:42:45 +0000 (07:42 +0000)]
    This patch reworks the WebCore memory cache to significantly reduce the amount of memory consumed by
        images in the cache and to enhance the accuracy of the cache size as an absolute bound for the objects
        contained within it.  WebCore's memory use over time should significantly improve as a result of these
        changes.

        Cached resources now have both an encoded size (the original data stream) and a decoded size (an estimate of
        the amount of memory consumed by an expanded version of that resource, e.g., the decoded frames of an image).
        Both sizes now count towards the total size of the object and towards the allowed memory cache total.

        By including both totals the reported size of resources will now be larger, and the cache will therefore become
        much more aggressive about flushing.

        Objects are stored in size-adjusted and popularity-aware LRU lists as before, but encoded size is now always
        used when determining the correct LRU list.

        The flush algorithm for the memory cache has been rewritten to first destroy decoded data before evicting
        resources.  By being able to compact its resources without evicting them, the memory cache can now hold many more
        unique resources (encoded) in the same amount of space.  Depending on how much of a hit we want to take from
        re-decoding images, the memory cache could in theory have its size significantly reduced now while still holding
        more resources than it did at the larger size!

        Reviewed by mjs

        * WebCore.xcodeproj/project.pbxproj:
        * loader/Cache.cpp:
        (WebCore::Cache::requestResource):
        (WebCore::Cache::prune):
        (WebCore::Cache::remove):
        (WebCore::Cache::lruListFor):
        (WebCore::Cache::adjustSize):
        * loader/Cache.h:
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::data):
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::CachedImage):
        (WebCore::CachedImage::allReferencesRemoved):
        (WebCore::CachedImage::clear):
        (WebCore::CachedImage::data):
        (WebCore::CachedImage::destroyDecodedData):
        (WebCore::CachedImage::decodedSize):
        (WebCore::CachedImage::decodedSizeChanged):
        (WebCore::CachedImage::shouldPauseAnimation):
        * loader/CachedImage.h:
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::deref):
        (WebCore::CachedResource::setEncodedSize):
        * loader/CachedResource.h:
        (WebCore::CachedResource::allReferencesRemoved):
        (WebCore::CachedResource::size):
        (WebCore::CachedResource::encodedSize):
        (WebCore::CachedResource::decodedSize):
        (WebCore::CachedResource::destroyDecodedData):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::data):
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::data):
        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::BitmapImage):
        (WebCore::BitmapImage::~BitmapImage):
        (WebCore::BitmapImage::destroyDecodedData):
        (WebCore::BitmapImage::pruneDecodedDataIfNeeded):
        (WebCore::BitmapImage::cacheFrame):
        (WebCore::BitmapImage::setNativeData):
        (WebCore::BitmapImage::shouldAnimate):
        (WebCore::BitmapImage::advanceAnimation):
        * platform/graphics/BitmapImage.h:
        (WebCore::BitmapImage::decodedSize):
        * platform/graphics/Image.cpp:
        (WebCore::Image::Image):
        * platform/graphics/Image.h:
        (WebCore::Image::destroyDecodedData):
        (WebCore::Image::decodedSize):
        (WebCore::Image::imageObserver):
        * platform/graphics/ImageAnimationObserver.h: Removed.
        * platform/graphics/ImageObserver.h: Added.
        (WebCore::ImageObserver::~ImageObserver):
        * platform/graphics/svg/SVGImage.cpp:
        (WebCore::SVGImage::SVGImage):
        * platform/graphics/svg/SVGImage.h:

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

13 years ago Reviewed by Sam Weinig.
ap [Wed, 7 Mar 2007 06:03:27 +0000 (06:03 +0000)]
    Reviewed by Sam Weinig.

        http://bugs.webkit.org/show_bug.cgi?id=12987
        Fix and import 4XPath test_numeric_expr.html

        * xml/XPathPredicate.cpp:
        (WebCore::XPath::Negative::doEvaluate): Convert the argument to number.
        (WebCore::XPath::NumericOp::doEvaluate): Convert the arguments to numbers. Use a correct operation for mod.
        * xml/XPathStep.cpp:
        (WebCore::XPath::Step::nodesInAxis): Do not append parent node if there is none.
        * xml/XPathValue.cpp:
        (WebCore::XPath::Value::toNumber): Do not convert to DeprecatedString just to trim whitespace and to convert to double.
        * platform/DeprecatedString.cpp:
        (WebCore::DeprecatedStringData::makeAscii): Added a FIXME about unreliable makeAscii() behavior.

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

13 years agoFix broken layout test results.
bdash [Wed, 7 Mar 2007 05:55:30 +0000 (05:55 +0000)]
Fix broken layout test results.

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

13 years ago Reviewed by Adele.
mjs [Wed, 7 Mar 2007 05:36:21 +0000 (05:36 +0000)]
    Reviewed by Adele.

        <rdar://problem/4619663> REGRESSION (NativePopup): Popup menu doesn't draw at the correct vertical position (9816)

        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::show): Make a temporary dummy view with the
        passed in rect, since AppKit will use the view bounds to determine
        what area to exclude when popping up a menu moved to the top of
        the screen.

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

13 years ago2007-03-07 Mark Rowe <mrowe@apple.com>
bdash [Wed, 7 Mar 2007 05:25:14 +0000 (05:25 +0000)]
2007-03-07  Mark Rowe  <mrowe@apple.com>

        Build fix.  Rebuild against 10.4 SDK.

        * libWebKitSystemInterface.a:

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

13 years agoJavaScriptCore:
ggaren [Wed, 7 Mar 2007 04:25:49 +0000 (04:25 +0000)]
JavaScriptCore:

        Reviewed by Maciej Stachowiak.

        Fixed all known crashers exposed by run-webkit-tests --threaded. This covers:

        <rdar://problem/4565394> | http://bugs.webkit.org/show_bug.cgi?id=12585
            PAC file: after closing a window that contains macworld.com, new window
            crashes (KJS::PropertyMap::mark()) (12585)
        <rdar://problem/4571215> | http://bugs.webkit.org/show_bug.cgi?id=9211
            PAC file: Crash occurs when clicking on the navigation tabs at http://www.businessweek.com/ (9211)
        <rdar://problem/4557926>
            PAC file: Crash occurs when attempting to view image in slideshow mode
            at http://d.smugmug.com/gallery/581716 ( KJS::IfNode::execute (KJS::
            ExecState*) + 312) if you use a PAC file

        (1) Added some missing JSLocks, along with related ASSERTs.

        (2) Fully implemented support for objects that can only be garbage collected
        on the main thread. So far, only WebCore uses this. We can add it to API
        later if we learn that it's needed.

        The implementation uses a "main thread only" flag inside each object. When
        collecting on a secondary thread, the Collector does an extra pass through
        the heap to mark all flagged objects before sweeping. This solution makes
        the common case -- flag lots of objects, but never collect on a secondary
        thread -- very fast, even though the uncommon case of garbage collecting
        on a secondary thread isn't as fast as it could be. I left some notes
        about how to speed it up, if we ever care.

        For posterity, here are some things I learned about GC while investigating:

        * Each collect must either mark or delete every heap object. "Zombie"
        objects, which are neither marked nor deleted, raise these issues:

            * On the next pass, the conservative marking algorithm might mark a
            zombie, causing it to mark freed objects.

            * The client might try to use a zombie, which would seem live because
            its finalizer had not yet run.

        * A collect on the main thread is free to delete any object. Presumably,
        objects allocated on secondary threads have thread-safe finalizers.

        * A collect on a secondary thread must not delete thread-unsafe objects.

        * The mark function must be thread-safe.

        Line by line comments:

        * API/JSObjectRef.h: Added comment specifying that the finalize callback
        may run on any thread.

        * JavaScriptCore.exp: Nothing to see here.

        * bindings/npruntime.cpp:
        (_NPN_GetStringIdentifier): Added JSLock.

        * bindings/objc/objc_instance.h:
        * bindings/objc/objc_instance.mm:
        (ObjcInstance::~ObjcInstance): Use an autorelease pool. The other callers
        to CFRelease needed one, too, but they were dead code, so I removed them
        instead. (This fixes a leak seen while running run-webkit-tests --threaded,
        although I don't think it's specifically a threading issue.)

        * kjs/collector.cpp:
        (KJS::Collector::collectOnMainThreadOnly): New function. Tells the collector
        to collect a value only if it's collecting on the main thread.
        (KJS::Collector::markMainThreadOnlyObjects): New function. Scans the heap
        for "main thread only" objects and marks them.

        * kjs/date_object.cpp:
        (KJS::DateObjectImp::DateObjectImp): To make the new ASSERTs happy, allocate
        our globals on the heap, avoiding a seemingly unsafe destructor call at
        program exit time.
        * kjs/function_object.cpp:
        (FunctionPrototype::FunctionPrototype): ditto

        * kjs/interpreter.cpp:
        (KJS::Interpreter::mark): Removed boolean parameter, which was an incomplete
        and arguably hackish way to implement markMainThreadOnlyObjects() inside WebCore.
        * kjs/interpreter.h:

        * kjs/identifier.cpp:
        (KJS::identifierTable): Added some ASSERTs to check for thread safety
        problems.

        * kjs/list.cpp: Added some ASSERTs to check for thread safety problems.
        (KJS::allocateListImp):
        (KJS::List::release):
        (KJS::List::append):
        (KJS::List::empty): Make the new ASSERTs happy.

        * kjs/object.h:
        (KJS::JSObject::JSObject): "m_destructorIsThreadSafe" => "m_collectOnMainThreadOnly".
        I removed the constructor parameter because m_collectOnMainThreadOnly,
        like m_marked, is a Collector bit, so only the Collector should set or get it.

        * kjs/object_object.cpp:
        (ObjectPrototype::ObjectPrototype): Make the ASSERTs happy.
        * kjs/regexp_object.cpp:
        (RegExpPrototype::RegExpPrototype): ditto

        * kjs/ustring.cpp: Added some ASSERTs to check for thread safety problems.
        (KJS::UCharReference::ref):
        (KJS::UString::Rep::createCopying):
        (KJS::UString::Rep::create):
        (KJS::UString::Rep::destroy):
        (KJS::UString::null): Make the new ASSERTs happy.
        * kjs/ustring.h:
        (KJS::UString::Rep::ref): Added some ASSERTs to check for thread safety problems.
        (KJS::UString::Rep::deref):

        * kjs/value.h:
        (KJS::JSCell::JSCell):

JavaScriptGlue:

        Reviewed by Maciej Stachowiak.

        Fixed all known crashers exposed by run-webkit-tests --threaded while using
        a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for
        more details.

        * JSBase.cpp:
        (JSBase::Release): Lock when deleting, because we may be deleting an object
        (like a JSRun) that holds thread-unsafe data.

        * JSUtils.cpp:
        (CFStringToUString): Don't lock, because our caller locks. Also, locking
        inside a function that returns thread-unsafe data by copy will only mask
        threading problems.

        * JavaScriptGlue.cpp:
        (JSRunEvaluate): Added missing JSLock.
        (JSRunCheckSyntax): Converted to JSLock.
        * JavaScriptGlue.xcodeproj/project.pbxproj:

WebCore:

        Reviewed by Maciej Stachowiak.

        Fixed all known crashers exposed by run-webkit-tests --threaded [*]. See
        JavaScriptCore ChangeLog for more details.

        * bindings/js/kjs_binding.cpp:
        (KJS::domNodesPerDocument): Added thread safety ASSERT.
        (KJS::ScriptInterpreter::mark): Removed obsolete logic for marking unsafe
        objects when collecting on a secondary thread. The Collector takes care
        of this now.

        * bindings/js/kjs_binding.h:
        (KJS::DOMObject::DOMObject): Used new API for specifying that WebCore
        objects should be garbage collected on the main thread only.

        * bindings/js/kjs_window.cpp:
        (KJS::ScheduledAction::execute): Moved JSLock to cover implementedsCall() call,
        which, for some subclasses, ends up allocating garbage collected objects.
        (This fix was speculative. I didn't actually see a crash from this.)
        (KJS::Window::timerFired): Added JSLock around ScheduleAction destruction,
        since it destroys a KJS::List.

        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject setException:]): Added JSLock. (This fix was speculative.
        I didn't actually see a crash from this.)

        * bridge/mac/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame evaluateWebScript:]): Added JSLock. (This fix
        was speculative. I didn't actually see a crash from this.)

        * dom/Document.cpp:
        (WebCore::Document::~Document): Added JSLock around modification to
        domNodesPerDocument(), which can be accessed concurrently during garbage
        collection.
        * dom/Node.cpp:
        (WebCore::Node::setDocument): ditto.

        [*] fast/js/toString-stack-overflow.html is an exception. --threaded mode
        crashes this test because it causes the garbage collector to run frequently,
        and this test crashes if you happen to garbage collect while it's running.
        This is a known issue with stack overflow during the mark phase. It's
        not related to threading.

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

13 years ago Reviewed by Brady
kdecker [Wed, 7 Mar 2007 04:18:16 +0000 (04:18 +0000)]
    Reviewed by Brady

        Fixed: <rdar://problem/4126976> private keys imported by WebKit should not be accessible by all applications

        * libWebKitSystemInterface.a:

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

13 years ago2007-03-07 Mark Rowe <mrowe@apple.com>
bdash [Wed, 7 Mar 2007 04:16:09 +0000 (04:16 +0000)]
2007-03-07  Mark Rowe  <mrowe@apple.com>

        Add dumpAsText to test to match expected results.

        * fast/dom/Window/window-location-replace-functions.html:

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

13 years ago2007-03-06 Mark Rowe <mrowe@apple.com>
bdash [Wed, 7 Mar 2007 04:07:42 +0000 (04:07 +0000)]
2007-03-06  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Fix http://bugs.webkit.org/show_bug.cgi?id=12942
        Bug 12942: ASSERTION FAILURE: qantas.com.au changing selected item in <select> via JS

        Test: fast/dom/select-selectedIndex-bug-12942.html.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::recalcListItems): Reset m_lastOnChangeIndex when recalculating list items.
        * html/HTMLSelectElement.h:

2007-03-06  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Test for http://bugs.webkit.org/show_bug.cgi?id=12942
        Bug 12942: ASSERTION FAILURE: qantas.com.au changing selected item in <select> via JS

        * fast/dom/select-selectedIndex-bug-12942-expected.txt: Added.
        * fast/dom/select-selectedIndex-bug-12942.html: Added.

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

13 years ago Rubberstamped by Kevin Decker
beidson [Wed, 7 Mar 2007 04:05:05 +0000 (04:05 +0000)]
    Rubberstamped by Kevin Decker

        20,000!

        * ChangeLog: Point out revision 20,000

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

13 years ago Not reviewed.
kjk [Wed, 7 Mar 2007 04:04:25 +0000 (04:04 +0000)]
    Not reviewed.

        Gdk build fix.

        * loader/gdk/FrameLoaderClientGdk.cpp: update userAgent() signature.
        (WebCore::FrameLoaderClientGdk::userAgent):
        * loader/gdk/FrameLoaderClientGdk.h: ditto.

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

13 years ago2007-03-06 Mitz Pettel <mitz@webkit.org>
bdash [Wed, 7 Mar 2007 03:40:57 +0000 (03:40 +0000)]
2007-03-06  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12986
          REGRESSION(NativeListBox): Listboxes not updated when resized dynamically

        Test: fast/forms/select-change-listbox-size.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::parseMappedAttribute): Reattach on list box size change.

2007-03-06  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Adele.

        - test for http://bugs.webkit.org/show_bug.cgi?id=12986
          REGRESSION(NativeListBox): Listboxes not updated when resized dynamically

        * fast/forms/select-change-listbox-size-expected.checksum: Added.
        * fast/forms/select-change-listbox-size-expected.png: Added.
        * fast/forms/select-change-listbox-size-expected.txt: Added.
        * fast/forms/select-change-listbox-size.html: Added.

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

13 years ago2007-03-06 Mitz Pettel <mitz@webkit.org>
bdash [Wed, 7 Mar 2007 03:35:03 +0000 (03:35 +0000)]
2007-03-06  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12885
          REGRESSION (r19696): Incomplete background repaint

        Tests: fast/repaint/content-into-overflow.html
               fast/repaint/overflow-into-content.html

        Changed repaintAfterLayoutIfNeeded() to take, in addition to the clipped overflow
        rect, the unclipped border box plus outline, and to repaint any areas that
        were added or removed from that box, in addition to any areas added or removed
        from the clipped overflow rect.

        * platform/graphics/svg/SVGResourceMarker.cpp:
        (WebCore::SVGResourceMarker::draw):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::absoluteClippedOverflowRect): Renamed getAbsoluteRepaintRect() to
        this.
        * rendering/RenderBox.h:
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::absoluteClippedOverflowRect):
        * rendering/RenderFlow.h:
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::layout):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::layout):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::layout):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::checkForRepaintOnResize):
        (WebCore::RenderLayer::updateLayerPositions):
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaint):
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
        (WebCore::RenderObject::absoluteClippedOverflowRect):
        (WebCore::RenderObject::absoluteOutlineBox):
        * rendering/RenderObject.h:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::layout):
        (WebCore::RenderPath::absoluteClippedOverflowRect):
        (WebCore::RenderPath::absoluteRects):
        (WebCore::RenderPath::drawMarkersIfNeeded):
        * rendering/RenderPath.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
        (WebCore::RenderSVGContainer::absoluteRects):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGHiddenContainer.cpp:
        (WebCore::RenderSVGHiddenContainer::absoluteClippedOverflowRect):
        * rendering/RenderSVGHiddenContainer.h:
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::imageChanged):
        (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
        (WebCore::RenderSVGImage::absoluteRects):
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::absoluteClippedOverflowRect):
        (WebCore::RenderSVGText::layout):
        (WebCore::RenderSVGText::absoluteRects):
        * rendering/RenderSVGText.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::absoluteClippedOverflowRect):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::absoluteClippedOverflowRect):
        * rendering/RenderTableCol.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::absoluteClippedOverflowRect):
        * rendering/RenderTableRow.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteClippedOverflowRect):
        * rendering/RenderText.h:

2007-03-06  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - repaint tests and updated result for http://bugs.webkit.org/show_bug.cgi?id=12885
          REGRESSION (r19696): Incomplete background repaint

        * fast/repaint/bugzilla-6278-expected.checksum:
        * fast/repaint/bugzilla-6278-expected.png:
        * fast/repaint/content-into-overflow-expected.checksum: Added.
        * fast/repaint/content-into-overflow-expected.png: Added.
        * fast/repaint/content-into-overflow-expected.txt: Added.
        * fast/repaint/content-into-overflow.html: Added.
        * fast/repaint/overflow-into-content-expected.checksum: Added.
        * fast/repaint/overflow-into-content-expected.png: Added.
        * fast/repaint/overflow-into-content-expected.txt: Added.
        * fast/repaint/overflow-into-content.html: Added.

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

13 years ago2007-03-06 Ian Eng <ian.eng.webkit@gmail.com>
bdash [Wed, 7 Mar 2007 03:30:37 +0000 (03:30 +0000)]
2007-03-06  Ian Eng <ian.eng.webkit@gmail.com>

        Reviewed by Maciej.

        - Tests for http://bugs.webkit.org/show_bug.cgi?id=12720
        Bug 12720: Re-defining window.location.toString function keeps re-loading forever

        * fast/dom/Window/window-location-replace-functions-expected.txt: Added.
        * fast/dom/Window/window-location-replace-functions.html: Added.

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

13 years ago2007-03-06 Ian Eng <ian.eng.webkit@gmail.com>
bdash [Wed, 7 Mar 2007 03:15:26 +0000 (03:15 +0000)]
2007-03-06  Ian Eng <ian.eng.webkit@gmail.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=12720
        Bug 12720: Re-defining window.location.toString function keeps re-loading forever

        * bindings/js/kjs_window.cpp:
        Disallow replacing functions in LocationTable, and return early without updating URL.

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

13 years ago Reviewed by Maciej Stachowiak.
ggaren [Wed, 7 Mar 2007 02:27:35 +0000 (02:27 +0000)]
    Reviewed by Maciej Stachowiak.

        2% speedup on super accurate JS iBench.

        (KJS::Collector::collect): Removed anti-optimization to call
        pthread_is_threaded_np() before calling pthread_main_np(). Almost all
        apps have more than one thread, so the extra call is actually worse.
        Interestingly, even the single-threaded testkjs shows a speed gain
        from removing the pthread_is_threaded_np() short-circuit. Not sure why.

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

13 years agoLayoutTests:
kmccullo [Wed, 7 Mar 2007 02:22:20 +0000 (02:22 +0000)]
LayoutTests:

        Reviewed by Darin.

        <http://bugs.webkit.org/show_bug.cgi?id=12686>
        REGRESSION: Bloglines.com Feeds tab cannot expand folders in TOT
        - Now all class constructors implement implementsHasInstance.

        * fast/dom/dom-instanceof-expected.txt: Added.
        * fast/dom/dom-instanceof.html: Added.

WebCore:

        Reviewed by Darin.

        <http://bugs.webkit.org/show_bug.cgi?id=12686>
        REGRESSION: Bloglines.com Feeds tab cannot expand folders in TOT
        - Now all class constructors implement implementsHasInstance.

        * bindings/scripts/CodeGeneratorJS.pm:

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

13 years agoReviewed by Rob & Oliver.
zimmermann [Wed, 7 Mar 2007 00:27:46 +0000 (00:27 +0000)]
Reviewed by Rob & Oliver.

Preparations for the new SVG text engine.

Handle baseline-shift / kerning css values correctly.
Recognize missing svg presentation attribute "font-size-adjust".
Add all missing svg<->css property mappings in mapToEntry().

Doesn't affect any layout test (as these properties are not used w/o my text patch).
While I'm at it, unify the macro names (RS_ -> SVG_RS_) & cleanup style a bit.

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

13 years agoLayoutTests:
justing [Wed, 7 Mar 2007 00:11:50 +0000 (00:11 +0000)]
LayoutTests:

        Reviewed by kevin

        <http://bugs.webkit.org/show_bug.cgi?id=12245>
        FCKeditor: Remove Format sometimes doesn't work
        <rdar://problem/4786404>
        Underline style is not removed from selection after performing Remove Format

        Added:
        * editing/execCommand/4786404-1-expected.checksum: Added.
        * editing/execCommand/4786404-1-expected.png: Added.
        * editing/execCommand/4786404-1-expected.txt: Added.
        * editing/execCommand/4786404-1.html: Added.
        * editing/execCommand/4786404-2-expected.checksum: Added.
        * editing/execCommand/4786404-2-expected.png: Added.
        * editing/execCommand/4786404-2-expected.txt: Added.
        * editing/execCommand/4786404-2.html: Added.
        Demonstrate fixes:
        * editing/execCommand/4920488-expected.checksum:
        * editing/execCommand/4920488-expected.png:
        * editing/execCommand/4920488-expected.txt:
        * editing/execCommand/4920742-1-expected.checksum:
        * editing/execCommand/4920742-1-expected.png:
        * editing/execCommand/4920742-1-expected.txt:
        * editing/execCommand/remove-formatting-2-expected.checksum:
        * editing/execCommand/remove-formatting-2-expected.png:
        * editing/execCommand/remove-formatting-2-expected.txt:
        Ditto, also added a FIXME:
        * editing/execCommand/remove-formatting-expected.checksum:
        * editing/execCommand/remove-formatting-expected.png:
        * editing/execCommand/remove-formatting-expected.txt:
        * editing/execCommand/remove-formatting.html:

WebCore:

        Reviewed by kevin

        <http://bugs.webkit.org/show_bug.cgi?id=12245>
        FCKeditor: Remove Format sometimes doesn't work
        <rdar://problem/4786404>
        Underline style is not removed from selection after performing Remove Format

        * editing/Editor.cpp:
        (WebCore::Editor::removeFormattingAndStyle): Re-wrote this.

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

13 years agoReviewed by Oliver.
zimmermann [Tue, 6 Mar 2007 23:45:03 +0000 (23:45 +0000)]
Reviewed by Oliver.

Add new <use> layout tests. (forgot in last commit)

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

13 years agoReviewed by Oliver.
zimmermann [Tue, 6 Mar 2007 23:40:49 +0000 (23:40 +0000)]
Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=12979
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12981

Guard against registering pending resources with empty id.
Be careful with calling recalcStyle() in SVGUseElement, when change is "Detach" we
have to use special code, as calling attach() on the shadow tree root element will crash,
because it has no (direct) parent node, only a shadow parent node element.

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

13 years ago Reviewed by Adele.
kdecker [Tue, 6 Mar 2007 22:38:17 +0000 (22:38 +0000)]
    Reviewed by Adele.

        Fixed: <rdar://problem/5041660> REGRESSION: <keygen> element broken, prevents users from signing up for Thawte email certs

        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap): Added <keygen> to the DOM bindings so it can be accessed from Objective-C.
        * css/html4.css: Apply the look of the <select> element to <keygen>.
        * html/HTMLElementFactory.cpp:
        (WebCore::keygenConstructor): Added.
        (WebCore::createFunctionMap): Added keygen.
        * html/HTMLSelectElement.cpp: Made const typeAheadTimeout variable static const.
        (WebCore::HTMLSelectElement::HTMLSelectElement):  Fix both HTMLSelectElement constructors to initialize the
         same number of member variables. The fact that some fields were not initialized could (and would) crash the
         keygen element when selecting different items. Also removed m_typedString(String()) from the constructor
         initialization because this is not needed.

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

13 years agoReviewed by Mitz.
zimmermann [Tue, 6 Mar 2007 21:48:12 +0000 (21:48 +0000)]
Reviewed by Mitz.
Remove an alert() which got accidently added in my last commit.

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

13 years ago Reviewed by Darin
sullivan [Tue, 6 Mar 2007 19:35:17 +0000 (19:35 +0000)]
    Reviewed by Darin

        Made WebAuthenticationHandler.h SPI so Safari can call it directly.

        * WebKit.exp:
        added .objc_class_name_WebPanelAuthenticationHandler
        * WebKit.xcodeproj/project.pbxproj:
        changed status of WebAuthenticationHandler.h from "project" to "private"

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

13 years ago Reviewed by Darin.
kmccullo [Tue, 6 Mar 2007 19:29:24 +0000 (19:29 +0000)]
    Reviewed by Darin.

        - Rename a function to clarify its purpose.

        * WebView/WebView.mm:
        (+[WebView registerURLSchemeAsLocal:]):
        * WebView/WebViewPrivate.h:

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

13 years ago Reviewed by Darin.
kmccullo [Tue, 6 Mar 2007 19:28:46 +0000 (19:28 +0000)]
    Reviewed by Darin.

        - Rename a function to clarify its purpose.

        * WebCore.exp:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::registerURLSchemeAsLocal):
        * loader/FrameLoader.h:

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

13 years ago Build fix.
aroben [Tue, 6 Mar 2007 10:27:05 +0000 (10:27 +0000)]
    Build fix.

        * WebCore.exp: Updated symbols.

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

13 years ago Reviewed by Anders.
aroben [Tue, 6 Mar 2007 09:57:06 +0000 (09:57 +0000)]
    Reviewed by Anders.

        Added a parameter to all StringTruncator methods to specify whether
        rounding hacks should be on or off.

        No layout test possible.

        * platform/StringTruncator.cpp:
        (WebCore::stringWidth): Added disableRoundingHacks parameter.
        (WebCore::truncateString): Ditto.
        (WebCore::StringTruncator::centerTruncate): Ditto.
        (WebCore::StringTruncator::rightTruncate): Ditto.
        (WebCore::StringTruncator::width): Ditto.
        * platform/StringTruncator.h: Ditto.
        * platform/mac/FileChooserMac.mm:
        (WebCore::FileChooser::basenameForWidth): Pass in false to
        centerTruncate so that the truncation matches the way the text will be
        rendered.

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

13 years agoLayoutTests:
andersca [Tue, 6 Mar 2007 09:05:42 +0000 (09:05 +0000)]
LayoutTests:

        Reviewed by Maciej.

        <rdar://problem/5035045>
        REGRESSION: WebKit browser doesn't display image at http://www.metoffice.gov.uk/weather/satellite/index.html

        Add some tests where image elements have id _and_ name elements.

        * fast/dom/HTMLDocument/document-special-properties-expected.txt:
        * fast/dom/HTMLDocument/document-special-properties.html:

WebCore:

        Reviewed by Maciej.

        <rdar://problem/5035045>
        REGRESSION: WebKit browser doesn't display image at http://www.metoffice.gov.uk/weather/satellite/index.html

        It turns out WinIE does allow you to access images by their id as special document properties. However, this is only
        allowed when the element also has a name attribute. The value of the name attribute is ignored and can even be empty!

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::namedItemGetter):
        Return jsUndefined() if the collection is empty.

        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        (WebCore::HTMLImageElement::insertedIntoDocument):
        (WebCore::HTMLImageElement::removedFromDocument):
        * html/HTMLImageElement.h:
        Add the id attribute value to the extra named item map.

        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::traverseNextItem):
        Check for images with name attributes that match, as well as elements with id attributes that match where
        the element also has a name attribute.

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

13 years agoWebCore:
andersca [Tue, 6 Mar 2007 08:37:36 +0000 (08:37 +0000)]
WebCore:

        Reviewed by Adam.

        WebCore part of patch to make it possible to have different user agents for different URLs.

        * bindings/js/kjs_navigator.cpp:
        (KJS::Navigator::getValueProperty):
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::initScriptIfNeeded):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::setLoading):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::userAgent):
        (WebCore::FrameLoader::loadResourceSynchronously):
        (WebCore::FrameLoader::applyUserAgent):
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyFrameLoaderClient::userAgent):

WebKit:

        Reviewed by Adam.

        Update for WebCore changes.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::userAgent):

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

13 years agoLayoutTests:
kmccullo [Tue, 6 Mar 2007 07:04:16 +0000 (07:04 +0000)]
LayoutTests:

        Reviewed by Mark and Dave H.

- rdar://problem/5038491
        An oversite of the security fix that prevented remote from loading local is that it
        prevents user style sheets when the site is remote.  This fixes that.

        * http/tests/security/local-user-CSS-from-remote-expected.txt: Added.
        * http/tests/security/local-user-CSS-from-remote.html: Added.

WebCore:

        Reviewed by Mark and Dave H.

        - rdar://problem/5038491
        An oversite of the security fix that prevented remote from loading local is that it
        prevents user style sheets when the site is remote.  This fixes that.

        * loader/Cache.cpp: Propogate and check user style sheet flag.
        (WebCore::createResource):
        (WebCore::Cache::requestResource):
        * loader/Cache.h: Propogate user style sheet flag.
        * loader/CachedCSSStyleSheet.cpp: Propogate user style sheet flag.
        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
        * loader/CachedCSSStyleSheet.h: Propogate user style sheet flag.
        * loader/DocLoader.cpp: Propogate user style sheet flag.
        (WebCore::DocLoader::requestResource):
        * loader/SubresourceLoader.cpp: Propogate and check user style sheet flag.
        (WebCore::SubresourceLoader::create):
        * loader/SubresourceLoader.h: Add check for user style sheet flag.
        * loader/loader.cpp: Propogate user style sheet flag.
        (WebCore::Loader::load):
        (WebCore::Loader::servePendingRequests):
        * loader/loader.h: Propogate user style sheet flag.

WebKitTools:

        Reviewed by Mark and Dave H.

        - rdar://problem/4922454
        - This fixes a security issue by making remote referrers not able to access local
        resources, unless they register their schemes to be treated as local. The result is
        that those schemes can access local resources and cannot be accessed by remote
        referrers.
        Because this behavior is new a link-on-or-after check is made to determine if the
        app should use the older, less safe, behavior.

        * DumpRenderTree/DumpRenderTree.m: Add ability to set user style sheet to DRT.
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (+[LayoutTestController webScriptNameForSelector:]):
        (-[LayoutTestController setUserStyleSheetLocation:]):
        (-[LayoutTestController setUserStyleSheetEnabled:]):

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

13 years agoReviewed by Darin.
zimmermann [Tue, 6 Mar 2007 01:35:17 +0000 (01:35 +0000)]
Reviewed by Darin.

Fix all (except one) known <use> bug. The remaining bug (12630) is not crucical at all.
Enable <use> again as default SVG feature, as discussed on webkit-dev.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=12936 (Master bug used to track all current use problems.)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12926 (transform attribute not respected in nested <use> elements)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12267 (getElementById broken for <use>)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12916 (use instance in symbol definition does not work)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12917 (mouseout event does not occur after scaling use instance)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12838 (SVG <use> DOM broken for script)

Added test: svg/custom/use-nested-transform.svg
Added test: svg/custom/struct-use-09-b.svg (not yet official W3C-SVG-1.1 testcase)
Fixes test: svg/custom/use-elementInstance-event-target.svg (rectangle now turns green on first click)

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

13 years ago Reviewed by John
beidson [Tue, 6 Mar 2007 01:11:18 +0000 (01:11 +0000)]
    Reviewed by John

        Fixes <rdar://problem/4974258>
        Adds some key null checking

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLElement::implementsCall): Null check doc/frame
        * bindings/objc/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]): Null check doc/frame

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

13 years agoReviewed by Darin.
zimmermann [Tue, 6 Mar 2007 00:05:29 +0000 (00:05 +0000)]
Reviewed by Darin.

Path::normalAngleAtLength() / Path::pointAtLength() don't work correctly.
pointAtLength() was not implemented, basically and normalAngleAtLength()
had a bug in the tangent slope calculation.

The normalAngleAtLength() stuff can only be tested with my local textPath support.
New LayoutTest: svg/custom/path-textPath-simulation.svg

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

13 years ago2007-03-05 Darin Adler <darin@apple.com>
oliver [Mon, 5 Mar 2007 23:02:18 +0000 (23:02 +0000)]
2007-03-05  Darin Adler  <darin@apple.com>

        Reviewed by Oliver.

        Text encoding test case

        * fast/encoding/char-encoding-expected.txt: Added.
        * fast/encoding/char-encoding.html: Added.
        * fast/encoding/charset-names-expected.txt: Moved.
        * fast/encoding/charset-names.html: Moved.

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

13 years ago Reviewed by Darin.
ap [Mon, 5 Mar 2007 20:39:41 +0000 (20:39 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=12970
        Fix and import 4XPath test_core_functions.html test

WebCore:

        * xml/XPathExpression.cpp:
        (WebCore::XPathExpression::evaluate): Fully initialize the evaluation context.

        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunSubstring::doEvaluate): Fixed handling of edge cases.
        (WebCore::XPath::FunRound::round): Reimplemented to match the spec; exposed FunRound::round() to be used in
        other functions.

LayoutTests:
        * fast/xpath/4XPath/Core/test_core_functions-expected.txt: Added.
        * fast/xpath/4XPath/Core/test_core_functions.html: Added.
        The remaining failures with id() are caused by an XML DOM problem - ID attributes declared
        in an internal subset are not treated as such.

        * fast/xpath/4XPath/Core/test.js: Common data for XPath tests.

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

13 years ago * plugins/get-url-with-blank-target-expected.txt:
andersca [Mon, 5 Mar 2007 20:29:11 +0000 (20:29 +0000)]
    * plugins/get-url-with-blank-target-expected.txt:
        Update test result.

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

13 years agoLayoutTests:
andersca [Mon, 5 Mar 2007 19:31:02 +0000 (19:31 +0000)]
LayoutTests:

        Reviewed by Adam, Darin.

        <rdar://problem/5025212>
        In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object

        * plugins/get-url-with-blank-target-expected.txt: Added.
        * plugins/get-url-with-blank-target.html: Added.

WebKit:

        Reviewed by Adam, Darin.

        <rdar://problem/5025212>
        In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView loadPluginRequest:]):
        Handle the case where the web view returned from the delegate method is null. Also, send out an error notification
        in that case so we can catch it.

WebKitTools:

        Reviewed by Adam, Darin.

        <rdar://problem/5025212>
        In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object

        Add a "getURLNotify" method to the plugin object. This lets you pass a URL, a target and a callback function
        to be run when the URL has finished (or failed) loading.

        * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c:
        (pluginInvoke):
        (handleCallback):
        * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
        * DumpRenderTree/TestNetscapePlugIn.subproj/main.c:
        (NPP_URLNotify):

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

13 years ago Reviewed by Darin and Kevin D
sullivan [Mon, 5 Mar 2007 18:37:17 +0000 (18:37 +0000)]
    Reviewed by Darin and Kevin D

        - fixed <rdar://problem/5038087> Header and footer on printed page are too large after certain steps

        * WebView/WebView.mm:
        (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
        This method was modifying the margins in the NSPrintInfo object without any sort of check whether
        this had already been done. In some cases this can be called multiple times with the same
        NSPrintInfo, so now we stash information in the NSPrintInfo's dictionary such that we always
        start with a fresh copy of the original margins.

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

13 years agoRemove accidentally committed tests.
ap [Mon, 5 Mar 2007 18:25:34 +0000 (18:25 +0000)]
Remove accidentally committed tests.

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

13 years ago Reviewed by Darin.
ap [Mon, 5 Mar 2007 17:36:24 +0000 (17:36 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=12954
        XPath relative operations are implemented incorrectly

WebCore:
        * xml/XPathPredicate.cpp:
        (WebCore::XPath::NumericOp::doEvaluate):
        (WebCore::XPath::EqTestOp::compare):
        (WebCore::XPath::EqTestOp::doEvaluate):
        Reimplemented relative equality operations to match the spec.

        * xml/XPathPredicate.h:
        (WebCore::XPath::NumericOp::):
        (WebCore::XPath::EqTestOp::):
        Moved relative operations to EqTestOp.

        * xml/XPathGrammar.y:
        * xml/XPathParser.cpp:
        (WebCore::XPath::Parser::nextTokenInternal):
        (WebCore::XPath::Parser::lex):
        Adapted for the above changes.

LayoutTests:
        * fast/xpath/4XPath/Core/test_boolean_expr-expected.txt: Added.
        * fast/xpath/4XPath/Core/test_boolean_expr.html: Added.

        * fast/xpath/4XPath/Borrowed/cz_20030217-expected.txt: Added.
        * fast/xpath/4XPath/Borrowed/cz_20030217.html: Added.
        * fast/xpath/4XPath/Borrowed/kd_20010423-expected.txt: Added.
        * fast/xpath/4XPath/Borrowed/kd_20010423.html: Added.
        * fast/xpath/4XPath/Borrowed/od_20000608-expected.txt: Added.
        * fast/xpath/4XPath/Borrowed/od_20000608.html: Added.
        * fast/xpath/4XPath/Borrowed/resources/od_20000608.xml: Added.
        * fast/xpath/4XPath/Borrowed/rs_20010831-expected.txt: Added.
        * fast/xpath/4XPath/Borrowed/rs_20010831.html: Added.
        * fast/xpath/4XPath/Borrowed/sr_20021217-expected.txt: Added.
        * fast/xpath/4XPath/Borrowed/sr_20021217.html: Added.
        Added a bunch of XPath tests that already passed.

        * fast/xpath/4XPath/Borrowed/namespace-nodes-expected.txt: Added.
        * fast/xpath/4XPath/Borrowed/namespace-nodes.html: Added.
        * fast/xpath/namespace-nodes-expected.txt: Removed.
        * fast/xpath/namespace-nodes.html: Removed.
        Moved a previously imported 4XPath test.

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

13 years agoPesky apostrophe.
bdash [Mon, 5 Mar 2007 09:41:06 +0000 (09:41 +0000)]
Pesky apostrophe.

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

13 years ago2007-03-05 Mark Rowe <mrowe@apple.com>
bdash [Mon, 5 Mar 2007 09:39:15 +0000 (09:39 +0000)]
2007-03-05  Mark Rowe  <mrowe@apple.com>

        Reviewed by Lars.

        Fix http://bugs.webkit.org/show_bug.cgi?id=12947
        Bug 12947: REGRESSION: ASSERTION FAILED: maxWidth >= 0 in StringTruncator.cpp:109 in WebCore::truncateString()

        Handle nil window correctly in toUserSpace and toDeviceSpace.  On Intel Mac's a message to nil that returns a
        float will return 0.0.  We use this as the divisor in calculating a scale factor, which results in NaN being
        introduced into our rect.

        * platform/mac/ScreenMac.mm:
        (WebCore::toUserSpace):
        (WebCore::toDeviceSpace):

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

13 years ago Reviewed by Darin.
rwlbuis [Mon, 5 Mar 2007 09:07:41 +0000 (09:07 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=12868
        parts of the CSS classes in this simple SVG example are not applied

        Make sure the xml stylesheets are parsed in strict mode.

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

13 years ago Reviewed by Darin.
ap [Mon, 5 Mar 2007 06:18:37 +0000 (06:18 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=12961
        shouldBe() should support NaN

        * fast/js/resources/js-test-pre.js: Make shouldBe() succeed if both sides are NaN numbers.

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

13 years agoLayoutTests:
adele [Mon, 5 Mar 2007 05:40:16 +0000 (05:40 +0000)]
LayoutTests:

        Reviewed by Darin.

        * fast/events/keydown-keypress-preventDefault-expected.txt: Added.
        * fast/events/keydown-keypress-preventDefault.html: Added.

WebCore:

        Reviewed by Darin.

        Change to dispatch the keypress event during the defaultEventHandler for keydown events.  This matches IE behavior.
        This is preparation for fixing event dispatch with input methods (http://bugs.webkit.org/show_bug.cgi?id=10871)

        Test: fast/events/keydown-keypress-preventDefault.html

        * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): Call the defaultKeyboardEventHandler for keydown events.
        * page/EventHandler.cpp:
        (WebCore::eventTargetNodeForDocument): Return 0 instead of false since the return type in EventTargetNode.
        (WebCore::EventHandler::keyEvent): Removed dispatch of keypress event, since this is now done in the default event handler.
        (WebCore::EventHandler::defaultKeyboardEventHandler): For keydown events, create and dispatch a keypress event.

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

13 years ago Reviewed by Nikolas Zimmermann (yay!).
ap [Mon, 5 Mar 2007 05:34:10 +0000 (05:34 +0000)]
    Reviewed by Nikolas Zimmermann (yay!).

        http://bugs.webkit.org/show_bug.cgi?id=12962
        4XPath tests crash on lang() function

        Covered by 4XPath tests, to be landed later.

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::reverseFind): Do not crash with empty strings.
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunLang::doEvaluate): Do not crash when an element has no
        attributes. Use a proper namespace for xml:lang (not sure where "xms" came from).
        Rewrote the algorithm for suffix removing to match the spec.

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

13 years agoJavaScriptCore:
ddkilzer [Mon, 5 Mar 2007 01:33:33 +0000 (01:33 +0000)]
JavaScriptCore:

        Reviewed by Nikolas Zimmermann.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12950
          Assertions.cpp should not #define macros that are already defined

        * wtf/Assertions.cpp: Don't #define WINVER and _WIN32_WINNT if they
        are already defined.

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

13 years agoLayoutTests:
andersca [Sun, 4 Mar 2007 23:30:51 +0000 (23:30 +0000)]
LayoutTests:

        Reviewed by Darin.

        <rdar://problem/5028165>
        http://bugs.webkit.org/show_bug.cgi?id=12915
        REGRESSION: XMLHttpRequest.abort() does not stop loading (12915)

        * http/tests/xmlhttprequest/abort-should-cancel-load-expected.txt: Added.
        * http/tests/xmlhttprequest/abort-should-cancel-load.html: Added.

WebCore:

        Reviewed by Darin.

        <rdar://problem/5028165>
        http://bugs.webkit.org/show_bug.cgi?id=12915
        REGRESSION: XMLHttpRequest.abort() does not stop loading (12915)

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::stopLoading):
        Save the value of m_loading since calling FrameLoader::stopLoading could set it to false.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didCancel):
        * loader/SubresourceLoader.h:
        Get rid of didCancel now, it's not needed anymore.

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::abort):
        Call cancel() instead of stopLoading(). Also, set m_aborted to true so the XMLHttpRequest object
        won't be dereferenced in didFail when aborting.

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

13 years ago WebCore:
kjk [Sun, 4 Mar 2007 21:24:32 +0000 (21:24 +0000)]
  WebCore:

        Reviewed by Nikolas Zimmermann.

        Move ScrollView stubs to ScrollViewGdk.cpp

        * platform/gdk/FrameGdk.h: remove comment that no longer makes sense
        * platform/gdk/ScrollViewGdk.cpp:
        (WebCore::ScrollView::addChild):
        (WebCore::ScrollView::removeChild):
        (WebCore::ScrollView::scrollPointRecursively):
        (WebCore::ScrollView::inWindow):
        (WebCore::ScrollView::wheelEvent):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::updateScrollInfo):
        (WebCore::ScrollView::windowToContents):
        (WebCore::ScrollView::contentsToWindow):
        (WebCore::ScrollView::scrollbarUnderMouse):
        * platform/gdk/TemporaryLinkStubs.cpp:

  WebKitTools:

        Reviewed by Nikolas Zimmermann.

        Load a url given on a command line in a way that also
        works for local (file://) urls.

        * GdkLauncher/main.cpp:
        (main):

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

13 years agoLayoutTests:
ddkilzer [Sun, 4 Mar 2007 15:47:21 +0000 (15:47 +0000)]
LayoutTests:

        Reviewed by Nikolas Zimmermann.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12951
          REGRESSION (r19949): LayoutTests/fast/xsl/xslt-processer.html fails

        Fixed spelling of "processer" to "processor" in file names.

        * fast/xsl/xslt-processer-expected.txt: Removed.
        * fast/xsl/xslt-processer.html: Removed.
        * fast/xsl/xslt-processor-expected.txt: Added. Results progressed after fixing
        Bugzilla Bug 12735 (<rdar://problem/4545040>).
        * fast/xsl/xslt-processor.html: Added.

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

13 years agoLayoutTests:
kmccullo [Sat, 3 Mar 2007 02:18:43 +0000 (02:18 +0000)]
LayoutTests:

        Reviewed by Geoff.

        - rdar://problem/4922454
        - This fixes a security issue by making remote referrers not able to access local
        resources, unless they register their schemes to be treated as local. The result is
        that those schemes can access local resources and cannot be accessed by remote
        referrers.
        Because this behavior is new a link-on-or-after check is made to determine if the
        app should use the older, less safe, behavior.

        * fast/loader/local-CSS-from-local-expected.txt: Added.
        * fast/loader/local-CSS-from-local.html: Added.
        * fast/loader/local-JavaScript-from-local-expected.txt: Added.
        * fast/loader/local-JavaScript-from-local.html: Added.
        * fast/loader/local-iFrame-source-from-local-expected.txt: Added.
        * fast/loader/local-iFrame-source-from-local.html: Added.
        * fast/loader/local-image-from-local-expected.txt: Added.
        * fast/loader/local-image-from-local.html: Added.
        * http/tests/security/local-CSS-from-remote-expected.txt: Added.
        * http/tests/security/local-CSS-from-remote.html: Added.
        * http/tests/security/local-JavaScript-from-remote-expected.txt: Added.
        * http/tests/security/local-JavaScript-from-remote.html: Added.
        * http/tests/security/local-iFrame-from-remote-expected.txt: Added.
        * http/tests/security/local-iFrame-from-remote.html: Added.
        * http/tests/security/local-image-from-remote-expected.txt: Added.
        * http/tests/security/local-image-from-remote.html: Added.
        * http/tests/security/resources/compass.jpg: Added.
        * http/tests/security/resources/cssStyle.css: Added.
        * http/tests/security/resources/localPage.html: Added.
        * http/tests/security/resources/localScript.js: Added.

WebCore:

        Reviewed by Geoff.

        - rdar://problem/4922454
        - This fixes a security issue by making remote referrers not able to access local
        resources, unless they register their schemes to be treated as local. The result is
        that those schemes can access local resources and cannot be accessed by remote
        referrers.
        Because this behavior is new a link-on-or-after check is made to determine if the
        app should use the older, less safe, behavior.

        * WebCore.exp: added exported functions
        * bindings/objc/DOM.mm: consolodated function to base class
        (-[DOMElement image]):
        (-[DOMElement _imageTIFFRepresentation]):
        * dom/Document.cpp: Cache the document's ability to load local resources.
        (WebCore::Document::Document):
        (WebCore::Document::setURL):
        (WebCore::Document::shouldBeAllowedToLoadLocalResources):
        (WebCore::Document::stylesheetLoaded):
        * dom/Document.h: Cache the docuent's ability to load local resources.
        (WebCore::Document::getPendingSheet):
        (WebCore::Document::isAllowedToLoadLocalResources):
        * html/HTMLImageLoader.cpp: Moved functionality into base class.
        (WebCore::HTMLImageLoader::updateFromElement):
        (WebCore::HTMLImageLoader::dispatchLoadEvent):
        * html/HTMLLinkElement.cpp: Handles null returns correctly now.
        * html/HTMLTokenizer.cpp: Moved functionality into base class.
        (WebCore::HTMLTokenizer::notifyFinished):
        * ksvg2/misc/SVGImageLoader.cpp: Moved functionality into base class.
        (WebCore::SVGImageLoader::dispatchLoadEvent):
        * loader/Cache.cpp: Checks if the cached resource can be loaded.
        (WebCore::Cache::requestResource):
        * loader/CachedCSSStyleSheet.cpp: Moved functionality into base class.
        (WebCore::CachedCSSStyleSheet::ref):
        (WebCore::CachedCSSStyleSheet::error):
        * loader/CachedImage.cpp: Moved functionality into base class.
        (WebCore::CachedImage::CachedImage):
        * loader/CachedImage.h: Moved functionality into base class.
        (WebCore::CachedImage::canRender):
        * loader/CachedResource.cpp: Cache if the CachedResource should be treated as local
        (WebCore::CachedResource::CachedResource):
        * loader/CachedResource.h: Moved functionality into base class.
        (WebCore::CachedResource::errorOccurred):
        (WebCore::CachedResource::shouldTreatAsLocal):
        * loader/CachedScript.cpp: Moved functionality into base class.
        (WebCore::CachedScript::CachedScript):
        * loader/CachedScript.h: Moved functionality into base class.
        (WebCore::CachedScript::schedule):
        * loader/CachedXBLDocument.cpp: Moved functionality into base class.
        (WebCore::CachedXBLDocument::error):
        * loader/CachedXSLStyleSheet.cpp: Moved functionality into base class.
        (WebCore::CachedXSLStyleSheet::error):
        * loader/FrameLoader.cpp: See comments for each function below.
        (WebCore::FrameLoader::loadSubframe): Use new canLoad.
        (WebCore::FrameLoader::restrictAccessToLocal): return value of linked-on-or-after check.
        (WebCore::FrameLoader::setRestrictAccessToLocal): set value for linked-on-or-after check.
        (WebCore::localSchemes): Return set of schemes that are to be treated as local.
        (WebCore::FrameLoader::loadPlugin): Use new canLoad.
        (WebCore::FrameLoader::canLoad): Now multiple functions that each do the same work but some can take advantage of the cached values, if they were computed previously.
        (WebCore::FrameLoader::shouldHideReferrer): Extracted out the logic to determine if the referrer should be hidden so it is only calculated when needed.
        (WebCore::FrameLoader::loadResourceSynchronously): No longer calls canLoad to get hideReferrer info.
        (WebCore::FrameLoader::registerSchemeAsLocal): Functionality to register a scheme to be treated as local.
        (WebCore::FrameLoader::treatURLAsLocal): Given a URL this function determines if it should be treated as local.
        * loader/FrameLoader.h: Declared functions for this security fix.  See above.
        * loader/MainResourceLoader.cpp: Optized order of bools to regain performance.
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/SubresourceLoader.cpp: Now restricts remote from loading local resources.
        (WebCore::SubresourceLoader::create):
        * page/EventHandler.cpp: Moved functionality into base class.
        (WebCore::selectCursor):
        * platform/KURL.cpp: KURLs need to check all the registered schemes now.
        (WebCore::KURL::isLocalFile):
        * rendering/HitTestResult.cpp: Moved functionality into base class.
        (WebCore::HitTestResult::image):
        * rendering/RenderImage.cpp: Moved functionality into base class.
        (WebCore::RenderImage::setCachedImage):
        (WebCore::RenderImage::imageChanged):
        (WebCore::RenderImage::paint):
        (WebCore::RenderImage::layout):
        (WebCore::RenderImage::calcAspectRatioWidth):
        (WebCore::RenderImage::calcAspectRatioHeight):
        * rendering/RenderImage.h: Moved functionality into base class.
        (WebCore::RenderImage::errorOccurred):
        * rendering/RenderListItem.cpp: Moved functionality into base class.
        (WebCore::RenderListItem::setStyle):
        * rendering/RenderListMarker.cpp: Moved functionality into base class.
        (WebCore::RenderListMarker::isImage):
        * xml/xmlhttprequest.cpp: Check doc's cached value instead of determining independently.
        (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):

WebKit:

        Reviewed by Geoff.

        - rdar://problem/4922454
        - This fixes a security issue by making remote referrers not able to access local
        resources, unless they register their schemes to be treated as local. The result is
        that those schemes can access local resources and cannot be accessed by remote
        referrers.
        Because this behavior is new a link-on-or-after check is made to determine if the
        app should use the older, less safe, behavior.

        * Misc/WebKitVersionChecks.h: added linked-on-or-after check
        * Misc/WebNSAttributedStringExtras.mm: Moved functionalit into the base class.
        (fileWrapperForElement):
        * Plugins/WebNetscapePluginStream.mm: uses new canLoad functions
        * Plugins/WebPluginContainerCheck.mm: uses new canLoad functions
        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
        * WebView/WebView.mm: make linked-on-or-after check and cache value, exposes SPI
        for registering a scheme as local.
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (+[WebView registerSchemeAsLocal:]):
        * WebView/WebViewPrivate.h: exposes SPI for registering a scheme as local.

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

13 years agoLayoutTests:
justing [Sat, 3 Mar 2007 01:46:44 +0000 (01:46 +0000)]
LayoutTests:

        Reviewed by kevin

        <rdar://problem/5028447>
        REGRESSION: Gmail Editor: Copied message text pastes at the wrong font size

        * editing/pasteboard/5028447-expected.checksum: Added.
        * editing/pasteboard/5028447-expected.png: Added.
        * editing/pasteboard/5028447-expected.txt: Added.
        * editing/pasteboard/5028447.html: Added.

WebCore:

        Reviewed by kevin

        <rdar://problem/5028447>
        REGRESSION: Gmail Editor: Copied message text pastes at the wrong font size

        * editing/markup.cpp:
        (WebCore::createMarkup): The style of the div that holds
        a fully selected body's styles didn't include styles inherited
        from the body's ancestors.

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

13 years ago Tweaked parse-malloc-history to work with new malloc_history output format.
ggaren [Sat, 3 Mar 2007 00:48:34 +0000 (00:48 +0000)]
    Tweaked parse-malloc-history to work with new malloc_history output format.

        * Scripts/parse-malloc-history:

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

13 years agoLayoutTests:
justing [Fri, 2 Mar 2007 23:02:49 +0000 (23:02 +0000)]
LayoutTests:

        Reviewed by harrison

        <rdar://problem/4545040>
        innerHTML does not HTML-escape text nodes inside PRE elements
        <rdar://problem/5027857>
        Pasting into Mail from Safari's view-source window renders the HTML

        * editing/pasteboard/5027857-expected.checksum: Added.
        * editing/pasteboard/5027857-expected.png: Added.
        * editing/pasteboard/5027857-expected.txt: Added.
        * editing/pasteboard/5027857.html: Added.

WebCore:

        Reviewed by harrison

        <rdar://problem/4545040>
        innerHTML does not HTML-escape text nodes inside PRE elements
        <rdar://problem/5027857>
        Pasting into Mail from Safari's view-source window renders the HTML

        * editing/HTMLInterchange.cpp:
        (WebCore::convertHTMLTextToInterchangeFormat): Send this function
        the node that the text comes from as a parameter.  It shouldn't convert
        '\n's to spaces/nbsps if the text is coming from text where newlines are
        preserved.
        * editing/HTMLInterchange.h:
        * editing/markup.cpp:
        (WebCore::startMarkup): Escape text inside the children of PREs.

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

13 years agoWebCore:
weinig [Fri, 2 Mar 2007 21:10:59 +0000 (21:10 +0000)]
WebCore:

        Reviewed by Anders.

        Try to fix the Qt build.

        * platform/qt/TemporaryLinkStubs.cpp: Add stubs.
        (WebCore::searchMenuNoRecentSearchesText):
        (WebCore::searchMenuRecentSearchesText):
        (WebCore::searchMenuClearRecentSearchesText):
        (WebCore::AXWebAreaText):
        (WebCore::AXLinkText):
        (WebCore::AXListMarkerText):
        (WebCore::AXImageMapText):
        (WebCore::AXHeadingText):

WebKitQt:

        Reviewed by Anders.

        Try to fix the Qt build

        * WebCoreSupport/DragClientQt.cpp:
        (WebCore::DragClientQt::willPerformDragDestinationAction):
        (WebCore::DragClientQt::dragControllerDestroyed):
        (WebCore::DragClientQt::createDragImageForLink):

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

13 years ago2007-03-02 Steve Falkenburg <sfalken@apple.com>
sfalken [Fri, 2 Mar 2007 21:06:33 +0000 (21:06 +0000)]
2007-03-02  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Anders.

        Add unsigned int hash traits (matches existing unsigned long version)

        * wtf/HashTraits.h:
        (WTF::):

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

13 years ago Suggested by Darin.
harrison [Fri, 2 Mar 2007 21:06:26 +0000 (21:06 +0000)]
    Suggested by Darin.

        A more efficient solution to rdar://4961431.

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityIsIgnored]):

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

13 years ago Reviewed by Kevin M.
aroben [Fri, 2 Mar 2007 19:55:21 +0000 (19:55 +0000)]
    Reviewed by Kevin M.

        Try to fix the Qt build.

        * kjs/DateMath.cpp:
        (KJS::msToGregorianDateTime): Removed unnecessary "struct" keyword.
        * kjs/DateMath.h: Moved forward declarations to the top of the file
        before they are used.
        * kjs/date_object.cpp:
        (KJS::formatLocaleDate): Changed to take a const GregorianDateTime&
        since GregorianDateTime is Noncopyable.

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

13 years agoLayoutTests:
justing [Fri, 2 Mar 2007 19:53:42 +0000 (19:53 +0000)]
LayoutTests:

        Reviewed by john

        <rdar://problem/5032095>
        Gmail Editor: Copied text pastes on a new line instead of current line

        * editing/pasteboard/5032095-expected.checksum: Added.
        * editing/pasteboard/5032095-expected.png: Added.
        * editing/pasteboard/5032095-expected.txt: Added.
        * editing/pasteboard/5032095.html: Added.

WebCore:

        Reviewed by john

        <rdar://problem/5032095>
        Gmail Editor: Copied text pastes on a new line instead of current line

        Start merge failed to occur because positionAtStartOfInsertedContent
        had a bug.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
        Was failing when inserting <span><div>foo/div></span>. Return the
        inserted content's first VisiblePosition.

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