13 years ago2007-05-11 Holger Freyther <freyther@kde.org>
bdash [Fri, 11 May 2007 09:01:46 +0000 (09:01 +0000)]
2007-05-11  Holger Freyther <freyther@kde.org>

        Reviewed by Mark Rowe.

        Move libcurl configuration into WebKit.pri so it will be used by GdkLauncher.

        * WebCore.pro:

2007-05-11  Holger Freyther <freyther@kde.org>

        Reviewed by Mark Rowe.

        Move libcurl configuration into WebKit.pri so it will be used by GdkLauncher,
        and add ICU configuration to QMAKE_CXXFLAGS.

        * WebKit.pri:

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

13 years ago2007-05-11 Kimmo Kinnunen <kimmok@iki.fi>
bdash [Fri, 11 May 2007 08:51:49 +0000 (08:51 +0000)]
2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Fixes http://bugs.webkit.org/show_bug.cgi?id=13622 (Decompiler omits trailing
          comma in array literal)

        * kjs/grammar.y: Add the comma that parser consumes in elision
          when the array has trailing commas.

2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Tests for fix to http://bugs.webkit.org/show_bug.cgi?id=13622 (Decompiler omits
          trailing comma in array literal)

        * fast/js/resources/toString-elision-trailing-comma.js: Added.
        * fast/js/toString-elision-trailing-comma-expected.txt: Added.
        * fast/js/toString-elision-trailing-comma.html: Added.

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

13 years ago This tests behaves differently when it isn't run by itself because
justing [Fri, 11 May 2007 05:36:28 +0000 (05:36 +0000)]
This tests behaves differently when it isn't run by itself because
    of a bug.  Filed it (13673) and added a workaround.

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

13 years ago <rdar://problem/5015522> Bounds rectangle of unloaded images is
hyatt [Fri, 11 May 2007 05:17:08 +0000 (05:17 +0000)]
    <rdar://problem/5015522> Bounds rectangle of unloaded images is
        drawn briefly while loading

        When the image is null and has no size, don't draw the grey
        rectangles or alt text any more.  Wait for an actual error to
        occur with the image before we start showing alt text and borders.

        (Images with no source set at all will continue to show alt text and
        borders immediately.)

        Reviewed by bradee-oh

        * rendering/RenderImage.cpp:

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

13 years agoLayoutTests:
thatcher [Fri, 11 May 2007 04:49:54 +0000 (04:49 +0000)]

        Reviewed by Darin.

        - repaint test and updated results for http://bugs.webkit.org/show_bug.cgi?id=13655
          Incomplete repaint when text-shadow is used in a render layer with explicit height

        * fast/repaint/layer-full-repaint-expected.checksum: Added.
        * fast/repaint/layer-full-repaint-expected.png: Added.
        * fast/repaint/layer-full-repaint-expected.txt: Added.
        * fast/repaint/layer-full-repaint.html: Added.
        * fast/repaint/repaint-resized-overflow-expected.checksum:
        * fast/repaint/repaint-resized-overflow-expected.png:


        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13655
          Incomplete repaint when text-shadow is used in a render layer with explicit height

        Test: fast/repaint/layer-full-repaint.html

        Removed custom repaint logic from RenderLayer. repaintAfterLayoutIfNeeded()
        knows how to do everything we need now. The only catch is that we cannot
        rely on its "do a full repaint if the object needs layout" behavior, since
        by the time we call it, the needs layout flag has been reset. The solution
        is to cache the need for a full repaint in the layer.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout): Removed call to checkForRepaintOnResize().
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::checkForRepaintOnResize): Removed.
        (WebCore::RenderLayer::RenderLayer): Replaced the m_repaintOverflowOnResize
        flag with a m_needsFullRepaint flag, which indicates that the layer needs
        to do a full repaint in the next call to updateLayerPositions().
        (WebCore::RenderLayer::updateLayerPositions): Simplified the repaint logic.
        Either call repaintAfterLayoutIfNeeded() or do a full repaint, depending on
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setNeedsLayout): Mark the layer for full repaint.

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

13 years agoLayoutTests:
justing [Fri, 11 May 2007 03:51:40 +0000 (03:51 +0000)]

        Reviewed by ggaren

        <rdar://problem/5195166> Incorrect proposedRange DOMRange passed to WebViewEditing delegate

        * editing/selection/5195166-1-expected.checksum: Added.
        * editing/selection/5195166-1-expected.png: Added.
        * editing/selection/5195166-1-expected.txt: Added.
        * editing/selection/5195166-1.html: Added.
        * editing/selection/5195166-2-expected.checksum: Added.
        * editing/selection/5195166-2-expected.png: Added.
        * editing/selection/5195166-2-expected.txt: Added.
        * editing/selection/5195166-2.html: Added.


        Reviewed by ggaren

        <rdar://problem/5195166> Incorrect proposedRange DOMRange passed to WebViewEditing delegate

        In setModifyBias, we must cache the start and the end
        because the calls to setBase and setExtent can modify
        them (added a testcase).
        The temporary SelectionController that we use in modify() to
        produce the proposed range that will be passed to
        shouldChangeSelectedDOMRange must have the same m_modifyBias
        as the original SelectionController, or else when the
        modification is performed, setModifyBias can swap the base
        and the extent incorrectly (added a testcase).
        Renamed m_modifyBias to m_lastChangeWasHorizontalExtension.
        Renamed setModifyBias to willBeModified.

        * editing/SelectionController.cpp:
        * editing/SelectionController.h:
        * page/EventHandler.cpp:

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

13 years agoWebCore:
ggaren [Fri, 11 May 2007 02:01:11 +0000 (02:01 +0000)]

        Reviewed by Darin Adler.

        "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness,
        in the style of WebCore::cache().

        * WebCore.exp:
        * history/HistoryItem.cpp: Removed retainIconInDatabase because calling
        "retain" in order to release something is really confusing and, now that
        iconDatabase() is more terse, we don't need this helper to shorten the
        syntax. (The isEmpty() check is also done by the database, so we don't
        need it either.)

        (WebCore::IconDatabase::~IconDatabase): ASSERT that our destructor isn't
        called. We're a singleton, so it's confusing to have tear-down code.


        Reviewed by Darin Adler.

        "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.

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

13 years agoLayoutTests:
adele [Fri, 11 May 2007 00:26:12 +0000 (00:26 +0000)]

        Reviewed by Hyatt.

        Test for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result

        * fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.checksum: Added.
        * fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png: Added.
        * fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt: Added.
        * fast/overflow/scroll-nested-positioned-layer-in-overflow.html: Added.


        Reviewed by Hyatt.

        WebCore part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result

        Test: fast/overflow/scroll-nested-positioned-layer-in-overflow.html

        Merged visibleSelectionRect into selectionRect.  selectionRect() now takes an argument to determine
        whether or not to return a rect that clips to the visible content.  This change makes all of the implementations of selectionRect
        consistent by having them all consider the repaint rect when clipping to visible content.

        * page/Frame.cpp:
        (WebCore::Frame::revealSelection): Call selectionRect with clipToVisibleContent = false, so we can get a rect that's not visible to reveal.
        (WebCore::Frame::selectionRect): Added clipToVisibleContent argument, and merged visibleSelectionRect into this method.
        (WebCore::Frame::setIsActive): Use selectionRect instead of visibleSelectionRect.
        * page/Frame.h:
        * page/mac/FrameMac.mm: (WebCore::Frame::selectionImage): Update layout before creating the image.  Use selectionRect instead of visibleSelectionRect.
        * page/DragController.cpp: (WebCore::dragLocForSelectionDrag): Use selectionRect instead of visibleSelectionRect.

        * rendering/RenderBR.h: (WebCore::RenderBR::selectionRect): Updated argument.
        * rendering/RenderBlock.h: (WebCore::RenderBlock::selectionRect): ditto.
        * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::selectionRect): ditto.
        * rendering/RenderSVGInlineText.h: ditto.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::selectionRect): ditto.
        (WebCore::RenderObject::SelectionInfo::SelectionInfo): ditto.
        * rendering/RenderView.cpp:
        (WebCore::RenderView::selectionRect): ditto.
        (WebCore::RenderView::setSelection): ditto.
        * rendering/RenderView.h:

        * rendering/RenderText.h:
        * rendering/RenderText.cpp: (WebCore::RenderText::selectionRect): Only call computeAbsoluteRepaintRect when clipping to visible content.
        Otherwise, just adjust the rect to the correct position.
        * rendering/RenderListMarker.h:
        * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::selectionRect):
          To match what we do in RenderText, if we're trying to clip to visible content, just call computeAbsoluteRepaintRect.
        * rendering/RenderReplaced.h:
        * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::selectionRect): ditto.

        * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Check for a parent layer at the beginning, so we can try to scroll all of our parent layers
          first, before trying to scroll the top level view.  Also, don't try to scroll overflow layers that have -webkit-line-clamp restricting the height.
          This will prevent us from revealing text hidden by the slider in Safari RSS.

        * WebCore.exp: Update symbols for WebKit.


        Reviewed by Hyatt.

        WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result

        Updated to use selectionRect instead of visibleSelectionRect.  selectionRect() now returns the visible rect by default.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
        (-[WebHTMLView selectionImageRect]):

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

13 years agoLand updated continuations outline test.
hyatt [Thu, 10 May 2007 23:10:56 +0000 (23:10 +0000)]
Land updated continuations outline test.

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

13 years ago Fix for:
hyatt [Thu, 10 May 2007 22:59:22 +0000 (22:59 +0000)]
    Fix for:

        <rdar://problem/5195272> REGRESSION: broke outline rings for continuations
        with empty inline containers


        Make sure to only include collapsed top/bottom margins of the block portion
        of the continuation if we know for sure that we have inline line boxes before
        and after that would prevent the collapse from going further.

        In plain English: the focus rings were too tall. :)

        Reviewed by beth

        * rendering/RenderFlow.cpp:

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

13 years agoBack out tweak to add PRE_LINE. Was not part of bug fix and is actually wrong.
hyatt [Thu, 10 May 2007 22:08:47 +0000 (22:08 +0000)]
Back out tweak to add PRE_LINE.  Was not part of bug fix and is actually wrong.

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

13 years agoAdd layout test for pre-wrap minwidth when a newline is present.
hyatt [Thu, 10 May 2007 22:07:13 +0000 (22:07 +0000)]
Add layout test for pre-wrap minwidth when a newline is present.

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

13 years ago Fix for:
hyatt [Thu, 10 May 2007 21:55:50 +0000 (21:55 +0000)]
    Fix for:

        <rdar://problem/5067235> REGRESSION: Excessively wide table, impossible to resize

        The table used white-space: pre-wrap, which is supported only by WebKit.  There
        was a bug with the computation of min pref width for pre-wrap text.

        Reviewed by mitzpettel


        * rendering/RenderText.cpp:

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

13 years ago Reviewed by Oliver
beidson [Thu, 10 May 2007 21:37:58 +0000 (21:37 +0000)]
    Reviewed by Oliver

        Cleanup from my earlier Java Applet patch.  We should keep a central location to query if
        a mime type counts as a Java Applet

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::containsJavaApplet): Query MimeTypeRegistry on the type

        * platform/MimeTypeRegistry.cpp:
        (WebCore::MimeTypeRegistry::isSupportedImageMIMEType): Update style
        (WebCore::MimeTypeRegistry::isSupportedImageResourceMIMEType): Ditto
        (WebCore::MimeTypeRegistry::isSupportedNonImageMIMEType): Ditto
        (WebCore::MimeTypeRegistry::isJavaAppletMIMEType): Perform the Java Applet check
        * platform/MimeTypeRegistry.h:

        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget): Query MimeTypeRegistry on the type

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

13 years ago Reviewed by Darin.
bdakin [Thu, 10 May 2007 19:17:09 +0000 (19:17 +0000)]
    Reviewed by Darin.

        Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8:
        Distiller 8 needs same check fix as 4992521

        * WebView/WebView.mm:
        (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe
        Distiller needs the same quirk.

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

13 years ago<rdar://problem/4720109> Sentence textMarker methods do not work well with empty...
pyeh [Thu, 10 May 2007 18:57:14 +0000 (18:57 +0000)]
<rdar://problem/4720109> Sentence textMarker methods do not work well with empty lines
Add expected result for move-by-sentence-linebreak test case.

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

13 years ago<rdar://problem/4720109> Sentence textMarker methods do not work well with empty...
pyeh [Thu, 10 May 2007 18:54:14 +0000 (18:54 +0000)]
<rdar://problem/4720109> Sentence textMarker methods do not work well with empty lines
Add a testcase to exercise moving insertion point forward by sentence across lines of text that
includes empty lines.

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

13 years ago<rdar://problem/4720109> Sentence textMarker methods do not work well with empty...
pyeh [Thu, 10 May 2007 18:50:39 +0000 (18:50 +0000)]
<rdar://problem/4720109> Sentence textMarker methods do not work well with empty lines

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
        (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
        When a marker position is given, the sentence ax methods automatically shift position by one to make sure
        not to ask for the current sentence again.  This is generally fine except when the position
        shift over an empty line break, which is should be considered a separate sentence. In this case,
        if we used the shifted position to ask for sentence boundary, ICU parser is not given the text data
        containing the newline to correctly determine the sentence boundary.  Since the ax sentence method is
        explicitly shifting the position to ask for sentence boundary, it should make sure not to skip over important
        character that can be a standalone sentence.
        * editing/visible_units.cpp:
        When determining boundary, don't stop on a collapsed range, such as newline.
        Just pick the next valid position to use as boundary.

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

13 years ago Reviewed by Zack
lars [Thu, 10 May 2007 14:36:58 +0000 (14:36 +0000)]
    Reviewed by Zack

        Fix our last three test failures in the JavaScript

Without change 21367 we would have been at 0 failures
        in javascript and layout tests now... ;-)

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

13 years agoLayoutTests:
mjs [Thu, 10 May 2007 12:31:42 +0000 (12:31 +0000)]

        Reviewed by Oliver.

        - new test case for:
        <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
        <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)

        (The test case covers both scenarios.)

        * http/tests/misc/frame-access-during-load-expected.checksum: Added.
        * http/tests/misc/frame-access-during-load-expected.png: Added.
        * http/tests/misc/frame-access-during-load-expected.txt: Added.
        * http/tests/misc/frame-access-during-load.html: Added.

        - test results beneficially or harmlessly changed as a result of the above fixes

        * css2.1/t0801-c412-hz-box-00-b-a-expected.checksum:
        * css2.1/t0801-c412-hz-box-00-b-a-expected.png:
        * css2.1/t0801-c412-hz-box-00-b-a-expected.txt: This reflects an <object> containing
        an image now creating an image renderer.

        * dom/xhtml/level2/html/HTMLIFrameElement11-expected.txt: This is updated to a slightly
        less bad failure for access to a frame that's not loaded yet.

        The following test results now reflect the frame removal that the test was testing:

        * fast/dom/clientWidthAfterDocumentIsRemoved-expected.checksum:
        * fast/dom/clientWidthAfterDocumentIsRemoved-expected.png:
        * fast/dom/clientWidthAfterDocumentIsRemoved-expected.txt:
        * fast/dom/replaceChild-expected.checksum:
        * fast/dom/replaceChild-expected.png:
        * fast/dom/replaceChild-expected.txt:

        The following tests results now reflect empty document content for iframes that never load anything:

        * fast/events/focusingUnloadedFrame-expected.txt:
        * tables/mozilla_expected_failures/bugs/bug137388-1-expected.txt:
        * tables/mozilla_expected_failures/bugs/bug137388-2-expected.txt:


        Reviewed by Oliver.

        - WebCore part of fix for:
        <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
        <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)

        The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
        so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.

        However, this caused many regressions so I had to fix the fallout.

        * WebCore.exp: fix symbol exports
        * bindings/js/kjs_window.cpp:
        (KJS::createNewWindow): useless "created" bool (we don't need it here)
        (KJS::WindowFunc::callAsFunction): detect if we created a new frame, because if so,
        we need to initialize the domain (can't count on it not having a document), also
        don't try to make a new document for it.
        Also, stop properly.
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector): don't count on document having a view here
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::isImageType): Ask client, to match how other <object> renderer
        decisions are made.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader): Initialize new data members
        (WebCore::FrameLoader::init): Do the slightly tricky sequence of steps to properly make
        an empty document with everything hooked up.
        (WebCore::FrameLoader::createWindow): Added "created" bool.
        (WebCore::FrameLoader::stopLoading): (whitespace change)
        (WebCore::FrameLoader::begin): Don't try to create an empty document.
        (WebCore::FrameLoader::finishedParsing): If creating an initial empty document, don't
        do any of this work.
        (WebCore::FrameLoader::checkCompleted): Do checkLoadComplete() as well.
        (WebCore::FrameLoader::baseURL): don't check for null document
        (WebCore::FrameLoader::baseTarget): ditto
        (WebCore::FrameLoader::completeURL): ditto
        (WebCore::FrameLoader::didTellBridgeAboutLoad): ditto
        (WebCore::FrameLoader::scheduleLocationChange): determine duringLoad differently; doc won't
        be null.
        (WebCore::FrameLoader::gotoAnchor): don't check for null document
        (WebCore::FrameLoader::canTarget): don't check for null document
        (WebCore::FrameLoader::stopForUserCancel): new method for explicit stops like window.stop().
        (WebCore::FrameLoader::transitionToCommitted): check for pre-loaded state properly
        (WebCore::FrameLoader::createEmptyDocument): removed
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): don't send delegate callbacks when making initial
        (WebCore::FrameLoader::tokenizerProcessedData): Assume document; just checkCompleted now that it
        does checkLoadComplete.
        (WebCore::FrameLoader::receivedMainResourceError): assume document
        (WebCore::FrameLoader::saveDocumentState): Assume there's a document except during initial load
        (WebCore::FrameLoader::mainReceivedCompleteError): do checkCompleted, not checkLoadComplete
        (WebCore::FrameLoader::continueLoadWithData): assume document
        * loader/FrameLoader.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::receivedError): Add more ref protection and do things in a slightly
        different order.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::document): don't force document creation, just assert there is one.
        * page/Frame.cpp:
        (WebCore::Frame::init): Added init method.
        (WebCore::Frame::pageDestroyed): when a frame is removed, make sure to check if the parent is
        done loading.
        * page/Frame.h:
        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): No need to force
        (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): ditto
        * platform/graphics/svg/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged): init the frame
        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::updateWidgetPosition): If a subframe needs layout, then lay it out even
        if the bounds did not change; the content size might be wrong.
        * rendering/RenderTreeAsText.cpp:
        (WebCore::externalRepresentation): Don't crash if the frame lacks a view.


        Reviewed by Oliver.

        - WebKit part of fix for:
        <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
        <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)

        The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
        so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.

        However, this caused many regressions so I had to fix the fallout.

        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
        with initial empty document now).
        * WebCoreSupport/WebFrameBridge.mm:
        (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
        (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
        * WebView/WebFrame.mm:
        (-[WebFrame stopLoading]): use stopForUserCancel().
        * WebView/WebFrameView.mm:
        (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
        * WebView/WebView.mm:
        (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
        outside the view.
        (-[WebView _becomingFirstResponderFromOutside]): Return this value.
        * WebView/WebViewInternal.h:


        Reviewed by Oliver.

        - don't clear events whenever an EventSendingController goes away, only do it at predictable times,
        since destroying a subframe can make one go away

        (Discovered while fixing:

        <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
        <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)

        * DumpRenderTree/DumpRenderTree.m:
        (runTest): explicitly clear saved events after every page load
        * DumpRenderTree/EventSendingController.h:
        * DumpRenderTree/EventSendingController.m:
        (-[EventSendingController dealloc]): don't clear saved events here...
        (+[EventSendingController clearSavedEvents]): do it here
        * Scripts/check-for-global-initializers:

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

13 years agoAdd layout test for 13654.
hyatt [Thu, 10 May 2007 12:08:25 +0000 (12:08 +0000)]
Add layout test for 13654.

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

13 years ago Fix for:
hyatt [Thu, 10 May 2007 12:06:44 +0000 (12:06 +0000)]
    Fix for:

        <rdar://problem/5146757> REGRESSION: div that wrapped to screen width in
        tiger no longer wraps


        Reviewed by mitz


        * rendering/RenderBlock.cpp:

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

13 years ago2007-05-10 Mark Rowe <mrowe@apple.com>
bdash [Thu, 10 May 2007 10:48:26 +0000 (10:48 +0000)]
2007-05-10  Mark Rowe  <mrowe@apple.com>

        Build fix for DumpRenderTree. Enable Objective-C exceptions in Release configuration.

        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

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

13 years ago Fix for:
hyatt [Thu, 10 May 2007 10:14:21 +0000 (10:14 +0000)]
    Fix for:

        <rdar://problem/4778099> Links with nested continuations fail to
        paint their outlines (11255)


        Fix multiple bugs with outline painting of continuations to ensure that
        all combos work (empty/full inline - block with/without margins -
        empty/full inline).

        Reviewed by mitz


        * rendering/RenderBlock.cpp:
        * rendering/RenderFlow.cpp:

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

13 years agoAdd continuation outline drawing test.
hyatt [Thu, 10 May 2007 10:13:00 +0000 (10:13 +0000)]
Add continuation outline drawing test.

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

13 years agoAdd layout test to cover RTL overflow issue.
hyatt [Thu, 10 May 2007 09:29:19 +0000 (09:29 +0000)]
Add layout test to cover RTL overflow issue.

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

13 years ago Fix for:
hyatt [Thu, 10 May 2007 09:28:24 +0000 (09:28 +0000)]
    Fix for:

        <rdar://problem/5193529> REGRESSION: RTL Overflows scrollbar not showing
        when they should be

        Fallout from fix for bug 11926.  Make sure to restrict the fix to the
        RenderView for now, since the full-blown overflow case is pretty involved.

        Reviewed by mitzpettel


        * rendering/RenderBlock.cpp:

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

13 years agoLayoutTests:
beidson [Thu, 10 May 2007 08:55:44 +0000 (08:55 +0000)]

        Reviewed by Oliver

        Fix for http://bugs.webkit.org/show_bug.cgi?id=13636 and <rdar://problem/5190816>

        When creating the applets collection, be sure to only count Objects if they contain
        a java applet

        * dom/html/level2/html/AppletsCollection-expected.txt: Added.
        * dom/html/level2/html/AppletsCollection.html: Added.


        Reviewed by Oliver

        Fix for http://bugs.webkit.org/show_bug.cgi?id=13636 and <rdar://problem/5190816>

        When creating the applets collection, be sure to only count Objects if they contain
        a java applet

        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::traverseNextItem): Add the qualifier for Objects that
          containsJavaApplet() must be true

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::containsJavaApplet): Check this Object element and inner
          nodes for any Java applets
        * html/HTMLObjectElement.h:

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

13 years ago Fix for:
hyatt [Thu, 10 May 2007 08:52:58 +0000 (08:52 +0000)]
    Fix for:

        <rdar://problem/4694859> SAP: HTML tags with overflow:hidden consume
        space on page, do not consume space in Firefox (11926)


        Make sure that unreachable objects along one axis (e.g., top/left) do not
        contribute to the scrollable area in the opposite axis (e.g., right/bottom).

        Reviewed by olliej


        * rendering/RenderBlock.cpp:

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

13 years agoAdd layout test for bug 11926.
hyatt [Thu, 10 May 2007 08:50:05 +0000 (08:50 +0000)]
Add layout test for bug 11926.

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

13 years agoAdd layout test for opacity/letter-spacing bug.
hyatt [Thu, 10 May 2007 08:09:23 +0000 (08:09 +0000)]
Add layout test for opacity/letter-spacing bug.

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

13 years ago Fix for:
hyatt [Thu, 10 May 2007 08:09:14 +0000 (08:09 +0000)]
    Fix for:

        <rdar://problem/4656825> REGRESSION: Japanese TV time table widget:
        part of the number in background has been cut off.

        Now that opacity uses a tight bounding box to clip, we need to make sure
        to factor spillout caused by negative letter spacing into our right
        overflow.  Latch on to the code that does this already for text-stroke
        and text-shadow.

        Reviewed by olliej


       * rendering/InlineFlowBox.cpp:

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

13 years agoLayoutTests:
ggaren [Thu, 10 May 2007 08:00:33 +0000 (08:00 +0000)]

        Reviewed by Maciej Stachowiak.

        Tests for more fix-ups to the WebScriptObject/WebScripting APIs, related to
        <rdar://problem/5140447> API for fetching JSGlobalContextRef from WebView
        or WebFrame

        * fast/dom/wrapper-classes-expected.txt:
        * fast/dom/wrapper-classes.html: Added cases to test the wrapper classes
        for different data types sent across the JS/ObjC bridge.
        * fast/dom/wrapper-round-tripping-expected.txt: Added.
        * fast/dom/wrapper-round-tripping.html: Added. New test to verify that
        you can round-trip between a JSObjectRef and a WebScriptObject.


        Reviewed by Maciej Stachowiak.

        More fix-ups to the WebScriptObject/WebScripting APIs, related to
        <rdar://problem/5140447> API for fetching JSGlobalContextRef from WebView
        or WebFrame

        * bindings/objc/WebScriptObject.h: Fully specified the surprising rules for
        type conversion between JavaScript and ObjC.
        * bindings/objc/WebScriptObject.mm: Added up-call accessor to WebFrame.
        This is kind of stinky, but I'm OK with it because eventually all of this
        code should move up into WebKit.
        (+[WebScriptObject scriptObjectForJSObject:frame:]):
        (-[WebScriptObject valueForKey:]):
        (-[WebScriptObject JSObject]):
            - Added _rootObject check because if _rootObject returns NULL it means
            that _imp is no longer GC protected, so it's not safe to use.
            - Added _isSafeScript check because that's what WebScriptObject methods
            typically do, even though the value of doing so isn't clear to me.
        * bindings/objc/WebScriptObjectPendingPublic.h: Added WebFrame* parameter
        to -scriptObjectForJSObject:. This is required to wrap JS objects that
        are not already in the wrapper cache. It would be nice to remove this
        limitation of WebScriptObject some day.
        * page/mac/FrameMac.mm:
        (WebCore::Frame::cleanupPlatformScriptObjects): Force removal of m_windowScriptObject
        from the cache, to avoid retrieving the m_windowScriptObject from the previous
        page on a new page load. (It would be non-functional in that case.)


        Reviewed by Maciej Stachowiak.

        Added support for testing ObjC/JS type bridging.

        Added ASSERT that -JSObject returns nil when the underlying JSObject
        is no longer GC protected.

        * DumpRenderTree/DumpRenderTree.m:
        (-[WaitUntilDoneDelegate webView:didClearWindowObject:forFrame:]):
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (+[LayoutTestController webScriptNameForSelector:]):
        (-[LayoutTestController accessStoredWebScriptObject]):
        (-[LayoutTestController testWrapperRoundTripping]):
        (-[LayoutTestController objCClassNameOf:]):
        (-[LayoutTestController objCObjectOfClass:]):
        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

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

13 years ago Add missing test result.
lars [Thu, 10 May 2007 07:50:24 +0000 (07:50 +0000)]
    Add missing test result.

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

13 years agoAdd vertical align layout test for inline blocks.
hyatt [Thu, 10 May 2007 07:34:59 +0000 (07:34 +0000)]
Add vertical align layout test for inline blocks.

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

13 years ago Reviewed by Simon
lars [Thu, 10 May 2007 07:33:53 +0000 (07:33 +0000)]
    Reviewed by Simon

        Move setting of the DPI value a few lines up. Should fix
        the last two remaining failures in the layout tests.

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

13 years ago Fix for <rdar://problem/5183697>.
hyatt [Thu, 10 May 2007 07:32:56 +0000 (07:32 +0000)]
    Fix for <rdar://problem/5183697>.


        Make sure verticalPositionHint is not called on an inline-block from
        content inside the inline-block (like text).

        Reviewed by olliej


        * rendering/RenderObject.cpp:
        * rendering/RenderText.cpp:
        * rendering/RenderThemeMac.mm:

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

13 years ago2007-05-09 Oliver Hunt <oliver@apple.com>
oliver [Thu, 10 May 2007 04:53:50 +0000 (04:53 +0000)]
2007-05-09  Oliver Hunt  <oliver@apple.com>


        The previous patch (r21346) broke editing, rolling out

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
        (-[WebHTMLView doCommandBySelector:]):

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

13 years ago2007-05-09 Adele Peterson <adele@apple.com>
oliver [Thu, 10 May 2007 02:28:52 +0000 (02:28 +0000)]
2007-05-09  Adele Peterson  <adele@apple.com>

        Reviewed by Oliver.

        Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons

        We don't need to call interpretKeyEvents for cmd-key events as
        they events will be interpreted by performKeyEquivalent.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
        (-[WebHTMLView doCommandBySelector:]):

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

13 years agoRemove random characters from changelog
oliver [Thu, 10 May 2007 02:11:56 +0000 (02:11 +0000)]
Remove random characters from changelog

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

13 years ago Reviewed by Adam.
oliver [Thu, 10 May 2007 02:08:28 +0000 (02:08 +0000)]
    Reviewed by Adam.

        Workaround for rdar://problem/5114296 need to allow for
        download occuring, and thus not triggering subframeLoaded()

        * fast/encoding/char-encoding.html:

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

13 years ago Reviewed by Darin Adler.
ggaren [Wed, 9 May 2007 22:16:41 +0000 (22:16 +0000)]
    Reviewed by Darin Adler.

        Fixed #includes of JSStringRefCF.h and use of CF datatypes. I think I
        misunderstood this issue before.

        * API/JavaScriptCore.h: #include JSStringRefCF.h. Platforms that don't
        want this behavior can just #include individual headers, instead of the
        umbrella framework header. But we definitely want Mac OS X clients to
        get the #include of JSStringRefCF.h "for free."
        * API/minidom.c: Don't #include JSStringRefCF.h. (Don't need to #include
        JavaScriptCore.h, either.)
        * API/testapi.c: Don't #include JSStringRefCF.h. Do use CF datatypes
        regardless of whether __APPLE__ is defined. Platforms that don't support
        CF just shouldn't compile this file.

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

13 years ago2007-05-09 Holger Freyther <zecke@selfish.org>
bdash [Wed, 9 May 2007 21:42:38 +0000 (21:42 +0000)]
2007-05-09  Holger Freyther <zecke@selfish.org>

        Reviewed by Mark Rowe.

        Gdk build fix with SVG enabled.  Stub out ImageBufferCairo.

        * WebCore.pro: Build ImageBufferCairo.cpp
        * platform/graphics/cairo/ImageBufferCairo.cpp: Added.

2007-05-09  Holger Freyther <zecke@selfish.org>

        Reviewed by Mark Rowe.

        * GdkLauncher/main.cpp: Always include config.h.

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

13 years agoLayoutTests:
justing [Wed, 9 May 2007 19:59:14 +0000 (19:59 +0000)]

        Reviewed by darin

        <rdar://problem/5017613> Style changes don't effect fully selected ToDo content

        Demonstrates the bug:
        * editing/style/5017613-1-expected.checksum: Added.
        * editing/style/5017613-1-expected.png: Added.
        * editing/style/5017613-1-expected.txt: Added.
        * editing/style/5017613-1.html: Added.

        Tests to make sure that a plaintext-only region
        will only be styled if it is fully selected:
        * editing/style/5017613-2-expected.checksum: Added.
        * editing/style/5017613-2-expected.png: Added.
        * editing/style/5017613-2-expected.txt: Added.
        * editing/style/5017613-2.html: Added.


        Reviewed by darin

        <rdar://problem/5017613> Style changes don't effect fully selected ToDo content

        * editing/ApplyStyleCommand.cpp:
        Use a for loop instead of while(1).
        Simplify loop termination using Range::pastEndNode.
        Don't handle the start.node() == end.node() case
        specially, it's unnecessary.
        Apply the style change to fully selected plaintext-only
        regions, not with wrapper spans inside the region, but
        by changing the element's inline style declaration.
        Don't descend into nodes whose children we should ignore.

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

13 years agoLayoutTests:
adele [Wed, 9 May 2007 18:45:33 +0000 (18:45 +0000)]

        Reviewed by Hyatt.

        Updated results for <rdar://problem/5113578> REGRESSION: textfields that set the height but not the font
        look different from IE & FF because the font is small

        * fast/block/float/032-expected.txt:
        * fast/forms/input-text-word-wrap-expected.checksum:
        * fast/forms/input-text-word-wrap-expected.png:
        * fast/forms/input-text-word-wrap-expected.txt:


        Reviewed by Hyatt.

        Fix for <rdar://problem/5113578> REGRESSION: textfields that set the height but not the font
        look different from IE & FF because the font is small

        For plain text fields, don't stretch the inner text box.  Center it vertically in the field.

        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::layout):

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

13 years ago - checked in a file that was accidentally left out of the last check-in
darin [Wed, 9 May 2007 14:57:58 +0000 (14:57 +0000)]
    - checked in a file that was accidentally left out of the last check-in

        * fast/js/cyclic-prototypes-expected.txt: Added.

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

13 years ago2007-05-09 Eric Seidel <eric@webkit.org>
eseidel [Wed, 9 May 2007 10:36:25 +0000 (10:36 +0000)]
2007-05-09  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        Cyclic __proto__ values cause WebKit to hang

        * kjs/object.cpp:
        (KJS::JSObject::put): do a cycle check before setting __proto__

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

13 years ago2007-05-09 Atul Mehrotra <atul.mehrotra@celunite.com>
bdash [Wed, 9 May 2007 10:35:09 +0000 (10:35 +0000)]
2007-05-09  Atul Mehrotra  <atul.mehrotra@celunite.com>

        Gdk build fix.

        * platform/gdk/TemporaryLinkStubs.cpp:

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

13 years ago2007-05-09 Mitz Pettel <mitz@webkit.org>
bdash [Wed, 9 May 2007 07:52:41 +0000 (07:52 +0000)]
2007-05-09  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13037
          REGRESSION: Copy-on-scroll not reset properly after back/forward navigation

        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate): Moved initialization of
        m_slowRepaintObjectCount here.
        (WebCore::FrameViewPrivate::reset): Do not reset the slow repaint object
        count here.
        (WebCore::FrameView::removeSlowRepaintObject): Added an assertion that the
        object count is positive.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle): Corrected a mix up between old and new
        style, which caused the object count to be decremented when it was supposed
        to be incremented and vice versa.

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

13 years ago2007-05-09 Peter Müller <pm@one.com>
bdash [Wed, 9 May 2007 07:48:31 +0000 (07:48 +0000)]
2007-05-09  Peter Müller <pm@one.com>

        Reviewed by Dave Hyatt.

        Changed the hardcoded colors that are used for CSS 2.1 system colors.
        Previous colors had numerous conflicts in semantic pairs, which
        made text invisible in highlight, info and menu colored areas.
        The new hardcoded colors are inspired by Aqua.

        Ideally these colors should be fetched through AppKit instead,
        though I am not sure if it is possible to make a 1:1 mapping
        between CSS2.1 system colors and Mac OS X.

        * css/cssstyleselector.cpp:

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

13 years ago Fix the Qt build.
lars [Wed, 9 May 2007 07:16:49 +0000 (07:16 +0000)]
    Fix the Qt build.

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

13 years agoLayoutTests:
ggaren [Wed, 9 May 2007 05:28:48 +0000 (05:28 +0000)]

        Reviewed by Darin Adler.

        Added test to verify that you get back the same JS/ObjC wrapper when
        you access the same object twice.

        * fast/dom/wrapper-identity-expected.txt: Added.
        * fast/dom/wrapper-identity.html: Added.


        Reviewed by Darin Adler.

        More fix-ups to the WebScriptObject/WebScripting APIs, related to
        <rdar://problem/5140447> API for fetching JSGlobalContextRef from WebView
        or WebFrame

        1. Added -scriptObjectForJSObject: SPI so you can bridge back from JavaScriptCore
        to WebScriptObject.

        2. Fixed WebScriptObject bridging so that you always get the same WebScriptObject
        for a JSObject (like in the DOM). This makes -scriptObjectForJSObject: a
        lot more coherent as an API.

        * bindings/objc/DOMInternal.mm: Renamed wrapperCache to DOMWrapperCache
        to distinguish from the JSWrapperCache. Added typedef for readability.
        * bindings/objc/WebScriptObject.mm: Added JSWrapperCache, which works just
        like the DOMWrapperCache.
        (+[WebScriptObject scriptObjectForJSObject:]): This is the new API. It attempts
        to return a specific DOM wrapper object, or, barring that, it returns a
        generic WebScriptObject.
        (+[WebScriptObject scriptObjectForJSObject:originRootObject:rootObject:]):
        Added this method to support our old WebScriptObject security and leak
        checking model, even though it doesn't work very well.
        (-[WebScriptObject _setImp:originRootObject:rootObject:]):
        (-[WebScriptObject dealloc]):
        (-[WebScriptObject finalize]):
        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
        * bindings/objc/WebScriptObjectPendingPublic.h:
        * bindings/objc/WebScriptObjectPrivate.h:
        * page/mac/FrameMac.mm:
        (WebCore::Frame::windowScriptObject): Changed to use the new API. This
        fixes a bug where the object sent to -windowScriptObjectAvailable: and returned
        from -windowScriptObject could not be round-tripped.


        Reviewed by Darin Adler.

        Added support for testing ObjC object identity.

        Added ASSERT to verify that you can round-trip the object passed to you
        in -didClearWindowObject:forFrame:.

        * DumpRenderTree/DumpRenderTree.m:
        (-[WaitUntilDoneDelegate webView:didClearWindowObject:forFrame:]):
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (+[LayoutTestController webScriptNameForSelector:]):
        (-[LayoutTestController accessStoredWebScriptObject]):
        (-[LayoutTestController objCIdentityIsEqual::]):

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

13 years ago2007-05-09 Mark Rowe <mrowe@apple.com>
bdash [Wed, 9 May 2007 05:15:48 +0000 (05:15 +0000)]
2007-05-09  Mark Rowe  <mrowe@apple.com>

        Build fix to keep the buildbot happy.

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

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

13 years ago2007-05-08 Bruce Q Hammond <bruceq@apple.com>
bdash [Wed, 9 May 2007 04:09:24 +0000 (04:09 +0000)]
2007-05-08  Bruce Q Hammond  <bruceq@apple.com>

        Reviewed by Darin.

        Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct

        Now we have correct handling of the origin when QD plugins draw to
        offscreen bitmaps.
        Also the clipping code for this path was doing unnecessary work which
        caused incorrect results; it has been removed.

        This change should not affect Safari and in general will only affect
        plugins (e.g. Flash) drawing to a CGBitmapContext.

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

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

13 years ago2007-05-09 Mark Rowe <mrowe@apple.com>
bdash [Wed, 9 May 2007 04:07:15 +0000 (04:07 +0000)]
2007-05-09  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * editing/Editor.cpp:
        (WebCore::findFirstGrammarDetailInRange): Use unsigned rather than int.
        (WebCore::findFirstBadGrammarInRange): Cast to unsigned in assertion.
        (WebCore::isRangeUngrammatical): Remove unused variables.

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

13 years ago2007-05-08 Kimmo Kinnunen <kimmok@iki.fi>
eseidel [Wed, 9 May 2007 03:11:33 +0000 (03:11 +0000)]
2007-05-08  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by darin.  Landed by eseidel.

        - http://bugs.webkit.org/show_bug.cgi?id=10880 (Do..while loop gains
        a semicolon each time it is toStringed)
        Grammar in Ecma-66262, 12.6: "do Statement while ( Expression );"
        EmptyStatement was created after every do..while(expr) which
        had semicolon at the end.

        * kjs/grammar.y: Require semicolon at the end of do..while

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

13 years ago Reviewed by Darin.
sfalken [Wed, 9 May 2007 01:02:58 +0000 (01:02 +0000)]
    Reviewed by Darin.

Implemented spelling/grammar related WebEditorClient methods.

        * WebCoreSupport/WebEditorClient.h:
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker.
        (WebEditorClient::learnWord): Added. Call through to NSSpellChecker.
        (WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker.
        (WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker.
        (WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker.
        (WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker.
        (WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker.
        (WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker.
        (WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker.

        Reviewed by Darin.

        Moved most spelling/grammar logic to C++.  Now calls through to
WebKit to actually invoke NSSpellChecker.

        * editing/Editor.cpp:
        (WebCore::Editor::ignoreSpelling): Added (ported from EditorMac).
        (WebCore::Editor::learnSpelling): Added (ported from EditorMac).
        (WebCore::findFirstMisspellingInRange): Added (ported from EditorMac).
        (WebCore::paragraphAlignedRangeForRange): Added (ported from EditorMac).
        (WebCore::findFirstGrammarDetailInRange): Added (ported from EditorMac).
        (WebCore::findFirstBadGrammarInRange): Added (ported from EditorMac).
        (WebCore::Editor::advanceToNextMisspelling): Added (ported from EditorMac).
        (WebCore::Editor::isSelectionMisspelled): Added (ported from EditorMac).
        (WebCore::isRangeUngrammatical): Added (ported from EditorMac).
        (WebCore::Editor::isSelectionUngrammatical): Added (ported from EditorMac).
        (WebCore::Editor::guessesForUngrammaticalSelection): Added (ported from EditorMac).
        (WebCore::Editor::guessesForMisspelledSelection): Added (ported from EditorMac).
        (WebCore::Editor::showSpellingGuessPanel): Added (ported from EditorMac).
        (WebCore::Editor::spellingPanelIsShowing): Added (ported from EditorMac).
        (WebCore::Editor::markMisspellingsAfterTypingToPosition): Added (ported from EditorMac).
        (WebCore::markAllMisspellingsInRange): Added (ported from EditorMac).
        (WebCore::markAllBadGrammarInRange): Added (ported from EditorMac).
        (WebCore::markMisspellingsOrBadGrammar): Added (ported from EditorMac).
        (WebCore::Editor::markMisspellings): Added (ported from EditorMac).
        (WebCore::Editor::markBadGrammar): Added (ported from EditorMac).
        * editing/mac/EditorMac.mm: Removed Objective C version of spelling/grammar calls.

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

13 years agoLayoutTests:
oliver [Tue, 8 May 2007 23:14:05 +0000 (23:14 +0000)]

        Reviewed by darin.

        Test for <rdar://problem/5188938> arc method on
        Canvas causes hang or crash work around.

        * fast/canvas/arc-crash-expected.txt: Added.
        * fast/canvas/arc-crash.html: Added.


        Reviewed by Darin.

        Fix <rdar://problem/5188938> arc method on Canvas causes hang or crash

        Workaround bad behaviour of CGPathAddArc when passed inf as start or
        end angles.

        * platform/graphics/cg/PathCG.cpp:

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

13 years ago Reviewed by Hyatt and Hatcher.
darin [Tue, 8 May 2007 22:51:36 +0000 (22:51 +0000)]
    Reviewed by Hyatt and Hatcher.

        - fix auto-activation code path so Tiger and Leopard aren't different

        * platform/mac/WebFontCache.mm: (+[WebFontCache fontWithFamily:traits:size:]):
        Do the auto-activation dance first before doing anything else, and ignore the
        font that it returns.

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

13 years ago2007-05-08 Steve Falkenburg <sfalken@apple.com>
sfalken [Tue, 8 May 2007 19:27:50 +0000 (19:27 +0000)]
2007-05-08  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Ada.

        Slight modification to last editor method fix.

        * WebCoreSupport/WebEditorClient.h:

2007-05-08  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Ada.

        Slight modification to last editor method fix.

        * bridge/EditorClient.h:
        * platform/gdk/EditorClientGdk.cpp:
        * platform/gdk/EditorClientGdk.h:
        * platform/graphics/svg/SVGImageEmptyClients.h:

2007-05-08  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Ada.

        Slight modification to last editor method fix.

        * WebCoreSupport/EditorClientQt.cpp:
        * WebCoreSupport/EditorClientQt.h:

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

13 years ago Build fix -- this time for sure.
ggaren [Tue, 8 May 2007 18:31:15 +0000 (18:31 +0000)]
    Build fix -- this time for sure.

        APICast.h, being private, ends up in a different folder than JSValueRef.h,
        so we can't include one from the other using "". Instead, just forward
        declare the relevant data types.

        * API/APICast.h:

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

13 years ago Build fix: export APICast.h for WebCore and WebKit.
ggaren [Tue, 8 May 2007 17:54:08 +0000 (17:54 +0000)]
    Build fix: export APICast.h for WebCore and WebKit.

        * JavaScriptCore.xcodeproj/project.pbxproj:

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

13 years ago Reviewed by Hyatt.
ap [Tue, 8 May 2007 17:41:30 +0000 (17:41 +0000)]
    Reviewed by Hyatt.

        window.Attr is undefined

        Test: fast/dom/Window/attr-constructor.html

        * dom/Attr.idl:
        * dom/CDATASection.idl:
        * dom/CharacterData.idl:
        * dom/Comment.idl:
        * dom/DOMImplementation.idl:
        * dom/DocumentType.idl:
        * dom/Entity.idl:
        * dom/EntityReference.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * dom/Text.idl:
        Added GenerateConstructor.

        * page/DOMWindow.idl: Added constructor properties for DOM interfaces.

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

13 years agoWebCore:
ggaren [Tue, 8 May 2007 17:34:58 +0000 (17:34 +0000)]

        Reviewed by Maciej Stachowiak.

        Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from
        WebView or WebFrame

        Added support for new -[WebScriptObject JSObject] and -[WebFrame globalContext]

        Also fixed some more cases of <rdar://problem/4395622> API:
        WebScriptObject.h incorrectly reports that -isSelectorExcludedFromWebScript
        returns NO by default, and generally cleaned up that documentation.

        * WebCore.exp: A lot of the diff here is from sorting.
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/WebScriptObject.h:
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject JSObject]):
        * bindings/objc/WebScriptObjectPendingPublic.h: Added.


        Reviewed by Maciej Stachowiak.

        Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from
        WebView or WebFrame

        Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
        a new frame load delegate method, - (void)webView:(WebView *)webView
        didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
        This is all to support briding between the WebScriptObject and JavaScriptCore

        Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly
        reports that -isSelectorExcludedFromWebScript returns NO by default, and
        generally cleaned up the WebScriptObject headerdoc.

        * WebCoreSupport/WebFrameBridge.mm:
        (-[WebFrameBridge windowObjectCleared]):
        * WebView/WebFrame.mm:
        (-[WebFrame windowObject]):
        (-[WebFrame globalContext]):
        * WebView/WebFramePrivate.h:
        * WebView/WebViewPrivate.h:


        Reviewed by Maciej Stachowiak.

        Added tests for new APIs: -[WebFrame windowObject], -[WebFrame globalContext],
        and - (void)webView:(WebView *)webView didClearWindowObject:(WebScriptObject *)windowObject
        forFrame:(WebFrame *)frame, in the form of ASSERTs.

        * DumpRenderTree/DumpRenderTree.m:
        (runJavaScriptThread): Fixed quote mismatch that prepare-changelog likes
        to complain about.

        (-[WaitUntilDoneDelegate webView:windowScriptObjectAvailable:]):
        (-[WaitUntilDoneDelegate webView:didClearWindowObject:forFrame:]):
        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

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

13 years ago Reviewed by Darin.
thatcher [Tue, 8 May 2007 16:40:12 +0000 (16:40 +0000)]
    Reviewed by Darin.

        <rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates

        Call the delegate when the one of our views gets a validateUserInterfaceItem: call.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
        (-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
        * WebView/WebPDFView.mm:
        (-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
        (-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
        * WebView/WebView.mm:
        (-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice.
        (-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
        (-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.

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

13 years ago Reviewed by Zack.
lars [Tue, 8 May 2007 14:05:36 +0000 (14:05 +0000)]
    Reviewed by Zack.

        Adjust tests that have console output, now that it's added by

        Dump JavaScript console messages as well. Also requires a slight
        change in run-webkit-tests, so we still correctly differentiate
        between text only and rendertree tests.

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

13 years ago Update the baseline for traversal/ and add a few missing results in
lars [Tue, 8 May 2007 11:40:27 +0000 (11:40 +0000)]
    Update the baseline for traversal/ and add a few missing results in

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

13 years ago Reviewed by Zack
lars [Tue, 8 May 2007 10:26:50 +0000 (10:26 +0000)]
    Reviewed by Zack

        Specify what the serif, sans-serif and monospace aliases
        should map to and explicitly select the Gui style of
        DRT to be plastique.

        Fixes most of the test failures still seen on the build bot.

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

13 years ago Reviewed by Hyatt.
lars [Tue, 8 May 2007 08:29:50 +0000 (08:29 +0000)]
    Reviewed by Hyatt.

        Fix valgrind reported uninitialized memory read.

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

13 years agoLayoutTests:
justing [Tue, 8 May 2007 08:22:57 +0000 (08:22 +0000)]

        Reviewed by oliver

        <rdar://problem/4895428> Can't drag selected ToDo

        This tests to see that the focus of a focusable node
        inside an already focused node is delayed until mouse up:
        * editing/selection/4895428-2-expected.checksum: Added.
        * editing/selection/4895428-2-expected.png: Added.
        * editing/selection/4895428-2-expected.txt: Added.
        * editing/selection/4895428-2.html: Added.

        We delay focus until mouse up, but only if that node is
        inside an already focused node:
        * editing/selection/4895428-3-expected.checksum: Added.
        * editing/selection/4895428-3-expected.png: Added.
        * editing/selection/4895428-3-expected.txt: Added.
        * editing/selection/4895428-3.html: Added.

        This demonstrates the bug:
        * editing/selection/4895428-4-expected.checksum: Added.
        * editing/selection/4895428-4-expected.png: Added.
        * editing/selection/4895428-4-expected.txt: Added.
        * editing/selection/4895428-4.html: Added.


        Reviewed by oliver

        <rdar://problem/4895428> Can't drag selected ToDo

        The user tries to drag a selection by mousing down
        on the editable part of a ToDo, which is focusable,
        since it is an editable node within non-editable
        content.  But we focus focusable elements on mouse
        down, and focusing the editable piece blows away
        the selection and prevents the drag. This is how
        IE behaves, but content seems generally difficult
        to drag in IE, so this doesn't make it any worse.

        Since focus doesn't appear to be cancelable, either
        with a DOM event or an editing delegate, I fixed this
        by delaying the focus of focusable nodes that are
        selected and inside an already focused node.  The
        node will be focused if the user mouses up without
        doing any dragging because the mouse up sets a
        selection, which calls setFocusNodeIfNeeded.

        * page/EventHandler.cpp:

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

13 years agoVersioning.
bdash [Tue, 8 May 2007 08:07:19 +0000 (08:07 +0000)]

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

13 years ago2007-05-07 Atul Mehrotra <atul.mehrotra@celunite.com>
oliver [Tue, 8 May 2007 05:41:48 +0000 (05:41 +0000)]
2007-05-07  Atul Mehrotra <atul.mehrotra@celunite.com>

        Reviewed by Maciej.

        GDK Build fix

        * platform/gdk/TemporaryLinkStubs.cpp:

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

13 years agoLayoutTests:
oliver [Tue, 8 May 2007 04:59:48 +0000 (04:59 +0000)]

        Reviewed by Maciej.

        Test the behaviour of canvas methods called with inf/nan parameters

        * fast/canvas/canvas-with-incorrect-args-expected.txt: Added.
        * fast/canvas/canvas-with-incorrect-args.html: Added.


        Reviewed by Maciej.

        Correcting comparisons to handle NaN in the same manner
        as other Canvas methods.

        * html/CanvasRenderingContext2D.cpp:
          Correcting arc/arcTo to match the WHAT WG draft.

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

13 years ago Add some comments to the glyph/font code (patch from MarvinD, tweaked by
hyatt [Tue, 8 May 2007 00:57:09 +0000 (00:57 +0000)]
    Add some comments to the glyph/font code (patch from MarvinD, tweaked by
        me to correct a few bits and to make it forward-compatible with the work
        going on in 3315.

        Reviewed by me

        * ChangeLog:
        * platform/Font.cpp:
        * platform/GlyphPageTreeNode.cpp:
        * platform/GlyphPageTreeNode.h:

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

13 years ago Fix layout test failures.
justing [Mon, 7 May 2007 23:55:48 +0000 (23:55 +0000)]
    Fix layout test failures.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::contains): Use comparePositions
        instead of Range::comparePoint, because comparePositions can
        handle positions inside shadow trees.

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

13 years agoLayoutTests:
justing [Mon, 7 May 2007 22:15:42 +0000 (22:15 +0000)]

        Reviewed by darin

        <rdar://problem/4895428> Can't drag selected To Do if it is not showing a due date

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


        Reviewed by darin

        <rdar://problem/4895428> Can't drag selected To Do if it is not showing a due date

        The code in SelectionController::contains returned false
        incorrectly if the selection end just after a table
        and the position was inside that table.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::contains): Compare the position with the
        ends of the selection and then use Range::comparePoint.

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

13 years ago Actually finish the code move from my last checkin
beidson [Mon, 7 May 2007 22:09:02 +0000 (22:09 +0000)]
    Actually finish the code move from my last checkin

        * History/WebHistoryItem.mm:
        (-[WebHistoryItem _transientPropertyForKey:]):
        (-[WebHistoryItem _setTransientProperty:forKey:]):

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

13 years ago Rubberstamped by Kevin (Sarge)
beidson [Mon, 7 May 2007 21:57:42 +0000 (21:57 +0000)]
    Rubberstamped by Kevin (Sarge)

        Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI

        * History/WebHistoryItemInternal.h:
        * History/WebHistoryItemPrivate.h:

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

13 years agoRemoved files. Not sure why they didn't get removed before.
darin [Mon, 7 May 2007 17:25:43 +0000 (17:25 +0000)]
Removed files. Not sure why they didn't get removed before.

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

13 years agoLayoutTests:
darin [Mon, 7 May 2007 16:25:44 +0000 (16:25 +0000)]

        - rolling out setInnerHTML optimization until I can figure out why tests are failing


        - rolling out setInnerHTML optimization until I can figure out why tests are failing

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

13 years ago Reviewed by Zack.
lars [Mon, 7 May 2007 15:04:40 +0000 (15:04 +0000)]
    Reviewed by Zack.

        New baseline for the table tests.
        Skip the fast tests for now.

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

13 years agoLayoutTests:
darin [Mon, 7 May 2007 14:45:50 +0000 (14:45 +0000)]

        Reviewed by Hyatt.

        - test for http://bugs.webkit.org/show_bug.cgi?id=13602
          Amazon product pages keep repainting over and over again

        * fast/dom/HTMLElement/set-inner-outer-optimization-expected.txt: Added.
        * fast/dom/HTMLElement/set-inner-outer-optimization.html: Added.


        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13602
          Amazon product pages keep repainting over and over again

        Optimize setInnerHTML, setOuterHTML, and setInnerText so they don't change the DOM at all
        if they don't need to.

        Test: fast/dom/HTMLElement/set-inner-outer-optimization.html

        * html/HTMLElement.cpp:
        (WebCore::equal): Added. Helper function that compares two Text nodes or two NamedAttrMap
        attribute maps.
        (WebCore::shallowEqual): Added. Helper function that compares two Element nodes or two
        arbitrary nodes.
        (WebCore::replaceChildrenWithFragment): Added. Helper function used by setInnerHTML and
        setInnerText. Optimizes the cases where all the nodes are the same, where both the current
        and the new content are single text nodes, and where the current content is a single node
        that can be replaced with replaceChild.
        (WebCore::replaceChildrenWithText): Added. Helper function used by setInnerText. Optimizes
        the case where the current content is a single text node or a single node that can be
        replaced with replaceChild.
        (WebCore::HTMLElement::setInnerHTML): Changed to call replaceChildrenWithFragment.
        (WebCore::HTMLElement::setOuterHTML): Added special case to optimize when the new content
        exactly matches the current node.
        (WebCore::HTMLElement::setInnerText): Changed to call replaceChildrenWithText in a few
        cases instead of doing removeChildren/appendChild. Changed code that was using
        DeprecatedString to instead use String. Changed general case to use a document fragment
        and replaceChildrenWithFragment.

        * dom/CharacterData.cpp: (WebCore::CharacterData::dispatchModifiedEvent):
        Fixed bug where we would not dispatch the DOMSubtreeModified event unless someone
        was registered for the DOMCharacterDataModified event. Caused trouble in the test.

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

13 years ago Change 5 results in css2.1 that were wrong due to a Qt bug.
lars [Mon, 7 May 2007 13:56:23 +0000 (13:56 +0000)]
    Change 5 results in css2.1 that were wrong due to a Qt bug.
        Add css3 baseline.

        Fix the default font in DRT to 9pt Sans Serif.

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

13 years ago New baseline for the css2.1 tests.
lars [Mon, 7 May 2007 07:07:23 +0000 (07:07 +0000)]
    New baseline for the css2.1 tests.

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

13 years ago - blind try at fixing the Qt build
darin [Mon, 7 May 2007 03:07:51 +0000 (03:07 +0000)]
    - blind try at fixing the Qt build

        * platform/qt/TextBreakIteratorQt.cpp: (WebCore::sentenceBreakIterator):
        Added a placeholder.

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

13 years agoLayoutTests:
darin [Mon, 7 May 2007 03:03:26 +0000 (03:03 +0000)]

        Reviewed by Hyatt.

        - test for http://bugs.webkit.org/show_bug.cgi?id=13537

        * fast/canvas/drawImage-with-invalid-args.html: Changed to a dumpAsText test.
        Added logging and a negative-size test.
        * fast/canvas/drawImage-with-invalid-args-expected.txt: Updated.

        * fast/canvas/drawImage-with-invalid-args-expected.checksum: Removed.
        * fast/canvas/drawImage-with-invalid-args-expected.png: Removed.


        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13537
          Canvex example starts rendering strangely after a while

        * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage):
        Don't raise an exception if the source or destination rectangle is empty.

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

13 years ago Reviewed by Hyatt.
darin [Mon, 7 May 2007 02:57:55 +0000 (02:57 +0000)]
    Reviewed by Hyatt.

        - fix <rdar://problem/4585593> REGRESSION: Some 2-byte characters in printed page
          header are drawn with too-large font and clipped

        Doesn't affect text within web pages, so no layout test.

        * platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters):
        Base the substitute font on the FontPlatformData rather than the FontDescription.
        Before, it was a mix of both. This works properly for fonts where we have no
        FontDescription and is also more internally consistent.

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

13 years ago Reviewed by Hyatt.
darin [Mon, 7 May 2007 02:56:37 +0000 (02:56 +0000)]
    Reviewed by Hyatt.

        - http://bugs.webkit.org/show_bug.cgi?id=13606
          some functions are virtual that don't need to be

        * dom/Node.h: Made first/lastChild be inline functions that call virtual functions.
        This lets us hide the functions with another inline function in a derived class,
        yet still override the behavior here in the base class by overriding the virtual
        functions too.
        * dom/Node.cpp:
        (WebCore::Node::virtualFirstChild): Renamed virtual functions. There are now
        non-virtual inline functions that call these virtual functions.
        (WebCore::Node::virtualLastChild): Ditto.

        * dom/ContainerNode.h: Added non-virtual first/lastChild functions that hide the ones
        inherited from the Node class; these also replace the fastFirst/LastChild functions,
        and transparently give callers the faster form if they have a pointer of the right
        type. But still override the virtual functions named virtualFirst/LastChild, because
        those can still be called through a Node*. Removed the "fast" from the names of
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::virtualFirstChild): Renamed virtual functions. There are now
        also non-virtual inline versions.
        (WebCore::ContainerNode::virtualLastChild): Ditto.

        * dom/CharacterData.cpp: Removed implementations of data and length functons.
        * dom/CharacterData.h: Made data, setData, length, substringData, appendData,
        insertData, deleteData, and replaceData all non-virtual, and made data and length
        both be inline.

        * dom/NamedAttrMap.h: (WebCore::NamedAttrMap::attributeItem): Removed a null check
        from this function. If the length of the map is known to be greater than 0, then
        the null check isn't needed. But if the length of the map hasn't been checked at all,
        then it's unsafe to call this function since it doesn't range check the array
        index. Thus the null check is never needed. I also looked at all callers.

        * dom/Attr.cpp: (WebCore::Attr::createTextChild):
        * dom/Document.cpp: (WebCore::Document::recalcStyle):
        * dom/Element.cpp: (WebCore::Element::recalcStyle):
        * ksvg2/svg/SVGElement.cpp:
        Removed "fast" prefix from calls to fastFirst/LastChild and fastSetFirst/LastChlld.
        It's not needed any more -- you still get fast behavior if the pointer has a type
        that's ContainerNode or derived from it.

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

13 years ago2007-05-06 Erik Bunce <kde@bunce.us>
bdash [Mon, 7 May 2007 02:36:38 +0000 (02:36 +0000)]
2007-05-06  Erik Bunce  <kde@bunce.us>

        Reviewed by Mark Rowe.

        * WebKit.pri:
        Removed unnecessary dependency on MacPorts (/opt/local)

2007-05-06  Erik Bunce  <kde@bunce.us>

        Reviewed by Mark Rowe.

        * WebCore.pro:
        Removed unnecessary dependency on MacPorts (/opt/local)

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

13 years ago2007-05-06 Mitz Pettel <mitz@webkit.org>
ap [Sun, 6 May 2007 16:42:10 +0000 (16:42 +0000)]
2007-05-06  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13557
          Crash when dragging selection over absolutely positioned generated content on block element

        Test: fast/css-generated-content/positioned-background-hit-test-crash.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::enclosingElement): Added. Factored out of hitTestLayer().
        (WebCore::RenderLayer::hitTestLayer): Implemented the fix for <rdar://problem/3552346>
        from r6106 to the self hit test as well, namely: return the enclosing element
        for generated positioned content.
        * rendering/RenderLayer.h:

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

13 years ago Reviewed by Darin.
ap [Sun, 6 May 2007 16:05:01 +0000 (16:05 +0000)]
    Reviewed by Darin.

        <script> code wrongly assumes requests can't fail

        Test: fast/loader/unloadable-script.html

        * html/HTMLScriptElement.cpp:
        Check the return value of requestScript().

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

13 years ago Reviewed by Darin.
ap [Sun, 6 May 2007 05:17:04 +0000 (05:17 +0000)]
    Reviewed by Darin.

        REGRESSION(14784): WebKit doesn't dynamically reflect changes to the highlight color in System Preferences

        Implemented a notification observer that invalidates cached system colors.

        No automated test possible.

        * rendering/RenderTheme.cpp:
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
        (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):

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

13 years ago Reviewed by Oliver.
rwlbuis [Sat, 5 May 2007 10:53:58 +0000 (10:53 +0000)]
    Reviewed by Oliver.

        parseMappedAttribute inconsistency

        Do not use local vars in parseMappedAttribute for attr name and value.

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

13 years ago Reviewed by Hyatt.
oliver [Sat, 5 May 2007 07:10:14 +0000 (07:10 +0000)]
    Reviewed by Hyatt.

        Initialise default fill with Color::black rather than parsing
        the string "black"

        * ksvg2/svg/SVGPaint.cpp:

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

13 years ago Reviewed by Oliver.
sfalken [Sat, 5 May 2007 04:08:29 +0000 (04:08 +0000)]
    Reviewed by Oliver.

        Use TextBreakIterator for sentence breaking instead of TextBoundaries.

        * WebCore.xcodeproj/project.pbxproj: Added TextBreakIeratorInternalICUMac.mm
        * editing/visible_units.cpp:
        (WebCore::startSentenceBoundary): Call TextBreakIterator instead of TextBoundaries.
        (WebCore::endSentenceBoundary): Call TextBreakIterator instead of TextBoundaries.
        (WebCore::previousSentencePositionBoundary): Call TextBreakIterator instead of TextBoundaries.
        (WebCore::nextSentencePositionBoundary): Call TextBreakIterator instead of TextBoundaries.
        * platform/TextBoundaries.h: Removed findSentenceBoundary, findNextSentenceFromIndex.
        * platform/TextBreakIterator.h: Added sentenceBreakIterator.
        * platform/TextBreakIteratorICU.cpp:
        (WebCore::setUpIterator): Add locale parameter (needed to maintain functionality that TextBoundaries code had).
        (WebCore::characterBreakIterator): Pass en_us for locale (same as old code).
        (WebCore::wordBreakIterator): Pass en_us for locale (same as old code).
        (WebCore::lineBreakIterator): Pass en_us for locale (same as old code).
        (WebCore::sentenceBreakIterator): Added.
        * platform/TextBreakIteratorInternalICU.h: Added.
        * platform/gdk/TemporaryLinkStubs.cpp: Removed findNextSentenceFromIndex, findSentenceBoundary.
        (WebCore::currentTextBreakLocaleID): Added stub.
        * platform/mac/TextBoundaries.mm: Removed currentTextBreakLocaleID, findSentenceBoundary, findNextSentenceFromIndex.
        * platform/mac/TextBreakIteratorInternalICUMac.mm: Added.
        (WebCore::currentTextBreakLocaleID): Moved from TextBoundaries.mm
        * platform/qt/TextBoundaries.cpp: Removed findNextSentenceFromIndex, findSentenceBoundary.

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

13 years ago Reviewed by Hyatt.
adele [Sat, 5 May 2007 00:17:19 +0000 (00:17 +0000)]
    Reviewed by Hyatt.

        Fix for <rdar://problem/5116871> REGRESSION: Can't select options in widget's listbox

        Don't use user-select to determine whether or not options can be selected in listboxes.
        This will match Firefox behavior for -moz-user-select.

        * html/HTMLSelectElement.cpp:

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

13 years agoWebCore:
ggaren [Fri, 4 May 2007 23:39:01 +0000 (23:39 +0000)]

        Reviewed by Tim Hatcher.

        First step in fixing <rdar://problem/5055182> The back cache has no global cap

        Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
        on the underlying back cache.

        * WebCore.exp:
        * history/HistoryItem.cpp:
        * history/HistoryItem.h:
        * loader/FrameLoader.cpp:


        Reviewed by Tim Hatcher.

        First step in fixing <rdar://problem/5055182> The back cache has no global cap

        Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
        on the underlying back cache.

        I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't
        want to break Safari 2.0, but I removed its header declaration so nobody
        else starts using it.

        * History/WebHistoryItem.mm:
        (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
        * History/WebHistoryItemPrivate.h:

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

13 years agoWebCore:
ggaren [Fri, 4 May 2007 21:15:28 +0000 (21:15 +0000)]

        Reviewed by Brady Eidson.

        Removed export of clearPageCache(), since it was unused externally. I plan
        to remove its use from WebCore eventually, too.

        Removed usesPageCache(), since it was unused and it duplicated pageCacheSize().

        * WebCore.exp:
        * history/BackForwardList.cpp:
        * history/BackForwardList.h: Moved statics to the top of the class definition.
        * loader/FrameLoader.cpp:


        Reviewed by Brady Eidson.

        Some cleanup in preparation for fixing <rdar://problem/5055182> The
        back/forward cache has no global cap

        Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri
        of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper,
        and webCoreBackForwardList, we use webBackForwardList for WebKit and
        backForwardList for WebCore, matching their respective class names.

        Removed "private" versions of kit() and core() -- kit() and core() are
        canonically used for converting between WebKit API objects and WebCore
        API objects. I think it's clearer to have only one way to do this.

        Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused.

        Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0.

        Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize.

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

13 years agoAdded bugs.webkit.org URL.
darin [Fri, 4 May 2007 17:38:25 +0000 (17:38 +0000)]
Added bugs.webkit.org URL.

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

13 years agoJavaScriptCore:
darin [Fri, 4 May 2007 17:14:57 +0000 (17:14 +0000)]

        Reviewed by Adele.

        - fix <rdar://problem/5007921> Number.toExponential doesn't work for negative numbers

        * kjs/number_object.cpp: (NumberProtoFunc::callAsFunction):
        Added a call to fabs before calling log10.


        Reviewed by Adele.

        - test for <rdar://problem/5007921> Number.toExponential doesn't work for negative numbers

        * fast/js/kde/resources/Number.js: Added negative number versions of some tests of
        toFixed, toExponential, toPrecision, etc.
        * fast/js/kde/Number-expected.txt: Updated, new tests all passing.

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