WebKit-https.git
15 years agoWebCore:
mjs [Tue, 15 May 2007 08:24:53 +0000 (08:24 +0000)]
WebCore:

        Reviewed by Hyatt and Lars.

        - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window

        * WebCore.exp: export new symbol
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin): move marker that we committed a real doc load from here...
        (WebCore::FrameLoader::transitionToCommitted): ...to here
        (WebCore::FrameLoader::frameHasLoaded): check that we have at least started loading something
        besides the initial empty doc.
        * loader/FrameLoader.h:

WebKit:

        Reviewed by Hyatt and Lars.

        - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window

        * WebView/WebDataSource.mm:
        (-[WebDataSource request]): Return nil when we are still showing the initial empty doc

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

15 years ago5319 -> 5879 passing test cases for the Qt build.
lars [Tue, 15 May 2007 07:37:22 +0000 (07:37 +0000)]
5319 -> 5879 passing test cases for the Qt build.

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

15 years ago Spelling markers fixed:
justing [Tue, 15 May 2007 07:31:50 +0000 (07:31 +0000)]
    Spelling markers fixed:
        * editing/deleting/delete-block-table-expected.checksum:
        * editing/deleting/delete-block-table-expected.png:
        * editing/selection/move-by-line-001-expected.checksum:
        * editing/selection/move-by-line-001-expected.png:

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

15 years agoLayoutTests:
justing [Tue, 15 May 2007 06:15:21 +0000 (06:15 +0000)]
LayoutTests:

        Reviewed by ggaren

        Updated these expected results.  We now clear the
        selection inside a focused node *after* firing the
        mousedown event handler, which matches FF:
        * fast/forms/focus-selection-input-expected.txt:
        * fast/forms/focus-selection-textarea-expected.txt:

WebCore:

        Reviewed by ggaren

        <http://bugs.webkit.org/show_bug.cgi?id=13716>
        REGRESSION: Three new layout test failures

        Two failures are correct.  Updated their expected results.

        In fast/events/frame-tab-focus.html, as we advance
        through focusable nodes, we descend into a subframe
        to focus a node and then ascend out of it into the
        main frame to focus the next.  When we focus the main
        frame, the node in that frame that was previously
        focused and contains an inactive selection is focused
        momentarily because setCaretVisible tries to focus the
        node containing the caret.

        * page/Frame.cpp:
        (WebCore::Frame::setCaretVisible): Don't focus the
        node containing the caret. FocusController will focus
        the previously focused node (which will contain the
        caret) if necessary when the frame gains focus.

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

15 years ago Reviewed by ggaren
justing [Tue, 15 May 2007 05:59:35 +0000 (05:59 +0000)]
    Reviewed by ggaren

        Spelling markers fixed:
        * editing/deleting/delete-to-select-table-expected.checksum:
        * editing/deleting/delete-to-select-table-expected.png:
        * editing/selection/end-of-document-expected.checksum:
        * editing/selection/end-of-document-expected.png:
        * editing/inserting/insert-paragraph-02-expected.checksum:
        * editing/inserting/insert-paragraph-02-expected.png:

        Focus halo now painted:
        * editing/execCommand/format-block-with-braces-expected.checksum:
        * editing/execCommand/format-block-with-braces-expected.png:

        Needed FIXMEs removed after fixing 4714993:
        * editing/pasteboard/merge-end-1-expected.checksum:
        * editing/pasteboard/merge-end-1-expected.png:
        * editing/pasteboard/merge-end-1-expected.txt:
        * editing/pasteboard/merge-end-1.html:
        * editing/pasteboard/merge-end-2-expected.checksum:
        * editing/pasteboard/merge-end-2-expected.png:
        * editing/pasteboard/merge-end-2-expected.txt:
        * editing/pasteboard/merge-end-2.html:

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

15 years agoLayoutTests:
mjs [Tue, 15 May 2007 05:53:17 +0000 (05:53 +0000)]
LayoutTests:

        Reviewed by Brady.

        - Test case for <rdar://problem/5203036> REGRESSION: Assertion failure in WebCore::FrameLoader::restoreScrollPositionAndViewState() going back from fark.com Photoshop contest (13684)

        * http/tests/incremental/slow-utf8-html.pl:
        * http/tests/navigation/back-to-slow-frame.html: Added.
        * http/tests/navigation/back-to-slow-frame-expected.txt: Added.
        * http/tests/navigation/resources/back-to-slow-frame-2.html: Added.
        * http/tests/navigation/resources/back-to-slow-frame-3.html: Added.
        * http/tests/navigation/resources/slow-resource-1-sec.pl: Added.

WebCore:

        Reviewed by Brady.

        - fixed <rdar://problem/5203036> REGRESSION: Assertion failure in WebCore::FrameLoader::restoreScrollPositionAndViewState() going back from fark.com Photoshop contest (13684)

        Test: http/tests/navigation/back-to-slow-frame.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::restoreScrollPositionAndViewState): Add needed early return.

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

15 years ago2007-05-14 Kimmo Kinnunen <kimmok@iki.fi>
bdash [Tue, 15 May 2007 01:53:54 +0000 (01:53 +0000)]
2007-05-14  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/nodes2string.cpp:
         (ArrayNode::streamTo): print extra ',' in case there was elision
         commas (check opt member var) and array elements present
         in the array expression

2007-05-14  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@21473 268f45cc-cd09-0410-ab3c-d52691b4dbfc

15 years ago2007-05-14 Mitz Pettel <mitz@webkit.org>
bdash [Tue, 15 May 2007 01:41:53 +0000 (01:41 +0000)]
2007-05-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13603
          style leaks in washingtonpost.com
          also known as http://bugs.webkit.org/show_bug.cgi?id=8750
          w3c.org: incorrect recovery from unclosed <a> elements
          also known as http://bugs.webkit.org/show_bug.cgi?id=12808
          Handling of misnested tags results in entire page appearing as link
          also known as http://bugs.webkit.org/show_bug.cgi?id=12861
          Post text renders as link

        Test: fast/parser/residual-style-close-across-n-blocks.html

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Changed to
        deal with multiple block crossings instead of bailing out, by doing multiple
        reparenting passes, starting from the outermost block.

2007-05-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - test for http://bugs.webkit.org/show_bug.cgi?id=13603
          style leaks in washingtonpost.com

        * fast/parser/residual-style-close-across-n-blocks-expected.txt: Added.
        * fast/parser/residual-style-close-across-n-blocks.html: Added.

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

15 years ago2007-05-14 Mitz Pettel <mitz@webkit.org>
bdash [Tue, 15 May 2007 01:39:27 +0000 (01:39 +0000)]
2007-05-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13711
          REGRESSION - Bookmark Bar text rendering changed

        No test possible since this patch affects only Safari chrome.

        * platform/Font.cpp:
        (WebCore::Font::Font): Initialize m_isPlatformFont according to whether
        the Font object is derived from a FontPlatformData or not.
        * platform/Font.h:
        (WebCore::Font::isPlatformFont): Added. Returns whether this Font was
        derived from a platform font.
        * platform/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters): Changed to not enable
        synthetic bold and italic in the fallback fonts if the original font
        was derived from a platform font.

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

15 years agoLayoutTests:
weinig [Tue, 15 May 2007 01:32:35 +0000 (01:32 +0000)]
LayoutTests:

        Reviewed by Alice.

        - Tests for http://bugs.webkit.org/show_bug.cgi?id=13541
          REGRESSION: Setting a DOMString attribute to JS null in the
          JS bindings should default to converting to the empty string

        * fast/dom/document-attribute-js-null-expected.txt: Added.
        * fast/dom/document-attribute-js-null.html: Added.
        * fast/dom/element-attribute-js-null-expected.txt: Added.
        * fast/dom/element-attribute-js-null.html: Added.
        * fast/forms/input-null-expected.txt: Removed.
        * fast/forms/input-null.html: Removed.

WebCore:

        Reviewed by Alice!

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=13541
          REGRESSION: Setting a DOMString attribute to JS null in the
          JS bindings should default to converting to the empty string

          Convert JS null to the empty string when passing it to an attribute that takes
          a DOMString.

        Test: fast/dom/document-attribute-js-null.html
        Test: fast/dom/element-attribute-js-null.html

        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNode::putValueProperty):
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::putValueProperty):
        (KJS::JSHTMLElement::objectSetter):
        (KJS::JSHTMLElement::embedSetter):
        (KJS::JSHTMLElement::tableSetter):
        (KJS::JSHTMLElement::tableCaptionSetter):
        (KJS::JSHTMLElement::tableColSetter):
        (KJS::JSHTMLElement::tableSectionSetter):
        (KJS::JSHTMLElement::tableRowSetter):
        (KJS::JSHTMLElement::tableCellSetter):
        (KJS::JSHTMLElement::frameSetSetter):
        (KJS::JSHTMLElement::frameSetter):
        (KJS::JSHTMLElement::iFrameSetter):
        (KJS::JSHTMLElement::marqueeSetter):
        (KJS::JSHTMLElement::putValueProperty):
        * bindings/js/kjs_html.h:
        * dom/Document.idl:
        * dom/Node.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLTitleElement.idl:
        * html/HTMLUListElement.idl:

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

15 years ago Trying to fix the Qt build.
ggaren [Tue, 15 May 2007 00:24:54 +0000 (00:24 +0000)]
    Trying to fix the Qt build.

        * WebCore.pro:

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

15 years agoJavaScriptCore:
ggaren [Tue, 15 May 2007 00:20:16 +0000 (00:20 +0000)]
JavaScriptCore:

        Reviewed by Oliver Hunt.

        Added HashMap::swap and HashSet::swap. WebCore now uses HashSet::swap.
        I figured while I was in the neighborhood I might as well add HashMap::swap,
        too.

        * wtf/HashMap.h:
        (WTF::::operator):
        (WTF::::swap):
        * wtf/HashSet.h:
        (WTF::::operator):
        (WTF::::swap):

WebCore:

        Reviewed by Oliver Hunt.

        Some improvements on my last patch, suggested by Darin.

        * history/PageCache.cpp:
        (WebCore::PageCache::autoreleaseNow): Swap with an empty set instead of
        building up an array and then calling clear(). This is slightly more
        efficient and the code is cleaner.

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

15 years agoLayoutTests:
justing [Mon, 14 May 2007 21:37:04 +0000 (21:37 +0000)]
LayoutTests:

        Reviewed by darin

        <rdar://problem/5136696> Selection is removed when focusing a node in another frame

        Demonstrates bug:
        * editing/selection/5136696-expected.checksum: Added.
        * editing/selection/5136696-expected.png: Added.
        * editing/selection/5136696-expected.txt: Added.
        * editing/selection/5136696.html: Added.

WebCore:

        Reviewed by darin

        <rdar://problem/5136696> Selection is removed when focusing a node in another frame
        <rdar://problem/5192388> WordPress: Can't insert links/images

        Don't clear a selection when changing focus if the new
        focus node is in a different frame than the old selection.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode): Moved code to clear
        selections to the FocusController, since it is Page level
        and will know about the frame/document that contained the
        old selection. Moved code to call shouldEndEditing to the
        FocusController because selections are now cleared before
        calling Document::setFocusedNode and shouldEndEditing must
        be called before selections are cleared.
        * dom/Element.cpp:
        (WebCore::Element::blur): Call FocusController::setFocusNode
        instead of Document::setFocusNode, if possible.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchMouseEvent): Ditto.
        * page/FocusController.cpp:
        (WebCore::relinquishesEditingFocus): Moved from Document.cpp.
        (WebCore::clearSelectionIfNeeded): Ditto.  Don't clear if
        the old selection is in a frame that's different than the
        one that contains the new focus node.
        (WebCore::FocusController::setFocusedNode): Moved code
        here from Document::setFocusedNode.
        * page/Frame.cpp:
        (WebCore::Frame::setFocusedNodeIfNeeded): Call
        FocusController::setFocusNode.

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

15 years agoWebCore:
ggaren [Mon, 14 May 2007 21:29:15 +0000 (21:29 +0000)]
WebCore:

        Reviewed by Darin Adler.

        Next step toward fixing <rdar://problem/5055182> The back cache has no
        global cap.

        Created a PageCache singleton. Right now, it only handles the timer-based
        deallocation of cached pages. I plan to add HistoryItem->CachedPage tracking
        and eviction logic in later patches.

        Updated for renames and file changes:

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::setPageCacheSize):
        (WebCore::BackForwardList::clearPageCache):

        Removed global timed release code, moved into new PageCache class, since
        it's eventually going to be in charge of deciding when things are released:

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::setCachedPage):
        * history/HistoryItem.h:

        Folded into PageCache:

        * history/HistoryItemTimer.cpp: Removed.
        * history/HistoryItemTimer.h: Removed.

        New singleton. Right now, it just handles timed release of cached pages:

        * history/PageCache.cpp: Added.
        (WebCore::pageCache):
        (WebCore::PageCache::PageCache):
        (WebCore::PageCache::autoreleaseNowOrReschedule):
        (WebCore::PageCache::autoreleaseNow):
        (WebCore::PageCache::autorelease):
        * history/PageCache.h: Added.

WebKit:

        Reviewed by Darin Adler.

        Updated for WebCore move to PageCache singleton. Also removed some WebCore::
        prefixes and replaced them with 'using namespace WebCore'.

        * History/WebHistoryItem.mm:
        (+[WebHistoryItem _releaseAllPendingPageCaches]):
        (-[WebWindowWatcher windowWillClose:]):

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

15 years ago Reviewed by Darin.
adele [Mon, 14 May 2007 21:16:38 +0000 (21:16 +0000)]
    Reviewed by Darin.

        Fix for <rdar://problem/5200081> Repro crash in PopupMenu::show clicking popup menu button after reload

        * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Added call to dismissPopup so the cell gets unattached properly.

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

15 years ago Reviewed by Darin.
adele [Mon, 14 May 2007 20:57:15 +0000 (20:57 +0000)]
    Reviewed by Darin.

        Remove incorrect assertion.

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

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

15 years agoAdd another 1000 tests that we pass for the Qt build.
lars [Mon, 14 May 2007 20:43:34 +0000 (20:43 +0000)]
Add another 1000 tests that we pass for the Qt build.

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

15 years ago Add another 300 test cases, that are ok on the Qt build.
lars [Mon, 14 May 2007 19:20:11 +0000 (19:20 +0000)]
    Add another 300 test cases, that are ok on the Qt build.
        Add a few more tests that need examination to the Skipped list.

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

15 years ago Reviewed by Geoff.
andersca [Mon, 14 May 2007 18:53:14 +0000 (18:53 +0000)]
    Reviewed by Geoff.

        <rdar://problem/5172056> Regression: cannot open txt file, get broken image

        Never let plug-ins override text/plain.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):

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

15 years agoFix dependcy tracking in project files.
zack [Mon, 14 May 2007 14:39:41 +0000 (14:39 +0000)]
Fix dependcy tracking in project files.

Add dependpath to project to get better dependency tracking for header
files in the qmake project files.

r=simon

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

15 years ago Reviewed by Zack
lars [Mon, 14 May 2007 13:41:06 +0000 (13:41 +0000)]
    Reviewed by Zack

        Updates after Maciej's frame change.

This gets things to run again. The #ifdef PLATFORM(QT)
in the FrameLoader should not be needed (and adding the line
inside on the mac doesn't seem to trigger any failures there).
I'm submitting with it to be on the safe side for now, since I
really need our tests to run again.

Btw, post-commit-linux-qt should show up green on with this submit :))

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

15 years ago Reviewed by Antti.
darin [Mon, 14 May 2007 13:30:41 +0000 (13:30 +0000)]
    Reviewed by Antti.

        - fix <rdar://problem/3109180> VIP: after go back, page jumps after loading even if I scrolled while loading

        * history/CachedPage.cpp: (WebCore::CachedPage::clear): Call clearFrame rather than
        clearPart -- the "part" term was leftover prehistoric terminology.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::open): Call setWasScrolledByUser(false) on the page, so that we
        can detect any user scrolling that happens during the "go back" process.
        (WebCore::FrameLoader::restoreScrollPositionAndViewState): Don't scroll if the view's
        wasScrolledByUser flag is set.
        (WebCore::FrameLoader::loadItem): Call setWasScrolledByUser(false) false when we do
        a new "load" (actually just a scroll) using the same frame. Also moved the line of code that
        sets m_currentHistoryItem to make this code path mroe similar to recursiveGoToItem.
        (WebCore::FrameLoader::recursiveGoToItem): Ditto.

        * page/Frame.cpp:
        (WebCore::Frame::~Frame): Call clearFrame rather than stting m_frame directly.
        (WebCore::Frame::sendScrollEvent): Call setWasScrolledByUser(true) on FrameView. The FrameView
        itself knows to ignore this if the scrolling is being done programmatically instead of by the user.

        * page/FrameView.h: Added wasScrolledByUser and setWasScrolledByUser. Also removed unneeded
        include and class forward declarations, renamed clearPart to clearFrame, removed uneeded function
        haveDelayedLayoutScheduled, and removed unneeded friend declarations.
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate): Added m_inProgrammaticScroll and m_wasScrolledByUser.
        (WebCore::FrameViewPrivate::reset): Set m_wasScrolledByUser to false.
        (WebCore::FrameView::clearFrame): Renamed from clearPart.
        (WebCore::FrameView::scrollRectIntoViewRecursively): Added code to set the m_inProgrammaticScroll flag.
        (WebCore::FrameView::setContentsPos): Ditto.
        (WebCore::FrameView::wasScrolledByUser): Added.
        (WebCore::FrameView::setWasScrolledByUser): Added. Does nothing if called when m_inProgrammaticScroll
        is true.

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

15 years ago2007-05-14 Kimmo Kinnunen <kimmok@iki.fi>
darin [Mon, 14 May 2007 13:26:44 +0000 (13:26 +0000)]
2007-05-14  Kimmo Kinnunen  <kimmok@iki.fi>

        Tests for http://bugs.webkit.org/show_bug.cgi?id=10878
        Bug 10878: Incorrect decompilation for "4..x"

        Test all the different forms of expressions that can contain
        a dot following a number literal.
        Includes new tests for PrefixDotNode, PostfixDotNode, DeleteDotNode,
        AssignDotNode and FunctionCallParenDotNode.

        * fast/js/resources/toString-number-dot-expr.js:
        * fast/js/toString-number-dot-expr-expected.txt: Updated.

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

15 years ago Reviewed by Antti.
darin [Mon, 14 May 2007 13:12:54 +0000 (13:12 +0000)]
    Reviewed by Antti.

        - <rdar://problem/4865655> REGRESSION: find function does not work for the character ß

        The trick was to fold case consistently in the CircularSearchBuffer class.

        The problem was that we were folding the search target string with full case folding and
        the characters of the text we were searching with simple case folding. We now use full
        case folding in both cases.

        * editing/TextIterator.cpp:
        (WebCore::CircularSearchBuffer::CircularSearchBuffer): Changed the buffer to be a
        Vector<UChar>. Added a Vector<bool> to record which characters were starts of characters
        in the text we are searching. Changed the cursor to be an int rather than a pointer.
        (WebCore::CircularSearchBuffer::append): New function that knows how to append multiple
        characters when folding case turns one character into many -- uses the full foldCase
        rather than the simplified single-character foldCase. Also removed the append function
        that did multiple characters at once; that was part of an optimization we don't need.
        (WebCore::CircularSearchBuffer::isMatch): Instead of asserting that the buffer is full,
        changed this to return false if it's not full, which lets us fill up the buffer with
        the normal loop. Also return false if the start of the buffer is half-way through a
        case-folded character and updated this since m_cursor is now an integer.
        (WebCore::CircularSearchBuffer::length): This returns the length in non-case-folded
        characters of the characters that were appended, which may not be the same as the length
        of the original target string. To do that we have to total up the character start
        booleans for the current state of the circular buffer.
        (WebCore::findPlainText): Streamlined the logic in a few ways: 1) Moved more of the
        return value setup to the top of the function so it could be shared with the early
        error exit. 2) Removed the separate "fill the buffer" logic, which allowed me to
        remove some of the functions from CircularSearchBuffer and eliminated the need for
        two nested loops. 3) Replaced the CharacterIterator and bool that were used to record
        the location we found with integers matchStart and matchLength. 4) Got rid of the use
        of goto since we don't have two nested loops any more.

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

15 years ago Reviewed by Darin.
andrew [Mon, 14 May 2007 12:16:41 +0000 (12:16 +0000)]
    Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=13275
        Safari crashed when trying to login using the windows live contact control

        Check for cleared windowObj in JSAbstractEventListener::handleEvent

        * bindings/js/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):

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

15 years agoSkip a test that currently hangs
lars [Mon, 14 May 2007 07:17:04 +0000 (07:17 +0000)]
Skip a test that currently hangs

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

15 years ago Reviewed by Darin.
ap [Mon, 14 May 2007 04:45:44 +0000 (04:45 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13690
        JavaScript Form Validation issue on Banco do Brasil site

        Test: fast/forms/input-setvalue-selection.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue): In other browsers, changing textInput.value
        always moves the insertion point past the text. In 10.4.9 WebKit, this only worked
        for inactive controls, and it never worked in ToT.

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

15 years ago Reviewed by Mitz
beidson [Sun, 13 May 2007 15:28:01 +0000 (15:28 +0000)]
    Reviewed by Mitz

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

        Since HTMLInputElements register themselves with their Document for special handling, if their document
        ever changes then bad things can happen.

        Unfortunately, with adoptNode, the document can change.  This has been a long standing crasher with all
        input fields but was given recent high visibility by r21430

        The solution is to add functionality for a Node to react to its owner document changing via a pair of
        virtual callbacks.  Then we can tap into those callbacks in HTMLInputElement.

        No layout test possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved

        * dom/Node.cpp:
        (WebCore::Node::setDocument): Call willMoveToNewOwnerDocument and didMoveToNewOwnerDocument

        * dom/Node.h:
        (WebCore::Node::willMoveToNewOwnerDocument): Virtual callback to a node for before an owner document change
        (WebCore::Node::didMoveToNewOwnerDocument): Virtual callback to a node for after an owner document change

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement): Unconditionally unregister both for both form state
          and the cache restoration callback
        (WebCore::HTMLInputElement::setInputType): Change registration with the document only if we're in one
        (WebCore::HTMLInputElement::attach): Don't bother registering for the callback here - that will be
          handled by setInputType() or by a change in owner document
        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Unregister with the old owner document
        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): Register with the new owner document
        * html/HTMLInputElement.h:

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

15 years ago * platform/mac/TextBreakIteratorInternalICUMac.mm: Fix comment typo.
darin [Sun, 13 May 2007 14:05:11 +0000 (14:05 +0000)]
    * platform/mac/TextBreakIteratorInternalICUMac.mm: Fix comment typo.

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

15 years ago Reviewed by Darin.
rwlbuis [Sun, 13 May 2007 14:00:18 +0000 (14:00 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13529
        DOM3 keyIdentifier text is incorrect

        Use 4 digits for the Unicode based key identifiers.

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

15 years ago - one more retain/release for a tiny bit more robustness
darin [Sun, 13 May 2007 13:21:18 +0000 (13:21 +0000)]
    - one more retain/release for a tiny bit more robustness

        * WebView/WebPDFView.mm:
        (-[WebPDFView _updatePreferences:]): [prefs release]
        (-[WebPDFView _updatePreferencesSoon]): [prefs retain]

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

15 years ago Reviewed by Geoff.
darin [Sun, 13 May 2007 13:16:43 +0000 (13:16 +0000)]
    Reviewed by Geoff.

        - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site

        * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
        Also remove unneeded @public that gives other classes access to our dataSource member.

        * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
        _cancelUpdatePreferencesTimer method.
        (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
        (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
        where the dataSource is no longer present by not looking at the dataSource field at all.
        Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
        to NO and added a release to balance a retain I did in _updatePreferencesSoon.
        (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
        an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
        the dataSource when the timer fires.

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

15 years ago Reviewed by Antti.
darin [Sun, 13 May 2007 12:55:21 +0000 (12:55 +0000)]
    Reviewed by Antti.

        - fix <rdar://problem/5174903> Safari crashes opening the attached webarchive (made by OmniWeb)

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didReceiveResponse): Check ResourceHandle for nil before calling url() on it.
        (WebCore::IconLoader::didFail): Ditto.
        (WebCore::IconLoader::didFinishLoading): Ditto.

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

15 years ago Reviewed by Oliver.
rwlbuis [Sun, 13 May 2007 07:25:59 +0000 (07:25 +0000)]
    Reviewed by Oliver.

        Cleanup, get rid of the SVGStyledElement::view() call.

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

15 years agoAdd layout tests for residual style fix.
hyatt [Sun, 13 May 2007 06:02:33 +0000 (06:02 +0000)]
Add layout tests for residual style fix.

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

15 years ago Reviewed by Hyatt.
hyatt [Sun, 13 May 2007 06:01:41 +0000 (06:01 +0000)]
    Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13680
          Incomplete repaint of focus ring around continuation

        Test: fast/repaint/continuation-after-outline.html

        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::absoluteClippedOverflowRect):

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

15 years agoLayoutTests:
weinig [Sun, 13 May 2007 05:50:45 +0000 (05:50 +0000)]
LayoutTests:

        Reviewed by Hyatt.

        - repaint test for http://bugs.webkit.org/show_bug.cgi?id=13680
          Incomplete repaint of focus ring around continuation

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

WebCore:

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13680
          Incomplete repaint of focus ring around continuation

        Test: fast/repaint/continuation-after-outline.html

        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::absoluteClippedOverflowRect):

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

15 years ago2007-05-12 Oliver Hunt <oliver@apple.com>
oliver [Sun, 13 May 2007 05:15:05 +0000 (05:15 +0000)]
2007-05-12  Oliver Hunt  <oliver@apple.com>

LayoutTests:

        Reviewed by Hyatt.

        Add test to verify files can be dragged to <input type="file">

        * fast/forms/dragging-to-file-input-expected.txt: Added.
        * fast/forms/dragging-to-file-input.html: Added.

WebCore:

        Reviewed by Hyatt.

        <rdar://problem/4728842> Can't drag-and-drop files onto <input type="file">

        This patch allows a file to be dropped on to a file input field.  There
        are a few changes for data handling and a  few to allow the data to be
        threaded to the appropriate places.

        * page/DragController.cpp:
        (WebCore::asFileInput):
           When dropping a file onto a file input we may mouse over either
           the element itself, or the contained button element.  This method
           returns the base element for the file input in either of these
           cases.
        (WebCore::DragController::tryDocumentDrag):
           Don't try to set the drag caret to a file input.
        (WebCore::DragController::concludeDrag):
           Handle dropping onto a file input element.
        (WebCore::DragController::canProcessDrag):
           We can now process a file being dragged onto a file input element.

        * platform/DragData.h:
           New accessors

        * platform/gdk/DragDataGdk.cpp:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
           Link stubs.

        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
           Implement new accessors
        (WebCore::DragData::containsCompatibleContent):
           Update containsCompatibleContent to allow standalone files.

        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
           Link stubs

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::receiveDroppedFile):
        * rendering/RenderFileUploadControl.h:
           For security reasons we don't have an api to allow us to set
           a value directly on a file input -- attempts to do so are
           blocked.  By adding a method to set the target through the
           render we bypass such restrictions, and ensure the renderer
           is updated correctly.

WebKitTools:

        Reviewed by Hyatt.

        Add new api to DRT to allow us to test a file being dragged
        onto <input type="file">

        * DumpRenderTree/DumpRenderTree.h:
        * DumpRenderTree/DumpRenderTree.m:
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (-[LayoutTestController addFileToPasteboardOnDrag]):
        (runTest):
        * DumpRenderTree/UIDelegate.m:
        (-[UIDelegate webView:dragImage:at:offset:event:pasteboard:source:slideBack:forView:]):

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

15 years agoLayoutTests:
weinig [Sun, 13 May 2007 02:31:03 +0000 (02:31 +0000)]
LayoutTests:

        Reviewed by Hyatt.

        - pixel test for http://bugs.webkit.org/show_bug.cgi?id=13695
          REGRESSION (r21387): Replaced elements' highlight rects are wrongly positioned

        * fast/replaced/selection-rect-expected.checksum: Added.
        * fast/replaced/selection-rect-expected.png: Added.
        * fast/replaced/selection-rect-expected.txt: Added.
        * fast/replaced/selection-rect.html: Added.

WebCore:

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13695
          REGRESSION (r21387): Replaced elements' highlight rects are wrongly positioned

        Test: fast/replaced/selection-rect.html

        Also fixes the same problem with list markers, covered by existing test
        fast/lists/markers-in-selection.html.

        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::selectionRect):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::selectionRect):

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

15 years agoLayoutTests:
weinig [Sun, 13 May 2007 02:12:53 +0000 (02:12 +0000)]
LayoutTests:

        Reviewed by Darin.

        - repaint test for http://bugs.webkit.org/show_bug.cgi?id=13685
          REGRESSION (r21368-r21388): Highlighting text in scrolled textareas behaves oddly

        * fast/repaint/text-selection-rect-in-overflow-expected.checksum: Added.
        * fast/repaint/text-selection-rect-in-overflow-expected.png: Added.
        * fast/repaint/text-selection-rect-in-overflow-expected.txt: Added.
        * fast/repaint/text-selection-rect-in-overflow.html: Added.

WebCore:

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13685
          REGRESSION (r21368-r21388): Highlighting text in scrolled textareas behaves oddly

        Test: fast/repaint/text-selection-rect-in-overflow.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::selectionRect):

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

15 years ago Reviewed by Rob Buis.
mjs [Sat, 12 May 2007 22:24:22 +0000 (22:24 +0000)]
    Reviewed by Rob Buis.

        - call Frame::init as needed - this prevents crashes but pages don't appear.

        * Api/qwebframe.cpp:
        (QWebFramePrivate::init):
        * WebKitPart/WebKitPart.cpp:
        (WebKitPart::initView):

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

15 years ago Rubber stamped by Mitz
beidson [Sat, 12 May 2007 21:56:16 +0000 (21:56 +0000)]
    Rubber stamped by Mitz

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::attach): unregister->register - I screwed this one up in last minute renaming
          before committing  :(

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

15 years ago Reviewed by Darin and Geoff
beidson [Sat, 12 May 2007 21:22:08 +0000 (21:22 +0000)]
    Reviewed by Darin and Geoff

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

        Back/Forward cache should work with pages with login fields.

        First change is to relocate the "useSecureKeyboardEntry" flag to the document.  This lets
        it persist through page cache transitions and it is truly a per-document concept more than
        per-frame anyways since its the document that has a password field, not the frame.

        Second change is to introduce the concept of an Element getting a "didRestoreFromCache()" callback.
        The idea is for elements to register with the document if they need work to be done when the
        page comes out of the back/forward cache.  Currently the only client of this service is
        HTMLInputElements that are input type == PASSWORD.  Such an element's implementation for this
        method is to call reset()

        Finally, after a page is restored from the cache we have the document send the didRestoreFromCache()
        callback to its registered Elements.  The whole design is to clear the password fields after
        restoring the page instead of when caching the page because we want to defer work for the common
        case - there shouldn't be extra work here just to navigate away from a page when the common case
        is that you'll never go back!

        No layout tests possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::registerForDidRestoreFromCacheCallback): Add an Element to the special page-restoration callback list
        (WebCore::Document::unregisterForDidRestoreFromCacheCallback): Remove such an element
        (WebCore::Document::didRestoreFromCache): Called by FrameLoader - dispatch to all the registered elements
        (WebCore::Document::setUseSecureKeyboardEntryWhenActive): Set the local flag and call updateSecureKeyboardEntryIfActive
          on the Frame
        (WebCore::Document::useSecureKeyboardEntryWhenActive): Return the flag

        * dom/Document.h:
        (WebCore::Document::unregisterFormElementWithState): Renamed

        * dom/Element.h:
        (WebCore::Element::didRestoreFromCache): Added virtual base method

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement): Deregister from the document if inputType == PASSWORD
        (WebCore::HTMLInputElement::dispatchFocusEvent): Set the flag on the document, not the frame
        (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto
        (WebCore::HTMLInputElement::setInputType): If changing to/from PASSWORD, register/deregister in the document accordingly
        (WebCore::HTMLInputElement::attach): Call registerForDidRestoreFromCacheCallback(this) instead of passwordFieldAdded()
        (WebCore::HTMLInputElement::didRestoreFromCache): Call reset();
        * html/HTMLInputElement.h:

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::~HTMLSelectElement): Renamed deregisterFormElementWithState to unregisterFormElementWithState
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Ditto

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePage): Remove the check for password fields - they're allowed now!
        (WebCore::FrameLoader::opened): Tell the document to dispatch to the registered elements
        (WebCore::FrameLoader::saveDocumentState): Remove the check for password fields.  Turns out that when we grab a copy a the
          form state we're only copying the state of form elements that are registered with the Document - and that set
          explicitly excludes Password elements

        * page/Frame.cpp:
        (WebCore::Frame::setDocument): If the frame is active, set the setUseSecureKeyboardEntry based on the setting contained
          in the new document
        (WebCore::Frame::updateSecureKeyboardEntryIfActive): Notification for the secure entry flag changing - if the Frame is
          active, then update to the new setting from the document
        (WebCore::Frame::setIsActive): Grab the useSecureKeyboardEntry flag from the document instead of FramePrivate
        (WebCore::FramePrivate::FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:

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

15 years agoUpdate existing invalid tests and add new test for 12740.
hyatt [Sat, 12 May 2007 21:18:11 +0000 (21:18 +0000)]
Update existing invalid tests and add new test for 12740.

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

15 years ago Fix for bug 12740, bmw.com doesn't work. We were missing a rule that is...
hyatt [Sat, 12 May 2007 21:15:00 +0000 (21:15 +0000)]
    Fix for bug 12740, bmw.com doesn't work.  We were missing a rule that is covered by the HTML5
        parsing spec.  A <table> encountered while inside stray table content should close up the
        table responsible for the stray content and start the new table as a sibling of the first.

        Reviewed by mjs

        fast/invalid/table-inside-stray-table-content.html

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

15 years ago2007-05-12 Eric Seidel <eric@webkit.org>
eseidel [Sat, 12 May 2007 08:35:46 +0000 (08:35 +0000)]
2007-05-12  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        Crash starting Safari with JavaScript disabled.
        http://bugs.webkit.org/show_bug.cgi?id=13691

        Test: none possible.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::cleanupPlatformScriptObjects): NULL check d->m_script

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

15 years agoAdd layout test for colloquy display table baseline issue.
hyatt [Sat, 12 May 2007 06:43:48 +0000 (06:43 +0000)]
Add layout test for colloquy display table baseline issue.

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

15 years ago Fix for http://bugs.webkit.org/show_bug.cgi?id=13688, Colloquy is broken!
hyatt [Sat, 12 May 2007 06:40:14 +0000 (06:40 +0000)]
    Fix for bugs.webkit.org/show_bug.cgi?id=13688, Colloquy is broken!

        Make sure to adjust the baseline of a percentage height table cell's row if the
        cell flexes (and lowers the baseline).

        Reviewed by olliej

        fast/tables/vertical-align-baseline-readjust.html

        (WebCore::RenderTableSection::calcRowHeight):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::getBaseline):

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

15 years ago Make sure focus rings are always using the exterior style, regardless
hyatt [Sat, 12 May 2007 00:17:38 +0000 (00:17 +0000)]
    Make sure focus rings are always using the exterior style, regardless
        of what the OS default is.

        Reviewed by beth

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::checkbox):
        (WebCore::RenderThemeMac::radio):
        (WebCore::RenderThemeMac::popupButton):
        (WebCore::RenderThemeMac::search):
        (WebCore::RenderThemeMac::sliderThumbHorizontal):
        (WebCore::RenderThemeMac::sliderThumbVertical):

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

15 years ago2007-05-11 Oliver Hunt <oliver@apple.com>
oliver [Sat, 12 May 2007 00:07:12 +0000 (00:07 +0000)]
2007-05-11  Oliver Hunt  <oliver@apple.com>

LayoutTests:

        Reviewed by Hyatt.

        Layout test for x-mac-roman character encoding.

        * fast/encoding/xmacroman-encoding-test-expected.txt: Added.
        * fast/encoding/xmacroman-encoding-test.html: Added.

WebCore:

        Reviewed by Hyatt.

        <rdar://problem/5195473> REGRESSION: "Curly quote" fails to
        be displayed correctly even when META tag specifies charset=x-mac-roman

        * platform/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerExtendedEncodingNames):
        Register the xmacroman encoding

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

15 years agoChangeLog fixup
ggaren [Fri, 11 May 2007 23:05:47 +0000 (23:05 +0000)]
ChangeLog fixup

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

15 years ago Reviewed by Hyatt.
mjs [Fri, 11 May 2007 22:59:17 +0000 (22:59 +0000)]
    Reviewed by Hyatt.

        <rdar://problem/5193517> FrameLoader::canCachePage() might walk the entire DOM
        http://bugs.webkit.org/show_bug.cgi?id=13662

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::provisionalLoadStarted): Remove some useless and now harmful
        code - there's no need to clear in this case.

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

15 years ago GDK Build fix
oliver [Fri, 11 May 2007 22:06:45 +0000 (22:06 +0000)]
    GDK Build fix

        * ChangeLog:
        * dom/Document.cpp:
        (WebCore::Document::importNode):

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

15 years ago Reviewed by Geoff.
mjs [Fri, 11 May 2007 22:03:18 +0000 (22:03 +0000)]
    Reviewed by Geoff.

        - fixed <rdar://problem/5197621> closing second window crashed webkit (13660)
        http://bugs.webkit.org/show_bug.cgi?id=13660

        No test case; not testable.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::cleanupPlatformScriptObjects): Check if the interpreter is null;
        if so, we don't want to do work that may lazily create it while the Frame is being
        destroyed.

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

15 years ago2007-05-11 Oliver Hunt <oliver@apple.com>
oliver [Fri, 11 May 2007 21:54:12 +0000 (21:54 +0000)]
2007-05-11  Oliver Hunt  <oliver@apple.com>

LayoutTests:

        Reviewed by Brady.

        Layout tests for <rdar://problem/5017375> WebKit should disable SVG in Dashboard
        Tests attempt to use SVG in a number of ways, both direct and indirect.

        * http/tests/xmlhttprequest/resources/svgtest.svg: Added.
          Small test SVG

        * http/tests/xmlhttprequest/svg-created-by-xhr-disallowed-in-dashboard-expected.txt: Added.
        * http/tests/xmlhttprequest/svg-created-by-xhr-disallowed-in-dashboard.html: Added.
          Attempts to use an SVG doc created with XHR as content

        * svg/custom/embedded-svg-disallowed-in-dashboard-expected.txt: Added.
        * svg/custom/embedded-svg-disallowed-in-dashboard.xml: Added.
          Attempts to use SVG by embedding it in an SVG doc.

        * svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard-expected.txt: Added.
        * svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard.html: Added.
          Attempts to use SVG by using a DOMParser to manually parse XHMTL with embedded SVG

        * svg/custom/manually-parsed-svg-disallowed-in-dashboard-expected.txt: Added.
        * svg/custom/manually-parsed-svg-disallowed-in-dashboard.html: Added.
          Attempts to use SVG by using a DOMParser to manually create an SVG doc from a string

        * svg/custom/svg-disallowed-in-dashboard-object-expected.txt: Added.
        * svg/custom/svg-disallowed-in-dashboard-object.html: Added.
          Attempts to embed SVG with <embed>, <object>, and <iframe>

WebCore:

        Reviewed by Brady.

        <rdar://problem/5017375> WebKit should disable SVG in Dashboard

        Prevents an SVG document or element from being created when in
        dashboard compatibility mode.

        Manually parsing, or using XHR to created a document removes our
        ability to detect Dashboard compatibility mode, so we also perform
        the check when importing nodes from one document into another.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
          Don't create an SVGDocument if we're in dashboard compatibility mode

        * dom/Document.cpp:
        (WebCore::Document::importNode):
          Don't import SVG nodes if we're in dashboard compatibility mode

        * ksvg2/scripts/make_names.pl:
          Don't create SVG elements for documents that are in dashboard
          compatibility mode

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

15 years ago2007-05-11 Mark Rowe <mrowe@apple.com>
bdash [Fri, 11 May 2007 20:44:48 +0000 (20:44 +0000)]
2007-05-11  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Oliver.

        * fast/encoding/char-encoding.html: Change from a 5 millisecond
        timeout to a 500 millisecond timeout to work around occasional
        timing-related test failures.

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

15 years ago2007-05-11 Holger Hans Peter Freyther <zecke@selfish.org>
bdash [Fri, 11 May 2007 20:29:34 +0000 (20:29 +0000)]
2007-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Maciej.

        Bug 13656: [gdk] Resize the drawing area of the GdkLauncher
        http://bugs.webkit.org/show_bug.cgi?id=13656

        * GdkLauncher/main.cpp: Handle resizing the drawing area
        (frameResizeCallback):
        (main):

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

15 years ago2007-05-11 Holger Hans Peter Freyther <zecke@selfish.org>
bdash [Fri, 11 May 2007 20:27:19 +0000 (20:27 +0000)]
2007-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Maciej.

        Bug 13676: [cairo/gdk] Provide implementation for ImageBufferCairo
        http://bugs.webkit.org/show_bug.cgi?id=13676

        There are no test cases that explicitly cover platform/graphics at present.

        * platform/graphics/ImageBuffer.h: Add cairo bits
        * platform/graphics/cairo/ImageBufferCairo.cpp: Untested implementation of the ImagerBuffer using the image_surface
        (WebCore::ImageBuffer::create): Create a reasonable sized surface
        (WebCore::ImageBuffer::ImageBuffer): Use a cairo_surface and create a GraphicsContext. GraphicsContext takes the cairo_t ownership
        (WebCore::ImageBuffer::~ImageBuffer): Unref the surface
        (WebCore::ImageBuffer::context): simply return the GraphicsContext, it should be possible to directly draw on it.

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

15 years ago2007-05-11 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 11 May 2007 20:12:29 +0000 (20:12 +0000)]
2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Release build fix.

        * platform/mac/ShapeArabic.c:
        (shapeArabic):

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

15 years agoLayoutTests:
ggaren [Fri, 11 May 2007 19:43:45 +0000 (19:43 +0000)]
LayoutTests:

        Reviewed by Darin Adler.

        Updated test a little bit now that +[WebScriptObject scriptObjectForJSObject:frame:]
        is gone.

        * fast/dom/wrapper-round-tripping.html:

WebCore:

        Reviewed by Darin Adler.

        Removed +[WebScriptObject scriptObjectForJSObject:frame:] because the
        WebScriptObject API has some serious limitations that make it not ready
        to be used everywhere the C API is used. Hopefully we can add a good
        ObjC API in the future that doesn't suffer from this problem.

        Preliminary notes about these limitations are in <rdar://problem/4876466>.

        * bindings/objc/WebScriptObject.mm:
        * bindings/objc/WebScriptObjectPendingPublic.h:

WebKitTools:

        Reviewed by Darin Adler.

        Updated test now that +[WebScriptObject scriptObjectForJSObject:frame:]
        is gone.

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

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

15 years agoBuild fix for case-sensitve file systems (which you should all be using!!!)
beidson [Fri, 11 May 2007 18:26:50 +0000 (18:26 +0000)]
Build fix for case-sensitve file systems (which you should all be using!!!)

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

15 years ago2007-05-11 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 11 May 2007 16:49:26 +0000 (16:49 +0000)]
2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13635
          REGRESSION: Cannot log in to webmail.co.za account

        Test: fast/dom/HTMLOptionElement/option-text.html

        Despite the specification that the 'text' attribute of HTMLOptionElement
        is "the text contained within the option element", other browsers return
        the text as displayed in the list box or popup, which is without leading,
        trailing and collapsible whitespace.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::text): Moved the code to trim and collapse
        whitespace and replace backslashes with the currency symbol into this
        function.
        (WebCore::HTMLOptionElement::optionText): Left only the code that adds
        the leading spaces for grouped options. Removed code that, in quirks mode,
        displayed the label if the option element contained no text. That behavior
        did not match WinIE and the description of the expected behavior in
        fast/forms/HTMLOptionElement_label06.html.

2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - test and updated results for http://bugs.webkit.org/show_bug.cgi?id=13635
          REGRESSION: Cannot log in to webmail.co.za account

        * fast/dom/HTMLOptionElement/option-text-expected.txt: Added.
        * fast/dom/HTMLOptionElement/option-text.html: Added.
        * fast/forms/HTMLOptionElement_label06-expected.checksum:
        * fast/forms/HTMLOptionElement_label06-expected.png:
        * fast/forms/HTMLOptionElement_label06-expected.txt:

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

15 years ago2007-05-11 Kimmo Kinnunen <kimmok@iki.fi>
bdash [Fri, 11 May 2007 16:45:45 +0000 (16:45 +0000)]
2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Fix for bug http://bugs.webkit.org/show_bug.cgi?id=13620
          Bogus decompilation of "for (var j = 1 in [])"
        - ForInNode toString()'ed to syntax error if there was var decl
          and initializer
        - ForNode toStringed()'ed lost 'var ' if it was present

        * kjs/nodes2string.cpp:
        (VarDeclListNode::streamTo): Print "var " here
        (VarStatementNode::streamTo): Don't print "var " here
        (ForNode::streamTo): Remove TODO comment, VarDeclListNode will
        stream the "var "
        (ForInNode::streamTo): ForIn initializer is printed by VarDeclNode

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

        Reviewed by Darin.

        - Tests for bug http://bugs.webkit.org/show_bug.cgi?id=13620
          Bogus decompilation of "for (var j = 1 in [])"

        Testcase covers toString()ing functions with
        for-statements of form for (var j = 1 in []) and for (var j=0;j<10;j++)

        * fast/js/resources/toString-for-var-decl.js: Added.
        * fast/js/toString-for-var-decl-expected.txt: Added.
        * fast/js/toString-for-var-decl.html: Added.

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

15 years ago2007-05-11 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 11 May 2007 16:25:25 +0000 (16:25 +0000)]
2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13572
          Arabic characters are not correctly joined when using Arial

        No tests added because standard fonts do not use the character-based shaping
        code path.

        Added shapeArabic(), a private version of u_shapeArabic() from ICU,
        patched to shape Arabic characters used in Persian, Urdu, Sindhi, etc.
        (whose contextual forms belong to the Arabic Presentation Forms-A block).

        * WebCore.xcodeproj/project.pbxproj: Added ShapeArabic.{c,h}.
        * platform/mac/FontMac.mm:
        (WebCore::shapeArabic): Changed to call shapeArabic() instead of u_shapeArabic().
        * platform/mac/ShapeArabic.c: Added. Based on ushape.c from ICU, with
        additional shaping data and logic for Arabic Presentation Forms-A. Removed
        many options that are not used in WebKit and code that malloc()ed a temporary
        buffer and reversed the string.
        (changeLamAlef):
        (specialChar):
        (getLink):
        (isTashkeelChar):
        (shapeUnicode):
        (shapeArabic):
        * platform/mac/ShapeArabic.h: Added.

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

15 years ago2007-05-11 Kimmo Kinnunen <kimmok@iki.fi>
bdash [Fri, 11 May 2007 16:17:43 +0000 (16:17 +0000)]
2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        Tests for http://bugs.webkit.org/show_bug.cgi?id=10878
        Bug 10878: Incorrect decompilation for "4..x"

        * fast/js/resources/toString-number-dot-expr.js: Added.
        * fast/js/toString-number-dot-expr-expected.txt: Added.
        * fast/js/toString-number-dot-expr.html: Added.

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

15 years ago2007-05-11 Kimmo Kinnunen <kimmok@iki.fi>
bdash [Fri, 11 May 2007 16:15:45 +0000 (16:15 +0000)]
2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>

        Reviewed by Darin.

        - Fixes http://bugs.webkit.org/show_bug.cgi?id=10878
          (Incorrect decompilation for "4..x")
        - Group numbers in dotted expressions in toString() output, so we
          avoid the 4.x constructs  when the original input is 4..x.
          4..x means the same as 4. .x or (4).x or Number(4).x

        * kjs/nodes2string.cpp:
        (KJS::SourceStream::):
        Add boolean flag to indicate that if next item is a number, it should be grouped.
        Add new formatting enum which turns on the boolean flag.
        (KJS::SourceStream::SourceStream): Added. Initialize the flag.
        (SourceStream::operator<<): Added. New overloaded operator with double value as parameter.
        (NumberNode::streamTo): Use the double operator
        (ArrayNode::streamTo):
        (DotAccessorNode::streamTo):
        (FunctionCallDotNode::streamTo):
        (FunctionCallParenDotNode::streamTo):
        (PostfixDotNode::streamTo):
        (DeleteDotNode::streamTo):
        (PrefixDotNode::streamTo):
        (AssignDotNode::streamTo): Use the new formatting enum to turn on the grouping flag.

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

        Reviewed by Darin.

        Tests for http://bugs.webkit.org/show_bug.cgi?id=10878
        Bug 10878: Incorrect decompilation for "4..x"

        * fast/js/resources/toString-number-dot-expr.js: Added.
        * fast/js/toString-number-dot-expr-expected.txt: Added.
        * fast/js/toString-number-dot-expr.html: Added.

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

15 years agoLayoutTests:
darin [Fri, 11 May 2007 15:47:28 +0000 (15:47 +0000)]
LayoutTests:

        Reviewed by Mitz.

        - test for http://bugs.webkit.org/show_bug.cgi?id=7452
          <rdar://problem/3211749> line breaks ignored after <wbr> in <pre> block (affects livejournal.com)

        * fast/text/wbr-pre-expected.checksum: Added.
        * fast/text/wbr-pre-expected.png: Added.
        * fast/text/wbr-pre-expected.txt: Added.
        * fast/text/wbr-pre.html: Added.

        - test for http://bugs.webkit.org/show_bug.cgi?id=10657
          <rdar://problem/4274588> <wbr> tags are ignored

        * fast/text/wbr-expected.checksum: Added.
        * fast/text/wbr-expected.png: Added.
        * fast/text/wbr-expected.txt: Added.
        * fast/text/wbr.html: Added.

        - test for http://bugs.webkit.org/show_bug.cgi?id=12689
          <wbr> :before/:after content causes line break

        * fast/css-generated-content/wbr-with-before-content-expected.checksum: Added.
        * fast/css-generated-content/wbr-with-before-content-expected.png: Added.
        * fast/css-generated-content/wbr-with-before-content-expected.txt: Added.
        * fast/css-generated-content/wbr-with-before-content.html: Added.

        - test for <rdar://problem/5127366> DOM tree isn't correct when parsing with <wbr>

        * fast/invalid/021-expected.txt: Updated result.
        * fast/parser/parse-wbr-expected.txt: Added.
        * fast/parser/parse-wbr.html: Added.

WebCore:

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7452
          <rdar://problem/3211749> line breaks ignored after <wbr> in <pre> block (affects livejournal.com)

        - fix http://bugs.webkit.org/show_bug.cgi?id=10657
          <rdar://problem/4274588> <wbr> tags are ignored

        - fix http://bugs.webkit.org/show_bug.cgi?id=12689
          <wbr> :before/:after content causes line break

        - fix <rdar://problem/5127366> DOM tree isn't correct when parsing with <wbr>

        Test: fast/text/wbr-pre.html
        Test: fast/text/wbr.html
        Test: fast/css-generated-content/wbr-with-before-content.html
        Test: fast/parser/parse-wbr.html

        * html/HTMLElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::endTagRequirement): Use the same end tag requirement for a <wbr>
        element as for a <br> element, TagStatusForbidden.
        (WebCore::HTMLElement::tagPriority): Use the same priority for a <wbr> element as for a
        <br> element, 0.
        (WebCore::HTMLElement::createRenderer): Added. Create a RenderWordBreak to trigger the
        new rendering code paths.

        * rendering/RenderFlow.h: Add a virtual isWordBreak so we can detect RenderWordBreak.

        * rendering/RenderWordBreak.h: Added.
        * rendering/RenderWordBreak.cpp: Added.

        * WebCore.pro: Added new files.
        * WebCore.xcodeproj/project.pbxproj: Added new files.
        * WebCoreSources.bkl: Added new files.

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcInlinePrefWidths): Reset the
        line when we hit a <wbr>.
        * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Add a line break when
        we hit a <wbr>.

        * dom/Node.cpp: (Node::createRendererIfNeeded): Fix a null check for the case where
        createRenderer returns 0 even though rendererIsNeeded returned true. I can't reproduce
        it on demand, but while running layout tests I hit this once. Since there was already
        a null check here, I rearranged it so it guards all the code that uses the renderer.
        Later we might want to figure out under exactly what circumstances rendererIsNeeded
        will return true but createRenderer return 0 and consider eliminating them.

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

15 years agoRoll out r21393 due to the JavaScriptCore test failure it introduced.
bdash [Fri, 11 May 2007 10:04:17 +0000 (10:04 +0000)]
Roll out r21393 due to the JavaScriptCore test failure it introduced.

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

15 years agoTweak continuation tests to make sure the no content after case is covered.
hyatt [Fri, 11 May 2007 09:41:38 +0000 (09:41 +0000)]
Tweak continuation tests to make sure the no content after case is covered.

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

15 years ago Fix for bug 13675, focus rings don't repaint properly on editable
hyatt [Fri, 11 May 2007 09:36:18 +0000 (09:36 +0000)]
    Fix for bug 13675, focus rings don't repaint properly on editable
        continuations.

        Reviewed by olliej

        (WebCore::InlineFlowBox::paint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        (WebCore::continuationOutlineTable):
        (WebCore::RenderBlock::addContinuationWithOutline):
        (WebCore::RenderBlock::paintContinuationOutlines):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::absoluteClippedOverflowRect):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        (WebCore::RenderObject::absoluteOutlineBox):

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

15 years agoLand new layout tests for continuation repainting fix.
hyatt [Fri, 11 May 2007 09:31:30 +0000 (09:31 +0000)]
Land new layout tests for continuation repainting fix.

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

15 years ago Reviewed by Oliver.
rwlbuis [Fri, 11 May 2007 09:27:12 +0000 (09:27 +0000)]
    Reviewed by Oliver.

        Cleanups mostly inspired by Coverage results.

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

15 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

15 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

15 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

15 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:
        (WebCore::RenderImage::paint):

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

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

        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:

WebCore:

        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
        m_needsFullRepaint.
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::setNeedsFullRepaint):
        * 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

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

        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.

WebCore:

        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:
        (WebCore::SelectionController::SelectionController):
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::willBeModified):
        (WebCore::SelectionController::modify):
        * editing/SelectionController.h:
        (WebCore::SelectionController::setLastChangeWasHorizontalExtension):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        (WebCore::EventHandler::updateSelectionForMouseDragOverPosition):

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

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

        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.

WebKit:

        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

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

        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.

WebCore:

        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.

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

15 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

15 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

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

        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:
        (WebCore::RenderFlow::addFocusRingRects):

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

15 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

15 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

15 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

        fast/text/white-space/pre-wrap-line-test.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::calcPrefWidths):

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

15 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

15 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

15 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

15 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

15 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:
        (WebCore::nextBoundary):
        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

15 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
        tests.

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

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

        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:

WebCore:

        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
        doc.
        (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
        document.
        (-[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.

WebKit:

        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:

WebKitTools:

        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

15 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

15 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

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

        Reviewed by mitz

        fast/text/whitespace/normal-after-nowrap-breaking.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcInlinePrefWidths):

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

15 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

15 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)

        http://bugs.webkit.org/show_bug.cgi?id=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

        fast/inline/continuation-outlines.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::addFocusRingRects):

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

15 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

15 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

15 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

        fast/overflow/unreachable-content-bug-rtl.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):

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

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

        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.

WebCore:

        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