WebKit-https.git
15 years agoFor the Qt build combine JavaScriptCore and WebKit into one library, to make it possi...
hausmann [Tue, 30 Jan 2007 10:20:20 +0000 (10:20 +0000)]
For the Qt build combine JavaScriptCore and WebKit into one library, to make it possible to
build it with ELF visibility or on Windows without adding EXPORT macros to kjs all over the place.
r=zack

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

15 years agoMake the Qt platform compile.
zack [Tue, 30 Jan 2007 08:46:28 +0000 (08:46 +0000)]
Make the Qt platform compile.

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

15 years agoCompile fix
zack [Tue, 30 Jan 2007 08:34:06 +0000 (08:34 +0000)]
Compile fix
r=aroben

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

15 years agoPropagate the allows-scrolling property on the frames
zack [Tue, 30 Jan 2007 08:13:19 +0000 (08:13 +0000)]
Propagate the allows-scrolling property on the frames
correctly. If the frame has been constructed as non-
scrolling, respect that and don't show scrollbars.
r=Lars

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

15 years ago I am the chosen one! I have seen the faces of the final five! I will
ggaren [Tue, 30 Jan 2007 06:09:19 +0000 (06:09 +0000)]
    I am the chosen one! I have seen the faces of the final five! I will
        save the WebKit build!

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::load):

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

15 years ago Reviewed by Darin.
ap [Tue, 30 Jan 2007 05:32:43 +0000 (05:32 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=12464
        Fix XPath test suite conversion problems

        * dom/svg/level3/xpath/svgunit.js: Fixed createXPathEvaluator() to work in Firefox (whose
        document.getFeature returns null for XPath). Changed load() to use XMLHttpRequest, instead of
        merely cloning the current document.

        * dom/svg/level3/xpath/resources/internaldtd.xml: Added.
        * dom/svg/level3/xpath/resources/staff.dtd: Added.
        * dom/svg/level3/xpath/resources/staff.xml: Added.
        * dom/svg/level3/xpath/resources/staffNS.dtd: Added.
        * dom/svg/level3/xpath/resources/staffNS.xml: Added.
        Added external test documents.

        * dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR-expected.txt:
        * dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR-expected.txt:
        These tests now run, but fail. They also fail in Firefox, but pass in Opera.

        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR-expected.txt:
        These now fail, because XPathResult relies on DOMSubtreeModified event for invalidation,
        but event listeners cannot be registered on nodes in documents that aren't attached (such as
        XHR.responseXML). Not yet sure what exactly the bug is, but I think it's good to have the tests
        fail, as it appears to be a genuine issue.

        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE.js:
        * dom/svg/level3/xpath/XPathResult_numberValue.js:
        Updated these tests to use /staff instead of /svg paths.

        * dom/svg/level3/xpath/XPathResult_booleanValue_true-expected.txt:
        * dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE.js:
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order-expected.txt:
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count-expected.txt:
        * dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_stringValue-expected.txt:
        These tests now pass.

        * dom/svg/level3/xpath/Attribute_Nodes.svg:
        * dom/svg/level3/xpath/Attribute_Nodes_xmlns.svg:
        * dom/svg/level3/xpath/Comment_Nodes.svg:
        * dom/svg/level3/xpath/Conformance_Expressions.svg:
        * dom/svg/level3/xpath/Conformance_ID.svg:
        * dom/svg/level3/xpath/Conformance_hasFeature_3.svg:
        * dom/svg/level3/xpath/Conformance_hasFeature_empty.svg:
        * dom/svg/level3/xpath/Conformance_hasFeature_null.svg:
        * dom/svg/level3/xpath/Conformance_isSupported_3.svg:
        * dom/svg/level3/xpath/Conformance_isSupported_empty.svg:
        * dom/svg/level3/xpath/Conformance_isSupported_null.svg:
        * dom/svg/level3/xpath/Element_Nodes.svg:
        * dom/svg/level3/xpath/Processing_Instruction_Nodes.svg:
        * dom/svg/level3/xpath/Text_Nodes.svg:
        * dom/svg/level3/xpath/XPathEvaluatorCast01.svg:
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR.svg:
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01.svg:
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02.svg:
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NS.svg:
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS.svg:
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all.svg:
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document.svg:
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement.svg:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR.svg:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR.svg:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR.svg:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR.svg:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_document.svg:
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement.svg:
        * dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR.svg:
        * dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR.svg:
        * dom/svg/level3/xpath/XPathExpression_evaluate_document.svg:
        * dom/svg/level3/xpath/XPathExpression_evaluate_documentElement.svg:
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc.svg:
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null.svg:
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix.svg:
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml.svg:
        * dom/svg/level3/xpath/XPathResult_TYPE_ERR.svg:
        * dom/svg/level3/xpath/XPathResult_booleanValue_false.svg:
        * dom/svg/level3/xpath/XPathResult_booleanValue_true.svg:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR.svg:
        * dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_numberValue.svg:
        * dom/svg/level3/xpath/XPathResult_resultType.svg:
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null.svg:
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order.svg:
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count.svg:
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null.svg:
        * dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE.svg:
        * dom/svg/level3/xpath/XPathResult_stringValue.svg:
        Removed unneeded inline test data.

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

15 years agoJavaScriptCore:
ggaren [Tue, 30 Jan 2007 05:07:25 +0000 (05:07 +0000)]
JavaScriptCore:

        Reviewed by Maciej Stachowiak.

        Fixed <rdar://problem/4485644> REGRESSION: JavaScriptCore has init routines

        The TCMalloc module now initializes, if needed, inside GetCache() and
        fastMallocSetIsMultiThreaded(). We leverage the same synchronization
        technique used for enabling / disabling the single-threaded optimization
        to synchronize initialization of the library without requiring a lock
        for every malloc.

        1,251 runs of tcmalloc_unittest, 2 runs of a custom, massively multi-threaded
        tcmalloc_unittest, and my custom version of the PLT show no regressions.
        Super-accurate JS iBench reports a .24% regression, which is right at the
        limit of its error range, so I'm declaring victory.

        * wtf/FastMalloc.cpp:
        (WTF::fastMallocSetIsMultiThreaded): Initialize, if needed. (InitModule()
        checks the "if needed" part.)
        (WTF::TCMalloc_ThreadCache::GetCache): Restored original TCMalloc code
        inside #ifdef, for posterity. Added new initialization logic.
        (WTF::TCMalloc_ThreadCache::InitModule): Call InitTSD(), since we don't
        have a static initializer to call it for us, now. This means that fastMalloc
        is not usable as a general libc allocator, but it never was, and if it were
        the general libc allocator, we wouldn't be here in the first place, so whatever.
        (WTF::TCMalloc_ThreadCache::InitTSD): Don't try to take the pageheap_lock,
        since InitModule already has it.

WebKitTools:

        Reviewed by Maciej Stachowiak.

        Fixed <rdar://problem/4485644> REGRESSION: JavaScriptCore has init routines

        No more mollycoddling for you, FastMalloc.o!

        * Scripts/check-for-global-initializers:

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

15 years agoLayoutTests:
gdennis [Tue, 30 Jan 2007 04:57:21 +0000 (04:57 +0000)]
LayoutTests:

        Reviewed by Maciej.

        - test for http://bugs.webkit.org/show_bug.cgi?id=10725
          Image data in from RTFD clipboard data thrown away

        * editing/pasteboard/paste-RTFD-expected.checksum: Added.
        * editing/pasteboard/paste-RTFD-expected.png: Added.
        * editing/pasteboard/paste-RTFD-expected.txt: Added.
        * editing/pasteboard/paste-RTFD.html: Added.
        * editing/pasteboard/paste-TIFF-expected.checksum: Added.
        * editing/pasteboard/paste-TIFF-expected.png: Added.
        * editing/pasteboard/paste-TIFF-expected.txt: Added.
        * editing/pasteboard/paste-TIFF.html: Added.
        * editing/resources/RTFD-pasteboard-data.dat: Added.
        * editing/resources/TIFF-pasteboard-data.dat: Added.

WebCore:

        Reviewed by Maciej.

        Part of fix for http://bugs.webkit.org/show_bug.cgi?id=10725
        Image data in from RTFD clipboard data thrown away

        ResourceHandles no longer need to be able to defer loading as that is
        now handled by the ResourceLoader.

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::loadNow): updated to remove defersLoading argument.
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::releaseResources): release the deferred request.
        (WebCore::ResourceLoader::load): defer creating the ResourceHandle instead of
        asking the ResourceHandle to defer loading.
        (WebCore::ResourceLoader::setDefersLoading): create the ResourceHandle if we have deferred creating it.
        * loader/ResourceLoader.h:
        * platform/network/ResourceHandle.cpp: ResourceHandle's don't need to know about deferLoading.
        (WebCore::ResourceHandle::ResourceHandle):
        (WebCore::ResourceHandle::create):
        * platform/network/ResourceHandle.h: ditto.
        * platform/network/ResourceHandleInternal.h: ditto.
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/mac/ResourceHandleMac.mm: ditto.
        (WebCore::ResourceHandle::start):

WebKit:

        Reviewed by Maciej.

        Part of fix for http://bugs.webkit.org/show_bug.cgi?id=10725
        Image data in from RTFD clipboard data thrown away

        The URLs for images in RTFD data must not be loaded until the resources
        have been added to the WebUnarchivingState. This can't happen until
        after the RTFD data has been parsed, so we must delay loading while this
        RTFD data is being parsed to a document fragment.

        * WebView/WebHTMLView.mm:
        (uniqueURLWithRelativePart):
        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]): defer loading the resources while RTFD data is being parsed.
        (+[NSURL _web_uniqueWebDataURL]): Added this back because AppKit uses it.
        * WebView/WebUnarchivingState.m:
        (-[WebUnarchivingState archivedResourceForURL:]): orkaround for workaround for rdar://problem/4699166 so that other people can use archivedResourceForURL: too.

WebKitTools:

        Reviewed by Maciej.

        Enables layout test for: http://bugs.webkit.org/show_bug.cgi?id=10725
        Image data in from RTFD clipboard data thrown away

        - This method is needed because NSArray's ar bridged to JS Array's,
          which in turn are bridged back to WebScriptObject's when passed from
          JS to ObjC. Hence it is not possbile to pass an NSArray from JS.

        * DumpRenderTree/DumpRenderTree.m:
        (-[DumpRenderTreePasteboard declareType:owner:]): Added a convenience method for JS.

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

15 years ago2007-01-29 Jim Correia <jim.correia@pobox.com>
bdash [Tue, 30 Jan 2007 04:05:50 +0000 (04:05 +0000)]
2007-01-29  Jim Correia  <jim.correia@pobox.com>

        Reviewed by Mark.

        Added support for -allowsUndo/-setAllowsUndo: to allow editable WebView
        clients to completely disable undo registration. This is functionally
        equivalent to the methods with the same names on NSTextView.

        * WebView/WebView.mm:
        (-[WebViewPrivate init]):
        (-[WebView initWithCoder:]):
        (-[WebView encodeWithCoder:]):
        (-[WebView allowsUndo]):
        (-[WebView setAllowsUndo:]):
        (-[WebView undoManager]):
        * WebView/WebViewPrivate.h:

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

15 years agoUse a RetainPtr instead of a raw pointer
beidson [Tue, 30 Jan 2007 03:19:41 +0000 (03:19 +0000)]
Use a RetainPtr instead of a raw pointer

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

15 years agoLayoutTests:
justing [Tue, 30 Jan 2007 01:13:37 +0000 (01:13 +0000)]
LayoutTests:

        Reviewed by harrison

        <rdar://problem/4960137>
        ASSERTION FAILURE calling SelectionController::setBaseAndExtent (11833)

        * editing/selection/4960137-expected.checksum: Added.
        * editing/selection/4960137-expected.png: Added.
        * editing/selection/4960137-expected.txt: Added.
        * editing/selection/4960137.html: Added.

WebCore:

        Reviewed by harrison

        <rdar://problem/4960137>
        ASSERTION FAILURE calling SelectionController::setBaseAndExtent (11833)

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection): Hand off the selection
        to the selectionController responsible for it, instead of asserting.
        A selection object can't be constructed with endpoints in different
        documents, so this code is only necessary for one endpoint.

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

15 years ago2007-01-29 Ada Chan <adachan@apple.com>
adachan [Tue, 30 Jan 2007 00:40:39 +0000 (00:40 +0000)]
2007-01-29  Ada Chan  <adachan@apple.com>

        Reviewed by Brady.

        Moved the update of the title of the current entry in the backforward list to WebCore.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didChangeTitle):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::setTitle):

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

15 years agoWebCore:
adele [Tue, 30 Jan 2007 00:15:39 +0000 (00:15 +0000)]
WebCore:

        Reviewed by Darin.

        More preparation for event handling fixes.

        * bridge/EditorClient.h: Removed EventTargetNode parameter from handleKeyPress since we can just get that from the event.
        * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): ditto.
        * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): ditto.
        * page/EventHandler.h: ditto.
        * platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::handleKeyPress): ditto.

        * editing/Editor.h:
        * editing/Editor.cpp:
        (WebCore::Editor::handleKeyPress): Removed EventTargetNode parameter.
        (WebCore::Editor::execCommand): Made commandMap use AtomicStringImpls instead of Strings.
        (WebCore::Editor::insertText): Moved from the bridge.

        * page/mac/WebCoreFrameBridge.h: Moved insertText method to Editor.
        * page/mac/WebCoreFrameBridge.mm:

        * WebCore.exp: Updated exports.

WebKit:

        Reviewed by Darin.

        More preparation for event handling fixes.

        * WebCoreSupport/WebEditorClient.h: Removed EventTargetNode parameter, since you can
          just get this from the KeyboardEvent.
        * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): ditto.

        * WebView/WebHTMLViewInternal.h: Added interpretKeyEventsParameters struct.
        * WebView/WebViewInternal.h: Changed parameter from NSEvent to WebCoreKeyboardEvent in _interceptEditingKeyEvent.
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView yankAndSelect:]): Updated for new triggeringEvent parameter.
        (-[WebHTMLView _interceptEditingKeyEvent:]): Set the WebHTMLViewInterpretKeyEventsParameters.
        (-[WebHTMLView doCommandBySelector:]): Access WebHTMLViewInterpretKeyEventsParameters.
        (-[WebHTMLView insertText:]): ditto.
        (-[WebHTMLView _insertText:selectInsertedText:triggeringEvent:]): Added parameter for triggeringEvent.

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

15 years agoLayoutTests:
andersca [Mon, 29 Jan 2007 22:42:59 +0000 (22:42 +0000)]
LayoutTests:

        Reviewed by Geoff.

        <rdar://problem/4960097>
        http://bugs.webkit.org/show_bug.cgi?id=12444
        Assertion failure in -[WebCoreFrameBridge installInFrame:]

        * fast/parser/xhtml-document-with-html-object-expected.txt: Added.
        * fast/parser/xhtml-document-with-html-object.xhtml: Added.

WebCore:

        Reviewed by Geoff.

        <rdar://problem/4960097>
        http://bugs.webkit.org/show_bug.cgi?id=12444
        Assertion failure in -[WebCoreFrameBridge installInFrame:]

        The problem was that the XML tokenizer didn't create elements with
        createdByParser set to true.

        * dom/Document.cpp:
        (WebCore::Document::createElement):
        New method which takes a QName. This is used by both the XML tokenizer and createElementNS.

        (WebCore::Document::createElementNS):
        Call new createElement method.

        * dom/XMLTokenizer.h:
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::XMLTokenizer::~XMLTokenizer):
        Use an OwnPtr for the pending callbacks object. Also, use String instead of StringImpl in the hash map.

        (WebCore::toString):
        (WebCore::XMLTokenizer::startElementNs):
        Call createElement.

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

15 years ago Reviewed by Oliver
beidson [Mon, 29 Jan 2007 22:00:25 +0000 (22:00 +0000)]
    Reviewed by Oliver

        http://bugs.webkit.org/show_bug.cgi?id=12465
        Only set the iconURL port for non-zero ports

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::iconURL):

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

15 years agoJavaScriptCore:
kmccullo [Mon, 29 Jan 2007 21:58:31 +0000 (21:58 +0000)]
JavaScriptCore:

        Reviewed by Geoff and Oliver.

        - rdar://problem/4955561
        - missusing JavaScript shouldn't crash webkit.  Now it doesn't, in this case.

        * bindings/objc/objc_runtime.mm:
        (ObjcFallbackObjectImp::callAsFunction):
        * bindings/runtime_method.cpp:
        (RuntimeMethod::callAsFunction):
        * bindings/runtime_object.cpp:
        (RuntimeObjectImp::callAsFunction):

LayoutTests:

        Reviewed by Geoff and Oliver.

        - rdar://problem/4955561
        - missusing JavaScript shouldn't crash webkit.  Now it doesn't in this case.

        * plugins/call-as-function-test-expected.txt: Added.
        * plugins/call-as-function-test.html: Added.

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

15 years ago2007-01-29 Oliver Hunt <oliver@apple.com>
oliver [Mon, 29 Jan 2007 19:49:57 +0000 (19:49 +0000)]
2007-01-29  Oliver Hunt  <oliver@apple.com>

        build fix

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):

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

15 years ago * platform/network/mac/ResourceRequestMac.mm:
sullivan [Mon, 29 Jan 2007 18:36:09 +0000 (18:36 +0000)]
    * platform/network/mac/ResourceRequestMac.mm:
        Build fix -- removed #import of no-longer-extant WebDataProtocol.h (and also one of the
        two #imports for WebCoreSystemInterface.h, while I was at it)

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

15 years ago Reviewed by Oliver.
andersca [Mon, 29 Jan 2007 18:33:43 +0000 (18:33 +0000)]
    Reviewed by Oliver.

        * page/DragController.cpp:
        (WebCore::DragController::dragEnteredOrUpdated):
        Only try a drag operation if the drag client explicitly specified that it is OK

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

15 years ago2007-01-25 Oliver Hunt <oliver@apple.com>
oliver [Mon, 29 Jan 2007 18:25:58 +0000 (18:25 +0000)]
2007-01-25  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam.
WebKit:
        Migrated drag state and logic to WebCore, removed superfluous methods

        * ChangeLog:
        * WebCoreSupport/WebDragClient.h:
        * WebCoreSupport/WebDragClient.mm:
        (WebDragClient::dragSourceActionMaskForPoint):
        * WebCoreSupport/WebFrameBridge.mm:
           allowDHTMLDrag move to WebCore::EventHandler
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
        (-[WebHTMLView draggedImage:movedTo:]):
        (-[WebHTMLView draggedImage:endedAt:operation:]):
          dragOffset and dragSourecAction is now stored in WebCore::DragController
          migrated _delegateDragSourceActionMask to WebCore::DragController
        * WebView/WebHTMLViewInternal.h:
          Removed dragOffset declaration, migrated to WebCore::DragController
        * WebView/WebView.mm:
          removed unnecessary method, _loadingDragOperationForDraggingInfo

WebKitQt:
        Reviewed by Adam.

        Stub for new DragClient method

        * WebCoreSupport/DragClientQt.cpp:
        (WebCore::DragClientQt::dragSourceActionMaskForPoint):
        * WebCoreSupport/DragClientQt.h:

WebCore:
        Reviewed by Adam.

        Migrated more drag logic and state to WebCore

        * page/DragClient.h:

        * page/DragController.cpp:
        (WebCore::DragController::delegateDragSourceAction):
          New forwarding method for the UI delegate
        * page/DragController.h:
        (WebCore::DragController::dragOffset):
          Now store the drag offset -- the offset of the cursor relative to the drag image)
          in DragController
        * page/EventHandler.cpp:
        (WebCore::EventHandler::allowDHTMLDrag):
          Moved from WebFrameBridge
        * page/EventHandler.h:
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::eventMayStartDrag):
        (WebCore::EventHandler::handleDrag):
          EventHandlerMac now uses EventHandler::allowDHTMLDrag rather than the
          implementation in WebFrameBridge
        * page/mac/WebCoreFrameBridge.h:
          removed definition of allowDHTMLDrag from WebFrameBridge
        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyDragClient::dragSourceActionMaskForPoint):
          Updated empty DragClient

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

15 years ago Reviewed by Darin.
ap [Mon, 29 Jan 2007 18:04:14 +0000 (18:04 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=12359
        XPathEvaluator may return some nodes more than once in a result set

        Test: fast/xpath/nodeset-duplicates.html

        * xml/XPathPath.cpp:
        (WebCore::XPath::LocationPath::doEvaluate): Ensure uniqueness of elements
        in the node-set.

        * xml/XPathPredicate.cpp:
        (WebCore::XPath::Union::doEvaluate): Fixed a uniqueness algorithm that was
        already present here. Added a FIXME about incorrect result ordering.

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

15 years ago Reviewed by Darin.
ap [Mon, 29 Jan 2007 17:55:18 +0000 (17:55 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=12340
        XPathEvaluator behavior does not match Firefox - name() and attribute nodes

WebCore:
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunName::doEvaluate): Do not try to append a prefix if it doesn't exist.

LayoutTests:
        * fast/xpath/name-null-namespace-expected.txt: Added.
        * fast/xpath/name-null-namespace.html: Added.
        Test for the bug.

        * fast/dom/xpath-empty-string-expected.txt: Removed.
        * fast/dom/xpath-empty-string.html: Removed.
        Moved these to fast/xpath.

        * fast/xpath/xpath-namespaces.html: Fixed an inline document to be well-formed, so the test now passes in Firefox.
        This is really a quirk of our DOMParser that the test passed in WebKit: on error, a descriptive message is appended to
        the partially parsed document, instead of replacing it.

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

15 years ago Reviewed by Darin.
ap [Mon, 29 Jan 2007 17:40:20 +0000 (17:40 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11815
        XPathEvaluator behavior does not match Firefox - substring() and empty element

        Test: fast/xpath/empty-string-substring.html

        * xml/XPathValue.cpp:
        (WebCore::XPath::Value::Value):
        * xml/XPathValue.h:
        Added a constructor taking const char*, so that string literals and arrays don't
        get converted to boolean values.

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

15 years agoCosmetic fixes - don't resize the widget in the constructor
zack [Mon, 29 Jan 2007 16:11:25 +0000 (16:11 +0000)]
Cosmetic fixes - don't resize the widget in the constructor
(it was a hack from the initial port) and fix the paint
signature)

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

15 years ago - change from struct to class to make picky compilers happy
mjs [Mon, 29 Jan 2007 15:10:28 +0000 (15:10 +0000)]
    - change from struct to class to make picky compilers happy

        * loader/SubstituteData.h:

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

15 years ago2007-01-30 Mark Rowe <mrowe@apple.com>
bdash [Mon, 29 Jan 2007 14:28:38 +0000 (14:28 +0000)]
2007-01-30  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=12458
        Bug 12458: Crash in W3C-SVG-1.1/animate-elem-09-t.svg running layout tests under guard malloc

        * ksvg2/svg/SVGAnimationElement.cpp:
        (WebCore::parseValues): ptr either points to a ';' or off the end of the buffer.  We're
        interested in what comes before the ';', so start there instead.

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

15 years agoTake the scrollbars into considation when computing
zack [Mon, 29 Jan 2007 13:37:48 +0000 (13:37 +0000)]
Take the scrollbars into considation when computing
the contents size of the main frame

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

15 years ago - fix includes
mjs [Mon, 29 Jan 2007 13:06:21 +0000 (13:06 +0000)]
    - fix includes

        * loader/SubstituteData.h:

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

15 years ago - added new file that I forgot in the last commit
mjs [Mon, 29 Jan 2007 13:01:14 +0000 (13:01 +0000)]
    - added new file that I forgot in the last commit

        * loader/SubstituteData.h: Added.
        (WebCore::SubstituteData::SubstituteData):
        (WebCore::SubstituteData::isValid):
        (WebCore::SubstituteData::content):
        (WebCore::SubstituteData::mimeType):
        (WebCore::SubstituteData::textEncoding):
        (WebCore::SubstituteData::failingURL):

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

15 years agoWebCore:
mjs [Mon, 29 Jan 2007 12:50:49 +0000 (12:50 +0000)]
WebCore:

        Reviewed by Mark.

        - made data loading cross-platform
        - fixed <rdar://problem/4910106>

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/CachedResource.cpp:
        * loader/CachedResource.h:
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestResource):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::setRequest):
        (WebCore::DocumentLoader::urlForHistory):
        (WebCore::DocumentLoader::unreachableURL):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::substituteData):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
        (WebCore::FrameLoader::reloadAllowingStaleData):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::startLoadingMainResource):
        (WebCore::FrameLoader::startLoading):
        (WebCore::FrameLoader::checkNavigationPolicy):
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest):
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        (WebCore::MainResourceLoader::handleEmptyLoad):
        (WebCore::MainResourceLoader::handleDataLoad):
        (WebCore::MainResourceLoader::loadNow):
        (WebCore::MainResourceLoader::load):
        * loader/MainResourceLoader.h:
        * loader/mac/DocumentLoaderMac.mm:
        * loader/mac/WebDataProtocol.h: Removed.
        * loader/mac/WebDataProtocol.mm: Removed.
        * loader/qt/DocumentLoaderQt.cpp:
        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):

WebKit:

        Reviewed by Mark.

        - updated for cross-platform data loading support

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createDocumentLoader):
        * WebView/WebDataSource.mm:
        (-[WebDataSource initWithRequest:]):
        * WebView/WebDocumentLoaderMac.h:
        * WebView/WebDocumentLoaderMac.mm:
        (WebDocumentLoaderMac::WebDocumentLoaderMac):
        * WebView/WebFrame.mm:
        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
        (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
        (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
        (-[WebFrame loadArchive:]):
        * WebView/WebFrameInternal.h:
        * WebView/WebHTMLView.mm:
        (uniqueURLWithRelativePart):
        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):

WebKitQt:

        Reviewed by Mark.

        - updated for cross-platform data loading support

        * WebCoreSupport/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::createDocumentLoader):
        * WebCoreSupport/FrameLoaderClientQt.h:

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

15 years agoOrder the build files alphabetically instead of
zack [Mon, 29 Jan 2007 11:57:44 +0000 (11:57 +0000)]
Order the build files alphabetically instead of
the random mess we had before

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

15 years agoUse the platform independent scrollbar code.
zack [Mon, 29 Jan 2007 11:30:48 +0000 (11:30 +0000)]
Use the platform independent scrollbar code.
Remove the redundant empty stubs and forward
few missing platform scrollbar calls
r=Lars

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

15 years agoMake window resizing work
staikos [Mon, 29 Jan 2007 10:37:06 +0000 (10:37 +0000)]
Make window resizing work

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

15 years agoMake popup windows work
staikos [Mon, 29 Jan 2007 10:24:53 +0000 (10:24 +0000)]
Make popup windows work

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

15 years ago Reviewed by Zack
lars [Mon, 29 Jan 2007 09:24:46 +0000 (09:24 +0000)]
    Reviewed by Zack

        Fix the way we handle native widgets (QWidget) inside
        WebCore. Now WebCore::Widget owns the QWidget in all
        cases. This is the only way to get well defined semantics
        for all teh native widgets we have (currently ScrollView
        and ScrollBar, but plugins will follow).

        This has the side effect that one cannot rely on a defined
        lifetime of a QWebFrame when using the API.

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

15 years agoMissed saving this file before the previous checkin.
staikos [Mon, 29 Jan 2007 09:00:59 +0000 (09:00 +0000)]
Missed saving this file before the previous checkin.

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

15 years agoImplement more functions for the Qt build
staikos [Mon, 29 Jan 2007 08:47:40 +0000 (08:47 +0000)]
Implement more functions for the Qt build

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

15 years agoFix redirects with the Qt resource implementation.
staikos [Mon, 29 Jan 2007 06:28:40 +0000 (06:28 +0000)]
Fix redirects with the Qt resource implementation.

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

15 years ago Reviewed by Maciej Stachowiak.
ggaren [Mon, 29 Jan 2007 06:17:38 +0000 (06:17 +0000)]
    Reviewed by Maciej Stachowiak.

        First step in fixing <rdar://problem/4485644> REGRESSION: JavaScriptCore
        has init routines

        Don't rely on a static initializer to store the main thread's ID (which
        we would use to detect allocations on secondary threads). Instead, require
        the caller to notify fastMalloc if it might allocate on a secondary thread.

        Also fixed what seemed like a race condition in do_malloc.

        tcmalloc_unittest and my custom versions of JS iBench and PLT show no
        regressions.

        * wtf/FastMalloc.cpp:
        (WTF::fastMallocSetIsMultiThreaded):
        (1) Renamed from "fastMallocRegisterThread", which was a misleading name because
        not all threads need to register with fastMalloc -- only secondary threads
        need to, and only for the purpose of disabling its single-threaded optimization.

        (2) Use the pageheap_lock instead of a custom one, since we need to synchronize
        with the read of isMultiThreaded inside CreateCacheIfNecessary. This is a new
        requirement, now that we can't guarantee that the first call to CreateCacheIfNecessary
        will occur on the main thread at init time, before any other threads have been created.

        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
        (WTF::do_malloc): Reverted WTF change only to call GetCache() if size <= kMaxSize.
        The WTF code would read phinited without holding the pageheap_lock, which
        seemed like a race condition. Regardless, calling GetCache reduces the number
        of code paths to module initialization, which will help in writing the
        final fix for this bug.

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

15 years ago2007-01-29 Mark Rowe <mrowe@apple.com>
bdash [Mon, 29 Jan 2007 06:00:20 +0000 (06:00 +0000)]
2007-01-29  Mark Rowe  <mrowe@apple.com>

        Reviewed by Brady.

        http://bugs.webkit.org/show_bug.cgi?id=11085
        Bug 11085: REGRESSION: favicon.ico always looked for on port 80

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::iconURL): Copy the port over to the favicon URL.

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

15 years ago Reviewed by Adele.
aroben [Mon, 29 Jan 2007 03:22:10 +0000 (03:22 +0000)]
    Reviewed by Adele.

        Fix http://bugs.webkit.org/show_bug.cgi?id=12453
        REGRESSION(r19197): Tabbing into web page requires two key presses

        All layout tests pass.

        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocus): If there's no focused frame,
        actually go ahead and find a focusable node instead of just focusing
        the main frame and quitting. This behavior was a holdover from a
        previous desired tabbing behavior with respect to frames.

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

15 years agoLayoutTests:
ddkilzer [Mon, 29 Jan 2007 03:10:37 +0000 (03:10 +0000)]
LayoutTests:

        Reviewed by Darin and David Hyatt.

        - Test for http://bugs.webkit.org/show_bug.cgi?id=12423
          Mixing white-space:pre text with non white-space:pre text does not wrap properly

        * fast/block/basic/white-space-pre-wraps-expected.checksum: Added.
        * fast/block/basic/white-space-pre-wraps-expected.png: Added.
        * fast/block/basic/white-space-pre-wraps-expected.txt: Added.
        * fast/block/basic/white-space-pre-wraps.html: Added.

WebCore:

        Reviewed by Darin and David Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12423
          Mixing white-space:pre text with non white-space:pre text does not wrap properly

        Test: fast/block/basic/white-space-pre-wraps.html

        * rendering/bidi.cpp:
        (WebCore::RenderBlock::findNextLineBreak): Wrap a non-wrapping text run if it
        appears on a line with previous text runs that do wrap.

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

15 years agoRemoved files that were not committed from the ChangeLog entry.
ddkilzer [Mon, 29 Jan 2007 02:38:27 +0000 (02:38 +0000)]
Removed files that were not committed from the ChangeLog entry.

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

15 years agoLayoutTests:
ddkilzer [Mon, 29 Jan 2007 02:36:04 +0000 (02:36 +0000)]
LayoutTests:

        Reviewed by Darin.  Patch by Mitz.

        - test for http://bugs.webkit.org/show_bug.cgi?id=8360
          Repro crash when onscroll handler deletes the scrolled object

        * fast/layers/removed-by-scroll-handler-expected.checksum: Added.
        * fast/layers/removed-by-scroll-handler-expected.png: Added.
        * fast/layers/removed-by-scroll-handler-expected.txt: Added.
        * fast/layers/removed-by-scroll-handler.html: Added.

WebCore:

        Reviewed by Darin.  Patch by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8360
          Repro crash when onscroll handler deletes the scrolled object

        Test: fast/layers/removed-by-scroll-handler.html

        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate): Added a m_enqueueEvents count.
        (WebCore::FrameView::layout): Raise the enqueue count before starting layout and
        until after enqueued events are dispatched.
        (WebCore::FrameView::scheduleEvent): Made this function dispatch the event
        immediately unless the enqueue count is positive.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset): Schedule the scroll event through the
        FrameView.
        (WebCore::RenderLayer::scrollRectToVisible):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        (WebCore::Marquee::start):

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

15 years agoJavaScriptCore:
ddkilzer [Mon, 29 Jan 2007 02:30:42 +0000 (02:30 +0000)]
JavaScriptCore:

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9815
          JavaScript TypeError loading Dean Edwards' JS compressor/obfuscator

        Creating a function using 'new Function()' was not setting its prototype with the
        same flags as 'function() { }'.

        Test: fast/js/function-prototype.html

        * kjs/function_object.cpp:
        (FunctionObjectImp::construct): Change flags from DontEnum|DontDelete|ReadOnly to
        Internal|DontDelete to match FuncDeclNode::processFuncDecl() and
        FuncExprNode::evaluate() in kjs/nodes.cpp.

LayoutTests:

        Reviewed by Darin.

        - Test for http://bugs.webkit.org/show_bug.cgi?id=9815
          JavaScript TypeError loading Dean Edwards' JS compressor/obfuscator

        * fast/js/function-prototype-expected.txt: Added.
        * fast/js/function-prototype.html: Added.

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

15 years ago2007-01-28 Charles Ying <charles_ying@yahoo.com>
eseidel [Mon, 29 Jan 2007 00:03:01 +0000 (00:03 +0000)]
2007-01-28  Charles Ying  <charles_ying@yahoo.com>

        Reviewed by eseidel.  Landed by eseidel.

        Fix http://bugs.webkit.org/show_bug.cgi?id=12429
            animateTransform rotate, with cx/cy is broken

        SVGTransform now contains a float point to store the rotation center, needed
            to track rotation center for interpolation by animateTransform.

        SVGTransform now has an additional constructor:
            SVGTransform(type) to make empty base value transforms that match their
            distanced values.

        Removed m_colorDistance and m_transformDistance from their respective classes
            as they are now computed at update time.

        Fix a case where animateTransform did not parse transform values correctly
            according to BNF in W3C spec:

        Test case in:
        * manual-tests/animation/animateTransform-toanimation.svg: Added.

        Fix a case where animateTransform only specified a to animation only.

        Test case in:
        * manual-tests/animation/animateTransform-parser.svg: Added.

        * ksvg2/svg/SVGAnimateColorElement.cpp:
        (WebCore::SVGAnimateColorElement::updateAnimationBaseValueFromElement):
        (WebCore::SVGAnimateColorElement::updateAnimatedValue):
        (WebCore::SVGAnimateColorElement::calculateFromAndToValues):
        * ksvg2/svg/SVGAnimateColorElement.h:
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::updateAnimatedValue):
        (WebCore::SVGAnimateTransformElement::updateAnimationBaseValueFromElement):
        (WebCore::SVGAnimateTransformElement::calculateFromAndToValues):
        (WebCore::SVGAnimateTransformElement::parseTransformValue):
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGTransform.cpp:
        (SVGTransform::SVGTransform):
        (SVGTransform::angle):
        (SVGTransform::rotationCenter):
        (SVGTransform::setTranslate):
        (SVGTransform::setScale):
        (SVGTransform::setRotate):
        (SVGTransform::setSkewX):
        (SVGTransform::setSkewY):
        * ksvg2/svg/SVGTransform.h:
        * ksvg2/svg/SVGTransformDistance.cpp:
        (WebCore::SVGTransformDistance::SVGTransformDistance):
        (WebCore::SVGTransformDistance::scaledDistance):
        (WebCore::SVGTransformDistance::addSVGTransforms):
        (WebCore::SVGTransformDistance::addSVGTransform):
        (WebCore::SVGTransformDistance::addToSVGTransform):
        (WebCore::SVGTransformDistance::distance):
        * ksvg2/svg/SVGTransformDistance.h:
        * manual-tests/animation/animateTransform-parser.svg: Added.
        * manual-tests/animation/animateTransform-toanimation.svg: Added.

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

15 years ago Fixed a broken test to actually work (and fail).
ap [Sun, 28 Jan 2007 19:35:43 +0000 (19:35 +0000)]
    Fixed a broken test to actually work (and fail).

        * dom/svg/level3/xpath/Conformance_ID-expected.checksum: Removed.
        * dom/svg/level3/xpath/Conformance_ID-expected.png: Removed.
        * dom/svg/level3/xpath/Conformance_ID-expected.txt:
        * dom/svg/level3/xpath/Conformance_ID.svg:

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

15 years ago Reviewed by Ada.
aroben [Sun, 28 Jan 2007 06:00:23 +0000 (06:00 +0000)]
    Reviewed by Ada.

        Fix <rdar://problem/4957184> REGRESSION: After creating a new mail
        message, the caret is automatically in message body

        -[WebHTMLView _updateActiveState] was calling
        FocusController::focusedOrMainFrame, which had the surprising
        side-effect of setting the focused frame if there was none. The fix
        was to remove this side-effect.

        No tests possible, as this bug involves focus outside the WebView,
        which we have no support for in DRT.

        Change inspired by Dave Harrison.

        * page/FocusController.cpp:
        (WebCore::FocusController::focusedOrMainFrame): Removed this method's
        non-obvious side-effect of setting the focused frame.
        * WebCore.xcodeproj/project.pbxproj: Version wars.

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

15 years agoWebCore:
ddkilzer [Sun, 28 Jan 2007 04:39:15 +0000 (04:39 +0000)]
WebCore:

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=11880: Improve some egregious
        Windows form control drawing issues:
        Provide Classic mode fallbacks for the button/textfield drawing
        routines.
        Provide some basic drawing of menulists (still relatively broken).
        Some cleanup.

        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::RenderThemeWin::systemFont):
        * rendering/RenderThemeWin.cpp:
        (WebCore::m_menuListTheme):
        (WebCore::RenderThemeWin::close):
        (WebCore::RenderThemeWin::determineClassicState):
        (WebCore::RenderThemeWin::getThemeData):
        (WebCore::RenderThemeWin::paintButton):
        (WebCore::RenderThemeWin::paintTextField):
        (WebCore::RenderThemeWin::paintMenuList):
        (WebCore::RenderThemeWin::paintMenuListButton):
        * rendering/RenderThemeWin.h:
        (WebCore::ThemeData::m_classicState):
        (WebCore::RenderThemeWin::setRadioSize):
        (WebCore::RenderThemeWin::paintTextArea):

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

15 years agoWebCore:
ddkilzer [Sun, 28 Jan 2007 04:34:26 +0000 (04:34 +0000)]
WebCore:

        Reviewed by Adam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12260
          Windows platform build is not maintained

        * loader/win/FrameLoaderWin.cpp:
        * platform/network/win/ResourceHandleWin.cpp:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
        (WebCore::contextMenuItemTagDownloadLinkToDisk):
        (WebCore::contextMenuItemTagCopyLinkToClipboard):
        (WebCore::contextMenuItemTagOpenImageInNewWindow):
        (WebCore::contextMenuItemTagDownloadImageToDisk):
        (WebCore::contextMenuItemTagCopyImageToClipboard):
        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
        (WebCore::contextMenuItemTagCopy):
        (WebCore::contextMenuItemTagGoBack):
        (WebCore::contextMenuItemTagGoForward):
        (WebCore::contextMenuItemTagStop):
        (WebCore::contextMenuItemTagReload):
        (WebCore::contextMenuItemTagCut):
        (WebCore::contextMenuItemTagPaste):
        (WebCore::contextMenuItemTagNoGuessesFound):
        (WebCore::contextMenuItemTagIgnoreSpelling):
        (WebCore::contextMenuItemTagLearnSpelling):
        (WebCore::contextMenuItemTagSearchWeb):
        (WebCore::contextMenuItemTagLookUpInDictionary):
        (WebCore::contextMenuItemTagOpenLink):
        (WebCore::contextMenuItemTagIgnoreGrammar):
        (WebCore::contextMenuItemTagSpellingMenu):
        (WebCore::contextMenuItemTagShowSpellingPanel):
        (WebCore::contextMenuItemTagCheckSpelling):
        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
        (WebCore::contextMenuItemTagFontMenu):
        (WebCore::contextMenuItemTagBold):
        (WebCore::contextMenuItemTagItalic):
        (WebCore::contextMenuItemTagUnderline):
        (WebCore::contextMenuItemTagOutline):
        (WebCore::contextMenuItemTagWritingDirectionMenu):
        (WebCore::contextMenuItemTagDefaultDirection):
        (WebCore::contextMenuItemTagLeftToRight):
        (WebCore::contextMenuItemTagRightToLeft):
        (WebCore::DocumentLoader::unreachableURL):
        (WebCore::FrameLoader::redirectDataToPlugin):
        (WebCore::FrameLoader::partClearedInBegin):
        (WebCore::FrameLoader::createPlugin):

WebKit:

        Reviewed by Adam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12260
          Windows platform build is not maintained

        * COM/ChromeClientWin.cpp:
        (ChromeClientWin::canTakeFocus):
        (ChromeClientWin::takeFocus):
        * COM/ChromeClientWin.h:
        * COM/ContextMenuClientWin.cpp:
        (ContextMenuClientWin::getCustomMenuFromDefaultItems):
        (ContextMenuClientWin::searchWithGoogle):
        * COM/ContextMenuClientWin.h:
        * COM/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::assignIdentifierToInitialRequest):
        (WebFrameLoaderClient::dispatchWillSendRequest):
        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
        (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
        (WebFrameLoaderClient::dispatchDidReceiveResponse):
        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
        (WebFrameLoaderClient::dispatchDidFinishLoading):
        (WebFrameLoaderClient::dispatchDidFailLoading):
        (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
        (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
        (WebFrameLoaderClient::dispatchDidFailLoad):
        (WebFrameLoaderClient::dispatchCreatePage):
        (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
        (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
        (WebFrameLoaderClient::setMainDocumentError):
        (WebFrameLoaderClient::incrementProgress):
        (WebFrameLoaderClient::completeProgress):
        (WebFrameLoaderClient::startDownload):
        (WebFrameLoaderClient::committedLoad):
        (WebFrameLoaderClient::cancelledError):
        (WebFrameLoaderClient::cannotShowURLError):
        (WebFrameLoaderClient::interruptForPolicyChangeError):
        (WebFrameLoaderClient::cannotShowMIMETypeError):
        (WebFrameLoaderClient::fileDoesNotExistError):
        (WebFrameLoaderClient::shouldFallBack):
        (WebFrameLoaderClient::willUseArchive):
        (WebFrameLoaderClient::createDocumentLoader):
        (WebFrameLoaderClient::download):
        * COM/WebFrameLoaderClient.h:

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

15 years agoLayoutTests:
ddkilzer [Sun, 28 Jan 2007 04:29:06 +0000 (04:29 +0000)]
LayoutTests:

        Reviewed by NOBODY (missing pixel test results).

        * fast/dom/gc-10-expected.checksum: Added.
        * fast/dom/gc-10-expected.png: Added.
        * http/tests/misc/location-replace-crossdomain-expected.checksum: Added.
        * http/tests/misc/location-replace-crossdomain-expected.png: Added.

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

15 years ago Reviewed by Beth Dakin.
ggaren [Sun, 28 Jan 2007 02:58:47 +0000 (02:58 +0000)]
    Reviewed by Beth Dakin.

        Added some missing JSLocks, which might fix <rdar://problem/4889707>.

        We need to lock whenever we might allocate memory because our FastMalloc
        implementation requires clients to register their threads, which we do
        through JSLock.

        We also need to lock whenever modifying ref-counts because they're not
        thread-safe.

        * API/JSObjectRef.cpp:
        (JSClassCreate): Allocates memory
        (JSClassRetain): Modifies a ref-count
        (JSClassRelease): Modifies a ref-count
        (JSPropertyNameArrayRetain): Modifies a ref-count
        (JSPropertyNameArrayRelease): Modifies a ref-count
        * API/JSStringRef.cpp:
        (JSStringRetain): Modifies a ref-count
        * API/JSValueRef.cpp:
        (JSValueIsInstanceOfConstructor): Might allocate memory if an exception
        is thrown.

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

15 years agoLayoutTests:
weinig [Sat, 27 Jan 2007 22:37:08 +0000 (22:37 +0000)]
LayoutTests:

        Reviewed by Mitz.

        - Test for http://bugs.webkit.org/show_bug.cgi?id=11957
          Unordered List Bullets too big and changing from size

        * fast/lists/big-list-marker-expected.checksum: Added.
        * fast/lists/big-list-marker-expected.png: Added.
        * fast/lists/big-list-marker-expected.txt: Added.
        * fast/lists/big-list-marker.html: Added.

WebCore:

        Reviewed by Mitz.

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=11957
          REGRESSION: Unordered List Bullets too big and changing from size

        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint): Explicitly set the stroke size to 1.0f.

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

15 years ago Reviewed by Kevin.
harrison [Sat, 27 Jan 2007 21:01:46 +0000 (21:01 +0000)]
    Reviewed by Kevin.

        <rdar://problem/4958902> REGRESSION: Dashboard widgets fail to load

        This was caused by the WebView preferences rework in r18417. Specifically, in
        _updateWebCoreSettingsFromPreferences when calling setUserStyleSheetLocation,
        [NSURL URLWithString:] is now messaged directly with the result of
        [[preferences userStyleSheetLocation] _web_originalDataAsString]], which will
        be nil if the userStyleSheetLocation has not been set yet. [NSURL URLWithString:]
        throws an exception when the string is nil. DashboardClient.app calls
        setUserStyleSheetEnabled *before* calling setUserStyleSheetLocation.

        * WebView/WebView.mm:
        (-[WebView _updateWebCoreSettingsFromPreferences:]):
        Pass empty string instead of nil string to [NSURL URLWithString:].

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

15 years ago Fix the Qt build and disable the usage
lars [Sat, 27 Jan 2007 20:34:46 +0000 (20:34 +0000)]
    Fix the Qt build and disable the usage
        of QScrollbars for PlatformScrollBar for
        now as it causes crashes in the layout tests.

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

15 years agoWebCore:
ddkilzer [Sat, 27 Jan 2007 15:52:16 +0000 (15:52 +0000)]
WebCore:

        Reviewed by NOBODY (buildbot build fix).

        * ksvg2/svg/ColorDistance.cpp:
        (WebCore::ColorDistance::scaledDistance): Added static cast of arguments to int.

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

15 years ago Reviewed by NOBODY (typo in method name fix).
rwlbuis [Sat, 27 Jan 2007 15:00:34 +0000 (15:00 +0000)]
    Reviewed by NOBODY (typo in method name fix).

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

15 years ago2007-01-27 Eric Seidel <eric@webkit.org>
eseidel [Sat, 27 Jan 2007 11:24:55 +0000 (11:24 +0000)]
2007-01-27  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        Fix support for SVG's <set> element.

        Manual test added.

        * ksvg2/svg/SVGSetElement.cpp:
        (WebCore::SVGSetElement::updateAnimatedValue):
        (WebCore::SVGSetElement::calculateFromAndToValues):
        * ksvg2/svg/SVGSetElement.h:
        * manual-tests/animation/set-to.svg: Added.

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

15 years ago Release build fix.
ap [Sat, 27 Jan 2007 10:16:09 +0000 (10:16 +0000)]
    Release build fix.

        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForHeadCharset):

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

15 years ago Reviewed by Darin.
ap [Sat, 27 Jan 2007 10:02:30 +0000 (10:02 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=12389
        Chinese decoding error at hk.antispam.yahoo.com

        Test: fast/encoding/noscript-in-head.html

        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForHeadCharset): We were already allowing
        NOSCRIPT tags in head, let's actually skip over their content.

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

15 years ago Added forgotten Radar reference.
aroben [Sat, 27 Jan 2007 07:53:48 +0000 (07:53 +0000)]
Added forgotten Radar reference.

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

15 years agoJavaScriptCore:
ggaren [Sat, 27 Jan 2007 04:50:17 +0000 (04:50 +0000)]
JavaScriptCore:

        Reviewed by Maciej Stachowiak.

        Fixed <rdar://problem/4608404> WebScriptObject's _rootObject lack
        of ownership policy causes crashes (e.g., in Dashcode)

        The old model for RootObject ownership was either to (1) leak them or (2) assign
        them to a single owner -- the WebCore::Frame -- which would destroy them
        when it believed that all of its plug-ins had unloaded.

        This model was broken because of (1) and also because plug-ins are not the only
        RootObject clients. All Bindings clients are RootObjects clients, including
        applications, which outlive any particular WebCore::Frame.

        The new model for RootObject ownership is to reference-count them, with a
        throw-back to the old model: The WebCore::Frame tracks the RootObjects
        it creates, and invalidates them when it believes that all of its plug-ins
        have unloaded.

        We maintain this throw-back to avoid plug-in leaks, particularly from Java.
        Java is completely broken when it comes to releasing JavaScript objects.
        Comments in our code allege that Java does not always call finalize when
        collecting objects. Moreoever, my own testing reveals that, when Java does
        notify JavaScript of a finalize, the data it provides is totally bogus.

        This setup is far from ideal, but I don't think we can do better without
        completely rewriting the bindings code, and possibly part of the Java
        plug-in / VM.

        Layout tests pass. No additional leaks reported. WebCore/manual-tests/*liveconnect*
        and a few LiveConnect demos on the web also run without a hitch.

        const RootObject* => RootObject*, since we need to ref/deref

        * bindings/NP_jsobject.cpp:
        (jsDeallocate): deref our RootObjects. Also unprotect or JSObject, instead
        of just relying on the RootObject to do it for us when it's invalidated.
        (_isSafeScript): Check RootObject validity.
        (_NPN_CreateScriptObject): ditto
        (_NPN_Invoke): ditto
        (_NPN_Evaluate): ditto
        (_NPN_GetProperty): ditto
        (_NPN_SetProperty): ditto
        (_NPN_RemoveProperty): ditto
        (_NPN_HasProperty): ditto
        (_NPN_HasMethod): ditto
        (_NPN_SetException): ditto

        * bindings/runtime_root.cpp:
        Revived bit-rotted LIAR LIAR LIAR comment.

        LOOK: Added support for invalidating RootObjects without deleting them,
        which is the main goal of this patch.

        Moved protect counting into the RootObject class, to emphasize that
        the RootObject protects the JSObject, and unprotects it upon being invalidated.
            addNativeReference => RootObject::gcProtect
            removeNativeReference => RootObject::gcUnprotect
            ProtectCountSet::contains => RootObject::gcIsProtected

        I know we'll all be sad to see the word "native" go.

        * bindings/runtime_root.h: Added ref-counting support to RootObject, with
        all the standard accoutrements.

        * bindings/c/c_utility.cpp:
        (KJS::Bindings::convertValueToNPVariant): If we can't find a valid RootObject,
        return void instead of just leaking.

        * bindings/jni/jni_instance.cpp:
        (JavaInstance::JavaInstance): Don't take a RootObject in our constructor;
        be like other Instances and require the caller to call setRootObject. This
        reduces the number of ownership code paths.
        (JavaInstance::invokeMethod): Check RootObject for validity.
        * bindings/jni/jni_instance.h: Removed private no-arg constructor. Having
        an arg constructor accomplishes the same thing.

        * bindings/jni/jni_jsobject.cpp:
        (JavaJSObject::invoke): No need to call findProtectCountSet, because finalize()
        checks for RootObject validity.
        (JavaJSObject::JavaJSObject): check RootObject for validity
        (JavaJSObject::call): ditto
        (JavaJSObject::eval): ditto
        (JavaJSObject::getMember): ditto
        (JavaJSObject::setMember): ditto
        (JavaJSObject::removeMember): ditto
        (JavaJSObject::getSlot): ditto
        (JavaJSObject::setSlot): ditto
        (JavaJSObject::toString): ditto
        (JavaJSObject::finalize): ditto
        (JavaJSObject::createNative): No need to tell the RootObject to protect
        the global object, since the RootObject already owns the interpreter.

        * bindings/jni/jni_runtime.cpp:
        (JavaArray::JavaArray): Removed copy construcutor becaue it was unused.
        Dead code is dangerous code.

        * bindings/objc/objc_runtime.mm: Added WebUndefined protocol. Previous use
        of WebScriptObject was bogus, because WebUndefined is not a subclass of
        WebScriptObject.
        (convertValueToObjcObject): If we can't find a valid RootObject,
        return nil instead of just leaking.

        * bindings/objc/objc_utility.mm:
        (KJS::Bindings::convertValueToObjcValue): If we can't find a valid RootObject,
        return nil instead of just leaking.

LayoutTests:

        Reviewed by Maciej Stachowiak.

        Added test for <rdar://problem/4608404> WebScriptObject's _rootObject lack
        of ownership policy causes crashes (e.g., in Dashcode)

        No test for Java or NPP versions of this bug because there's no reliable way to
        make Java and NPP objects outlive their RootObjects (although Java objects
        sometimes do).

        * plugins/root-object-premature-delete-crash-expected.txt: Added.
        * plugins/root-object-premature-delete-crash.html: Added.

WebCore:

        Reviewed by Maciej Stachowiak.

        Fixed <rdar://problem/4608404> WebScriptObject's _executionContext lack
        of ownership policy causes crashes (e.g., in Dashcode)

        Added RootObject ref-counting goodness.

        * page/mac/FrameMac.h:
        * page/mac/FrameMac.mm:
        (WebCore::FrameMac::cleanupPluginObjects): Invalidate our RootObjects
        instead of detroying them. Track _bindingRootObject separately from the
        rest of our RootObjects, since it has its own variable.

        * page/mac/WebCoreFrameBridge.mm:
        (createRootObject): Use the Frame's new, more encapsulated function to
        create a RootObject.

        * bindings/objc/WebScriptObject.mm: Nixed rootObject setters, since they
        were unused and they complicated reference-counting.

WebKitTools:

        Reviewed by Maciej Stachowiak.

        Added support for test for <rdar://problem/4608404> WebScriptObject's
        _rootObject lack of ownership policy causes crashes (e.g., in Dashcode)

        * DumpRenderTree/DumpRenderTree.m:
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (+[LayoutTestController webScriptNameForSelector:]):
        (-[LayoutTestController storeWebScriptObject:]):
        (-[LayoutTestController accessStoredWebScriptObject]):
        (-[LayoutTestController dealloc]):

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

15 years agoWebKit:
ddkilzer [Sat, 27 Jan 2007 04:28:18 +0000 (04:28 +0000)]
WebKit:

        Reviewed by Timothy.

        Fixes crash drawing avatar on mail.yahoo.com.

        * Plugins/WebBaseNetscapePluginStream.m: Retain the object since destroyStreamWithError: might
        release the last reference to it.

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

15 years agoWebCore:
ddkilzer [Sat, 27 Jan 2007 03:51:18 +0000 (03:51 +0000)]
WebCore:

        Reviewed by Eric.

        Release build fix.

        * ksvg2/svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast): Added static cast
        to unsigned when calculating flooredValueIndex.

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

15 years agoJavaScriptCore:
aliceli1 [Sat, 27 Jan 2007 02:31:28 +0000 (02:31 +0000)]
JavaScriptCore:

        Reviewed by Maciej.

        Fix for Repeated string concatenation results in OOM crash
        http://bugs.webkit.org/show_bug.cgi?id=11131

        * kjs/operations.cpp:
        (KJS::add): Throw exception if string addition result is null
        * kjs/ustring.cpp:
        (KJS::UString::UString): Don't call memcpy when malloc failed

LayoutTests:

        Reviewed by Maciej.

        Test for "Repeated string concatenation results in OOM crash"
        http://bugs.webkit.org/show_bug.cgi?id=11131

        * fast/js/resources/string-concatenate-outofmemory.js: Added.
        * fast/js/string-concatenate-outofmemory-expected.txt: Added.
        * fast/js/string-concatenate-outofmemory.html: Added.

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

15 years ago - checked in slightly newer revision of the patch below
darin [Sat, 27 Jan 2007 02:21:49 +0000 (02:21 +0000)]
    - checked in slightly newer revision of the patch below

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        Grouped all the unimplemented values at the bottom. Fixed the ifdef for
        CSS_PROP__WEBKIT_DASHBOARD_REGION so that it compiles on all platforms.

        * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Removed default
        case and added type so that the compiler warns about missing properties.
        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): Ditto.

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

15 years agoLayoutTests:
weinig [Sat, 27 Jan 2007 02:13:39 +0000 (02:13 +0000)]
LayoutTests:

        Reviewed by Beth.

        - updated test results for change to computed style

        * editing/pasteboard/paste-table-002-expected.txt:
        Updated for change to order of style properties.

        * fast/css/computed-style-expected.txt:
        Updated for change to order of style properties and to add new ones.

WebCore:

        Reviewed by Beth.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12412
          "unimplemented propertyID: 46" seen at dojotoolkit.org

        Covered by fast/css/computed-style.html

        * css/CSSPropertyNames.in: Sorted the file into two separate sections, one
        for properties without the -webkit- prefix and another for properties with.

        * css/makeprop: Generate a CSSPropertyID enum instead of a set of #defines.
        Removed unused CSS_PROP_MIN and CSS_PROP_MAX. Renamed CSS_PROP_TOTAL to
        numCSSProperties and changed it to a const int instead of #define.
        Added a declaration of getPropertyName in the header. Changed the return
        type of getPropertyName to const char* and the parameter type to CSSPropertyID.

        * css/CSSComputedStyleDeclaration.cpp: Sort the lists of properties in
        an easier to maintain order -- properties without a WebKit prefix first.
        (WebCore::valueForLength): Changed return value to PassRefPtr.
        (WebCore::valueForMaxLength): Ditto.
        (WebCore::valueForBorderStyle): Ditto.
        (WebCore::valueForTextAlign): Ditto.
        (WebCore::valueForAppearance): Added.
        (WebCore::valueForMarginCollapse): Added.
        (WebCore::valueForShadow): Changed return value to PassRefPtr.
        (WebCore::getPositionOffsetValue): Ditto.
        (WebCore::currentColorOrValidColor): Ditto.
        (WebCore::CSSComputedStyleDeclaration::cssText): Added cast since
        getPropertyName now takes an enum value.
        (WebCore::primitiveValueFromLength): Changed return value to PassRefPtr.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        Added cast to CSSPropertyID so that gcc will detect missing enums in the
        switch statement. Simplified the background-size and border-spacing
        implementations so they don't have local variables. Added lots of cases
        to the switch statement for unimplemented properties. Implemented the
        outline-width, box-sizing, -webkit-appearance, -webkit-rtl-ordering,
        -webkit-user-drag, and -webkit-user-select properties.
        (WebCore::CSSComputedStyleDeclaration::item): Added cast since
        getPropertyName now takes an enum value.

        * css/CSSMutableStyleDeclaration.cpp: Removed declaration of getPropertyName.
        (WebCore::CSSMutableStyleDeclaration::item): Added cast since
        getPropertyName now takes an enum value.

        * css/CSSProperty.cpp: Removed declaration of getPropertyName.
        (WebCore::CSSProperty::cssText): Added cast since
        getPropertyName now takes an enum value and returns a const char*.

        * css/CSSStyleDeclaration.cpp: Removed declaration of getPropertyName.
        (WebCore::CSSStyleDeclaration::getPropertyShorthand): Added cast since
        getPropertyName now takes an enum value and returns a const char*.

WebKit:

        Reviewed by Beth.

        * WebInspector/webInspector/inspector.js: Updated for new computed style properties.

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

15 years ago Reviewed by Brady.
aliceli1 [Sat, 27 Jan 2007 02:11:15 +0000 (02:11 +0000)]
    Reviewed by Brady.

        Fixed <rdar://problem/4838076> CrashTracer: 10 crashes in Mail at com.apple.WebCore: WTF::HashMap<WebCore::String

        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestResource):
        Added nil check around resource from cache.

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

15 years ago Reviewed by Oliver.
aroben [Sat, 27 Jan 2007 02:05:52 +0000 (02:05 +0000)]
    Reviewed by Oliver.

        Build fix.

        * ksvg2/svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast):
        Keep index variables as unsigned until we need to convert to float.

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

15 years agoLayoutTests:
aliceli1 [Sat, 27 Jan 2007 02:04:41 +0000 (02:04 +0000)]
LayoutTests:

        Reviewed by Ada.

        Added tests for <rdar://problem/4919097> REGRESSION: Ctrl-Y fails to yank (11076)

        * editing/pasteboard/emacs-ctrl-a-k-y-expected.checksum: Added.
        * editing/pasteboard/emacs-ctrl-a-k-y-expected.png: Added.
        * editing/pasteboard/emacs-ctrl-a-k-y-expected.txt: Added.
        * editing/pasteboard/emacs-ctrl-a-k-y.html: Added.
        Test for <rdar://problem/4919097>

        * editing/deleting/delete-by-word-001-expected.txt:
        * editing/deleting/delete-by-word-002-expected.txt:
        * editing/deleting/delete-to-end-of-paragraph-expected.txt:
        * editing/pasteboard/emacs-cntl-y-001-expected.txt:
        The expected results of these tests were affected by the WebCore checkin of the same number.  The results are the same, but there were more editing delegates that were called, as expected.  I suspect these tests were created during the time that <rdar://problem/4919097> was broken

WebCore:

        Reviewed by Ada.

        Fixed <rdar://problem/4919097> REGRESSION: Ctrl-Y fails to yank (11076)

        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection):
        If there's no selection, locally create a range that is to the end of the granularity unit and pass that to deleteRange().

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

15 years ago Reviewed by Maciej.
weinig [Sat, 27 Jan 2007 01:55:00 +0000 (01:55 +0000)]
    Reviewed by Maciej.

        Qt build fix.

        * page/qt/EventHandlerQt.cpp:

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

15 years ago Reviewed by Hyatt.
weinig [Sat, 27 Jan 2007 01:43:28 +0000 (01:43 +0000)]
    Reviewed by Hyatt.

        Fix so that we only relayout frameset children on calls to layout.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):

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

15 years ago2007-01-26 Oliver Hunt <oliver@apple.com>
oliver [Sat, 27 Jan 2007 01:35:06 +0000 (01:35 +0000)]
2007-01-26  Oliver Hunt  <oliver@apple.com>

        Build Fix

        * ksvg2/svg/ColorDistance.cpp:
        * ksvg2/svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::handleTimerEvent):

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

15 years ago2007-01-26 Eric Seidel <eric@webkit.org>
eseidel [Sat, 27 Jan 2007 00:59:58 +0000 (00:59 +0000)]
2007-01-26  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        Add support for calcMode, keyTimes and (nearly) keySplines.
        http://bugs.webkit.org/show_bug.cgi?id=12350
        Re-architect much of the animation system to remove huge sections of code.
        Added new ColorDistance, SVGTransformDistance to simplify animateColor, animateTransform calculations.
        I also added basic <animateMotion> support since it was so easy w/ the new architecture.

        Adding manual animation tests until bug 12074 is fixed.

        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/misc/SVGTimer.cpp:
        (WebCore::SVGTimer::applyAnimations):
        * ksvg2/svg/ColorDistance.cpp: Added.
        (WebCore::ColorDistance::ColorDistance):
        (WebCore::clampColorValue):
        (WebCore::ColorDistance::scaledDistance):
        (WebCore::ColorDistance::addColorsAndClamp):
        (WebCore::ColorDistance::addToColorAndClamp):
        (WebCore::ColorDistance::isZero):
        (WebCore::ColorDistance::distance):
        * ksvg2/svg/ColorDistance.h: Added.
        * ksvg2/svg/SVGAnimateColorElement.cpp:
        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
        (WebCore::SVGAnimateColorElement::updateAnimationBaseValueFromElement):
        (WebCore::SVGAnimateColorElement::applyAnimatedValueToElement):
        (WebCore::SVGAnimateColorElement::updateAnimatedValue):
        (WebCore::SVGAnimateColorElement::calculateFromAndToValues):
        * ksvg2/svg/SVGAnimateColorElement.h:
        (WebCore::SVGAnimateColorElement::contextElement):
        * ksvg2/svg/SVGAnimateElement.h:
        (WebCore::SVGAnimateElement::updateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        * ksvg2/svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::hasValidTarget):
        (WebCore::SVGAnimateMotionElement::updateAnimatedValue):
        (WebCore::parsePoint):
        (WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
        (WebCore::SVGAnimateMotionElement::updateAnimationBaseValueFromElement):
        (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement):
        * ksvg2/svg/SVGAnimateMotionElement.h:
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
        (WebCore::SVGAnimateTransformElement::updateAnimatedValue):
        (WebCore::SVGAnimateTransformElement::updateAnimationBaseValueFromElement):
        (WebCore::SVGAnimateTransformElement::applyAnimatedValueToElement):
        (WebCore::SVGAnimateTransformElement::calculateFromAndToValues):
        (WebCore::SVGAnimateTransformElement::parseTransformValue):
        * ksvg2/svg/SVGAnimateTransformElement.h:
        (WebCore::SVGAnimateTransformElement::contextElement):
        * ksvg2/svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::parseKeyNumbers):
        (WebCore::parseValues):
        (WebCore::parseKeySplines):
        (WebCore::SVGAnimationElement::parseMappedAttribute):
        (WebCore::SVGAnimationElement::targetAttributeAnimatedValue):
        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
        (WebCore::SVGAnimationElement::detectAnimationMode):
        (WebCore::adjustPercentagePastForKeySplines):
        (WebCore::SVGAnimationElement::valueIndexAndPercentagePastForDistance):
        (WebCore::SVGAnimationElement::calculateTotalDistance):
        (WebCore::caculateValueIndexForKeyTimes):
        (WebCore::SVGAnimationElement::isValidAnimation):
        (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast):
        (WebCore::SVGAnimationElement::updateAnimationBaseValueFromElement):
        (WebCore::SVGAnimationElement::applyAnimatedValueToElement):
        (WebCore::SVGAnimationElement::handleTimerEvent):
        (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
        * ksvg2/svg/SVGAnimationElement.h:
        * ksvg2/svg/SVGParserUtilities.cpp:
        (WebCore::SVGPolyParser::parsePoints):
        * ksvg2/svg/SVGParserUtilities.h:
        * ksvg2/svg/SVGSetElement.cpp:
        * ksvg2/svg/SVGSetElement.h:
        (WebCore::SVGSetElement::updateAnimatedValue):
        (WebCore::SVGSetElement::calculateFromAndToValues):
        * ksvg2/svg/SVGTransform.cpp:
        (SVGTransform::type):
        (SVGTransform::translate):
        (SVGTransform::scale):
        (SVGTransform::setSkewX):
        (SVGTransform::setSkewY):
        * ksvg2/svg/SVGTransform.h:
        (WebCore::operator==):
        (WebCore::operator!=):
        * ksvg2/svg/SVGTransformDistance.cpp: Added.
        (WebCore::SVGTransformDistance::SVGTransformDistance):
        (WebCore::SVGTransformDistance::scaledDistance):
        (WebCore::SVGTransformDistance::addSVGTransforms):
        (WebCore::SVGTransformDistance::addSVGTransform):
        (WebCore::SVGTransformDistance::addToSVGTransform):
        (WebCore::SVGTransformDistance::isZero):
        (WebCore::SVGTransformDistance::distance):
        * ksvg2/svg/SVGTransformDistance.h: Added.
        * ksvg2/svg/SVGTransformList.cpp:
        (SVGTransformList::concatenateForType):
        * ksvg2/svg/SVGTransformList.h:
        * manual-tests/animation/animateColor-by.svg: Added.
        * manual-tests/animation/animateColor-from-by.svg: Added.
        * manual-tests/animation/animateColor-repeat-indefinite.svg: Added.
        * manual-tests/animation/animateColor-to-from.svg: Added.
        * manual-tests/animation/animateColor-to.svg: Added.
        * manual-tests/animation/animateColor-values-simple.svg: Added.
        * manual-tests/animation/animateMotion-to.svg: Added.
        * manual-tests/animation/animateTransform-keyTimes.svg: Added.
        * manual-tests/animation/animateTransform-repeat-once.svg: Added.

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

15 years ago Reviewed by andersca.
kdecker [Sat, 27 Jan 2007 00:52:16 +0000 (00:52 +0000)]
    Reviewed by andersca.

        Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
        http://bugs.webkit.org/show_bug.cgi?id=11523

        * Plugins/WebBaseNetscapePluginStream.m:
       (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView disconnectStream:]
        * Plugins/WebBaseNetscapePluginView.h: Added disconnectStream: to header.
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView stop]): Make a copy of the streams collection prior to calling stop all streams.
        This is necessary because calling stop has the side effect of removing the stream from this same collection.
        (-[WebBaseNetscapePluginView disconnectStream:]): Added. Removes the stream from the streams collection.

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

15 years ago Reviewed by Darin.
bdakin [Sat, 27 Jan 2007 00:03:56 +0000 (00:03 +0000)]
    Reviewed by Darin.

        Fix for <rdar://problem/4956565> REGRESSION: After scrolling frame,
        hovering over link in this frame doesn't change cursor to pointing
        hand

        The mouseMove event was not being propagated correctly after using
        the mouse to scroll the frame because m_mousePressed was never
        getting set to false.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent): This code does not
        belong here.
        * page/EventHandler.h: lastEventIsMouseUp() is only ever relevant
        in EventHandlerMac, so it can just be a static function there.
        * page/mac/EventHandlerMac.mm:
        (WebCore::lastEventIsMouseUp): Make this static.
        (WebCore::EventHandler::passMouseDownEventToWidget): Here is where
        we need to set m_mousePressed to false if lastEventIsMouseUp() is
        true.

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

15 years agoAdd layout test for orphaned CSS unit coalescing.
hyatt [Fri, 26 Jan 2007 22:47:58 +0000 (22:47 +0000)]
Add layout test for orphaned CSS unit coalescing.

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

15 years ago Fix for style regression caused by strictness checking of the number of prope...
hyatt [Fri, 26 Jan 2007 22:45:42 +0000 (22:45 +0000)]
    Fix for style regression caused by strictness checking of the number of properties.  This caused code like:
        "width: 20 px" to fail, because we interpreted it as two values and rejected it.  Our old code allowed 20 to be
        used like a pixel value and then ignored the orphaned unit.

        This patch actually scans the list of values looking for orphaned units and reattaches them to the numeric
        values that they should correspond to.  This means rules like "width: 5 em" will now work in quirks mdoe and
        the "em" unit type will be honored.

        Reviewed by beth

        * WebCore.xcodeproj/project.pbxproj:
        * css/cssparser.cpp:
        (WebCore::unitFromString):
        (WebCore::CSSParser::checkForOrphanedUnits):
        (WebCore::CSSParser::parseValue):
        * css/cssparser.h:
        (WebCore::ValueList::valueAt):
        (WebCore::ValueList::deleteValueAt):

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

15 years agoWhat's left of my trashed work to add more Qt functionality
staikos [Fri, 26 Jan 2007 22:19:16 +0000 (22:19 +0000)]
What's left of my trashed work to add more Qt functionality

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

15 years agoFixed build that use RetainPtr::adoptCFReference(CFTypeRef)
beidson [Fri, 26 Jan 2007 22:02:04 +0000 (22:02 +0000)]
Fixed build that use RetainPtr::adoptCFReference(CFTypeRef)

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

15 years ago Make it compile again with Qt 4.2 and add the copyright
lars [Fri, 26 Jan 2007 21:13:14 +0000 (21:13 +0000)]
    Make it compile again with Qt 4.2 and add the copyright
        headers where forgotten in the last submit.

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

15 years ago Reviewed by Brady.
darin [Fri, 26 Jan 2007 19:31:00 +0000 (19:31 +0000)]
    Reviewed by Brady.

        - fix <rdar://problem/4956688> move Mac-specific part of icon code into IconMac
        - fix a GC-compatibility problem in the icon code I noticed by code inspection

        * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): Removed Mac-specific
        path check -- that's in newIconForFile now.

        * platform/graphics/Icon.h: Changed the image to be a RetainPtr. The old code was
        using -[NSObject retain] which is not good enough for a pointer in a C++ object.
        * platform/graphics/mac/IconMac.mm:
        (WebCore::Icon::Icon): Got rid of unneeded code to do what RetainPtr does for us.
        (WebCore::Icon::~Icon): Ditto.
        (WebCore::Icon::newIconForFile): Added check for non-absolute file names. Updated
        for use of RetainPtr. Use constructor that takes NSImage.
        (WebCore::Icon::paint): Add get() calls needed now that we are using a RetainPtr.

        * WebCore.xcodeproj/project.pbxproj: Let Xcode do its thing.

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

15 years ago Reviewed by Maciej.
ap [Fri, 26 Jan 2007 18:10:41 +0000 (18:10 +0000)]
    Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=12385
        Assertion failure when loading subresources from "data:" frames

        Test: fast/loader/opaque-base-url.html

        * platform/KURL.cpp:
        (WebCore::KURL::init): Make the URL invalid if it's relative, but has an opaque or empty base.

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

15 years agoLayoutTests:
darin [Fri, 26 Jan 2007 17:20:21 +0000 (17:20 +0000)]
LayoutTests:

        * fast/events/objc-event-api-expected.txt: Updated test result now that we no
        longer invalidate clicks when the mouse moves a bit.

WebCore:

        Reviewed by Darin.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent):
        Removed a call to invalidateClick(), since we don't want to cancel a
        click if the mouse moves.

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

15 years ago * css/MediaQueryEvaluator.cpp:
darin [Fri, 26 Jan 2007 17:14:22 +0000 (17:14 +0000)]
    * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::mediaTypeMatchSpecific):
        Oops, forgot a !.

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

15 years ago Patch by Nate Begeman.
darin [Fri, 26 Jan 2007 17:10:18 +0000 (17:10 +0000)]
    Patch by Nate Begeman.
        Reviewed by Darin and Maciej.

        - <rdar://problem/4946877> Avoid unnecessary allocations in CSS, patch attached (12401)
          http://bugs.webkit.org/show_bug.cgi?id=12401

        * css/MediaQueryEvaluator.h: Add mediaTypeMatchSpecific, a function that
        takes a char* to avoid creating and destroying a String for simple media
        type queries.
        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::mediaTypeMatchSpecific): Added. Besides
        avoiding the conversion to String, this also doesn't have the special
        case code to handle "" and "all".

        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::matchUARules):
        Call mediaTypeMatchSpecific here when deciding whether to use the
        print version of the user agent style sheet.

        * loader/Cache.cpp: (WebCore::Cache::requestResource): Don't convert to
        a string and back to a KURL when calling createResource. Avoids reparsing
        the URL string.

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

15 years agoHistory support on platform Qt. r=lars
zack [Fri, 26 Jan 2007 13:13:48 +0000 (13:13 +0000)]
History support on platform Qt. r=lars
We might switch to a model but for now this is ok.

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

15 years agointroduce platform scrollbars on Qt platform
zack [Fri, 26 Jan 2007 13:01:03 +0000 (13:01 +0000)]
introduce platform scrollbars on Qt platform

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

15 years ago2007-01-26 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 26 Jan 2007 11:40:01 +0000 (11:40 +0000)]
2007-01-26  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11109
          REGRESSION (r15471): menus are offset on eink.com
          <rdar://problem/4824760>

        Changed offset{Left,Top} to match Firefox. If the body element is statically
        positioned, it is still returned as the offsetParent of elements whose containing
        block is the initial containing block (the root), but their offset{Left,Top} are
        relative to the root. If the body element is positioned, then offsets are relative
        to it. The body's own offset{Left,Top} are always 0.

        Test: fast/dom/Element/offsetLeft-offsetTop-body-quirk.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::offsetLeft):
        (WebCore::RenderObject::offsetTop):

2007-01-26  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - test and updated tests and results for
          http://bugs.webkit.org/show_bug.cgi?id=11109
          REGRESSION (r15471): menus are offset on eink.com
          <rdar://problem/4824760>

        * editing/execCommand/findString-2.html:
        * editing/pasteboard/4947130.html:
        * editing/pasteboard/drop-text-without-selection.html:
        * editing/selection/anchor-focus1-expected.txt:
        * editing/selection/click-before-and-after-table.html:
        * editing/selection/drag-select-1.html:
        * editing/selection/editable-links-expected.txt:
        * editing/selection/mixed-editability-1.html:
        * editing/selection/paragraph-granularity.html:
        * editing/selection/selection-actions.html:
        * editing/selection/word-granularity.html:
        * fast/dom/Element/offsetLeft-offsetTop-body-quirk-expected.txt: Added.
        * fast/dom/Element/offsetLeft-offsetTop-body-quirk.html: Added.
        * fast/forms/drag-into-textarea.html:
        * fast/forms/listbox-selection-2.html:
        * fast/forms/listbox-selection.html:
        * fast/table/click-near-anonymous-table-expected.txt:
        * fast/table/click-near-anonymous-table.html:

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

15 years ago2007-01-26 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 26 Jan 2007 11:35:51 +0000 (11:35 +0000)]
2007-01-26  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Reviewed by Darin and Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10983
          REGRESSION (r12290): Drop shadow of flickr photo note is positioned incorrectly the second time it's shown

        Test: fast/dynamic/staticY.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutPositionedObjects): Avoid marking the object's
        parents, since they have already been laid out.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setStaticY): Added a call to setChildNeedsLayout() to
        ensure relayout by this box's container (third and fourth cases in the
        layout test).
        * rendering/RenderBox.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::markContainingBlocksForLayout): For positioned objects
        with static y, also mark the object's parent to ensure that it recomputes
        the static y value (first case in the layout test).

2007-01-26  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin and Maciej.

        - test for http://bugs.webkit.org/show_bug.cgi?id=10983
          REGRESSION (r12290): Drop shadow of flickr photo note is positioned incorrectly the second time it's shown

        Tests three cases that the patch fixes and another one that was fixed in
        r8284 but did not have a test.

        * fast/dynamic/staticY-expected.checksum: Added.
        * fast/dynamic/staticY-expected.png: Added.
        * fast/dynamic/staticY-expected.txt: Added.
        * fast/dynamic/staticY.html: Added.

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

15 years ago Get rid of FrameQtClient. It's unused since we moved over
lars [Fri, 26 Jan 2007 11:16:08 +0000 (11:16 +0000)]
    Get rid of FrameQtClient. It's unused since we moved over
        to the loader.

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

15 years agoCorrectly position child frames within the
zack [Fri, 26 Jan 2007 11:14:31 +0000 (11:14 +0000)]
Correctly position child frames within the
toplevel frame (put them on the viewport). r=lars

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

15 years ago Update the test cases after the last change to
lars [Fri, 26 Jan 2007 09:57:31 +0000 (09:57 +0000)]
    Update the test cases after the last change to
        DumpRenderTree. Hope this will not be needed again.

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

15 years agofix the compile
zack [Fri, 26 Jan 2007 09:50:36 +0000 (09:50 +0000)]
fix the compile

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

15 years ago Reviewed by Maciej.
aroben [Fri, 26 Jan 2007 09:44:57 +0000 (09:44 +0000)]
    Reviewed by Maciej.

        Fixed an issue on tivofaq.com where you could never tab forward into
        the left frame after tabbing out of the document.

        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocus): Clear the focused frame
        before passing off focus to Chrome so that when we re-enter the
        document we start at the main frame instead of the last focused frame.

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

15 years ago Reviewed by Zack
lars [Fri, 26 Jan 2007 09:22:09 +0000 (09:22 +0000)]
    Reviewed by Zack

        WebKitQt:
        Make sure we resize the HTML when resizing a
        QWebFrame. Also ensure that the render tree
        is up to date before dumping it.

        DumpRenderTree:
        Small hack to ensure that our top level frame actually has the
        correct size. Unfortunately this means I'll have to regenerate
        all test cases :/

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

15 years ago Minor update, skip two test case that are hanging
lars [Fri, 26 Jan 2007 09:20:16 +0000 (09:20 +0000)]
    Minor update, skip two test case that are hanging
        forever.

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

15 years ago Reviewed by olliej.
rwlbuis [Fri, 26 Jan 2007 09:03:43 +0000 (09:03 +0000)]
    Reviewed by olliej.

        http://bugs.webkit.org/show_bug.cgi?id=11911
        SVG exhibits double-text-selection behavior

        Fix selection height of the inline text boxes for svg.

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

15 years agoDisplay pages inside a mainwindow instead of a custom qwidget
zack [Fri, 26 Jan 2007 09:00:44 +0000 (09:00 +0000)]
Display pages inside a mainwindow instead of a custom qwidget
in the qtlauncher.

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

15 years agoFix drawing of tiled images. r=lars
zack [Fri, 26 Jan 2007 08:54:19 +0000 (08:54 +0000)]
Fix drawing of tiled images. r=lars

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