WebKit-https.git
13 years ago2009-01-30 David Levin <levin@chromium.org>
dglazkov@chromium.org [Fri, 30 Jan 2009 22:02:04 +0000 (22:02 +0000)]
2009-01-30  David Levin  <levin@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23618
        Templated worker tasks should be more error proof to use.
        Fix Chromium build.

        * wtf/TypeTraits.h:
        (WTF::IsConvertibleToInteger::IsConvertibleToDouble):
        Avoid "possible loss of data" warning when using Microsoft's C++ compiler
        by avoiding an implicit conversion of int types to doubles.

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

13 years ago2009-01-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 30 Jan 2009 21:57:37 +0000 (21:57 +0000)]
2009-01-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Add toRenderView methods for casting RenderObjects to RenderViews.  The methods will assert if the object
        is not a RenderView.

        * dom/Document.cpp:
        (WebCore::Document::renderView):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::nodeWillBeRemoved):
        (WebCore::SelectionController::recomputeCaretRect):
        (WebCore::SelectionController::invalidateCaretRect):
        (WebCore::SelectionController::focusedOrActiveStateChanged):
        * editing/mac/SelectionControllerMac.mm:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):
        (WebCore::RenderBox::repaintLayerRectsForImage):
        (WebCore::RenderBox::availableHeightUsing):
        * rendering/RenderView.h:
        (WebCore::toRenderView):

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

13 years ago2009-01-30 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Fri, 30 Jan 2009 21:48:23 +0000 (21:48 +0000)]
2009-01-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=23360

        Really use the container-relative repaint rect methods
        for repaint during layout

        * rendering/RenderObject.h:
        (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):

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

13 years ago2009-01-30 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 30 Jan 2009 21:47:29 +0000 (21:47 +0000)]
2009-01-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Get rid of PrivateIdentifier and use IdentifierRep instead.

        * bridge/NP_jsobject.cpp:
        (_NPN_Invoke):
        (_NPN_GetProperty):
        (_NPN_SetProperty):
        (_NPN_RemoveProperty):
        (_NPN_HasProperty):
        (_NPN_HasMethod):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::getPropertyNames):
        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertNPStringToUTF16):
        * bridge/c/c_utility.h:
        * bridge/npruntime.cpp:
        (_NPN_GetStringIdentifier):
        (_NPN_GetStringIdentifiers):
        (_NPN_GetIntIdentifier):
        (_NPN_IdentifierIsString):
        (_NPN_UTF8FromIdentifier):
        (_NPN_IntFromIdentifier):

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

13 years ago2009-01-30 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 30 Jan 2009 21:25:27 +0000 (21:25 +0000)]
2009-01-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig and Darin Adler.

        Make IdentifierRep a real class, add necessary class methods.

        * bridge/IdentifierRep.cpp:
        (WebCore::identifierSet):
        Returns a set of all identifiers.

        (WebCore::IdentifierRep::isValid):
        Return whether an identifier is valid, meaning that it's present in the
        set of identifiers.

        * bridge/IdentifierRep.h:
        (WebCore::IdentifierRep::isString):
        (WebCore::IdentifierRep::number):
        (WebCore::IdentifierRep::string):
        (WebCore::IdentifierRep::IdentifierRep):
        (WebCore::IdentifierRep::):

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

13 years ago2009-01-30 Dmitry Titov <dimich@chromium.org>
treat@webkit.org [Fri, 30 Jan 2009 20:17:34 +0000 (20:17 +0000)]
2009-01-30  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23650
        LayoutTests/fast/dom/Window/timeout-released-on-close.html fails intermittently.
        Disable this test to keep buildbots green. Need more time to investigate the cause.

        * fast/dom/Window/timeout-released-on-close.html: Removed.
        * fast/dom/Window/timeout-released-on-close.html-disabled: Copied from LayoutTests/fast/dom/Window/timeout-released-on-close.html.

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

13 years ago2009-01-30 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 30 Jan 2009 19:57:33 +0000 (19:57 +0000)]
2009-01-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add IdentifierRep which will be used by both plug-in implementations.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/IdentifierRep.cpp: Added.
        (WebCore::IdentifierRep::IdentifierRep):
        (WebCore::IdentifierRep::):
        (WebCore::intIdentifierMap):
        (WebCore::identifierRep):
        (WebCore::stringIdentifierMap):
        * bridge/IdentifierRep.h: Added.
        * bridge/c/c_utility.h:
        * platform/text/PlatformString.h:
        * platform/text/String.cpp:
        (WebCore::String::fromUTF8WithLatin1Fallback):

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

13 years ago2009-01-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 30 Jan 2009 19:55:45 +0000 (19:55 +0000)]
2009-01-30  Sam Weinig  <sam@webkit.org>

        Reviewed by David Hyatt.

        Add toRenderInline methods for casting RenderObjects to RenderInlines.  The methods will assert if the object
        is not a RenderInline.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
        (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
        (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
        (WebCore::InlineFlowBox::rendererLineBoxes):
        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
        (WebCore::InlineFlowBox::paint):
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::addFocusRingRects):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::containingBlockWidthForPositioned):
        (WebCore::RenderBox::containingBlockHeightForPositioned):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::inlineContinuation):
        (WebCore::nextContinuation):
        (WebCore::RenderInline::splitInlines):
        * rendering/RenderInline.h:
        (WebCore::toRenderInline):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        (WebCore::RenderLayer::boundingBox):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
        * rendering/RenderText.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::createLineBoxes):
        (WebCore::RenderBlock::layoutInlineChildren):

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

13 years ago2009-01-30 Darin Fisher <darin@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 18:20:38 +0000 (18:20 +0000)]
2009-01-30  Darin Fisher  <darin@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=23647
        Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports

        * platform/graphics/skia/ImageSourceSkia.cpp:
        (WebCore::ImageSource::clear):

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

13 years ago2009-01-30 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 30 Jan 2009 18:16:03 +0000 (18:16 +0000)]
2009-01-30  David Hyatt  <hyatt@apple.com>

        Add toRenderBlock methods for casting RenderObjects to RenderBlocks.  The methods will assert if the object
        is not a RenderBlock.  Also add a toRenderBlock method that takes a RenderBlock but returns void and that
        is unimplemented.  This method will catch anyone trying to do a cast when the object is already a RenderBlock.

        Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this
        patch with a containsFloats() check.

        Reviewed by Darin Adler

        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::isCandidate):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
        * editing/Editor.cpp:
        (WebCore::Editor::hasBidiSelection):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::anchorElement):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleWillChange):
        (WebCore::RenderBlock::removeChild):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::fillBlockSelectionGaps):
        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
        (WebCore::RenderBlock::firstLineBlock):
        (WebCore::getLineAtIndex):
        (WebCore::getHeightForLineCount):
        (WebCore::RenderBlock::lineCount):
        (WebCore::RenderBlock::adjustForBorderFit):
        (WebCore::RenderBlock::clearTruncation):
        * rendering/RenderBlock.h:
        (WebCore::toRenderBlock):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::calcReplacedHeightUsing):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::inlineContinuation):
        (WebCore::nextContinuation):
        (WebCore::RenderInline::positionForCoordinates):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderListItem.cpp:
        (WebCore::getParentOfFirstLineBox):
        (WebCore::RenderListItem::positionListMarker):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock):
        (WebCore::RenderObject::computeRectForRepaint):
        (WebCore::RenderObject::removeFromObjectLists):
        (WebCore::RenderObject::getTextDecorationColors):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):
        (WebCore::RenderTable::recalcSections):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::styleDidChange):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::block):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::createLineBoxes):

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

13 years agoWebCore:
beidson@apple.com [Fri, 30 Jan 2009 17:30:47 +0000 (17:30 +0000)]
WebCore:

2009-01-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        - Let CachedFrame handle the suspending/resuming of active DOM objects itself instead of
          relying on some outside force.
        - Clear the previous history item inside FrameLoader instead of relying on multiple
          FrameLoaderClients to do it.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame): Suspend active DOM objects here.
        (WebCore::CachedFrame::restore): Resume those DOM objects here.
        * history/CachedFrame.h:
        (WebCore::CachedFrame::domWindow):

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad): Let CachedFrame  creation handle the
          suspending of active DOM objects.
        (WebCore::FrameLoader::open): Let CachedFrame::restore() handle resuming those DOM objects.
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Call frameLoadCompleted() instead
          of performing a client call by itself.
        (WebCore::FrameLoader::frameLoadCompleted):

WebKit/mac:

2009-01-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Remove FrameLoaderClient code that is now handled by FrameLoader itself

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::frameLoadCompleted):

WebKit/qt:

2009-01-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Remove FrameLoaderClient code that is now handled by FrameLoader itself

        * WebCoreSupport/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::frameLoadCompleted):

WebKit/win:

2009-01-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Remove FrameLoaderClient code that is now handled by FrameLoader itself

        * WebFrame.cpp:
        (WebFrame::frameLoadCompleted):

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Fri, 30 Jan 2009 17:13:29 +0000 (17:13 +0000)]
    Reviewed by Darin Adler.

        Test that documents loaded from application cache cannot load local resources.

        * http/tests/appcache/local-content-expected.txt: Added.
        * http/tests/appcache/local-content.html: Added.
        * http/tests/appcache/resources/local-content.manifest: Added.

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Fri, 30 Jan 2009 17:11:38 +0000 (17:11 +0000)]
    Reviewed by Darin Adler.

        <rdar://problem/6448823> Application Cache is kept after a private browsing session

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::update):
        Cache update will not be started if private browsing is enabled. Existing cache version
        from disk database will be used.

        * loader/appcache/ApplicationCacheGroup.h: Made postListenerTask() static, in order to call
        it when refusing to update from selectCache().

        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::addDynamicEntry):
        (WebCore::ApplicationCache::removeDynamicEntry):
        Added reminders about private browsing to unimplemented methods.

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

13 years ago2009-01-30 Dmitry Titov <dimich@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 17:06:44 +0000 (17:06 +0000)]
2009-01-30  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=23615
        Try to make this test reliable on buildbots.

        * fast/dom/Window/resources/long_timeout.html:
        Allocate more objects to make detection more reliable.

        * fast/dom/Window/timeout-released-on-close.html:
        Use threshold to account for objects allocated by the running scripts.
        Add debug output in case of failure to help understand possible failures.

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

13 years ago2009-01-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
hausmann@webkit.org [Fri, 30 Jan 2009 15:17:35 +0000 (15:17 +0000)]
2009-01-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        Bug 23580: GNU mode RVCT compilation support
        <https://bugs.webkit.org/show_bug.cgi?id=23580>

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

13 years ago2009-01-30 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Fri, 30 Jan 2009 15:17:08 +0000 (15:17 +0000)]
2009-01-30  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Hide the Offline Web Application Cache path API from the public API
        for now.

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

13 years ago Reviewed by Mark Rowe.
ap@webkit.org [Fri, 30 Jan 2009 13:15:12 +0000 (13:15 +0000)]
    Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=23639
        Test that appcache ignores Cache-Control: no-store

        * http/tests/resources/network-simulator.php: Send no-store with all responses.

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

13 years ago Reviewed by Mark Rowe.
ap@webkit.org [Fri, 30 Jan 2009 13:13:28 +0000 (13:13 +0000)]
    Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=23640
        Test that non-HTML main resources work with application cache correctly

        * http/tests/appcache/non-html-expected.txt: Added.
        * http/tests/appcache/non-html.xhtml: Added.
        * http/tests/appcache/resources/abe.png: Added.
        * http/tests/appcache/resources/non-html.manifest: Added.

        * http/tests/resources/network-simulator.php: Support more file extensions.

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

13 years ago2009-01-30 David Levin <levin@chromium.org>
ap@webkit.org [Fri, 30 Jan 2009 08:38:19 +0000 (08:38 +0000)]
2009-01-30  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 23618: Templated worker tasks should be more error proof to use
        <https://bugs.webkit.org/show_bug.cgi?id=23618>

        Add the type traits needed for the generic worker tasks
        and compile asserts for them.

        Add a summary header to the TypeTraits.h file to explain what is in there.

        Add a note to explain IsPod's deficiencies.

        * wtf/TypeTraits.h:

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

13 years ago2009-01-30 David Levin <levin@chromium.org>
ap@webkit.org [Fri, 30 Jan 2009 08:34:14 +0000 (08:34 +0000)]
2009-01-30  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 23616: Various "template helpers" should be consolidated from isolated files in JavaScriptCore.
        <https://bugs.webkit.org/show_bug.cgi?id=23616>

        * wtf/TypeTraits.h: Moved RemovePointer, IsPod, IsInteger to this file.

        * wtf/OwnPtr.h: Use RemovePointer from TypeTraits.h.
        * wtf/RetainPtr.h:  Ditto.

        * wtf/HashTraits.h: Use IsInteger from TypeTraits.h.

        * wtf/VectorTraits.h: Use IsPod from TypeTraits.h.

        * GNUmakefile.am:
        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        Added TypeTraits.h.

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

13 years ago2009-01-30 David Levin <levin@chromium.org>
ap@webkit.org [Fri, 30 Jan 2009 08:18:56 +0000 (08:18 +0000)]
2009-01-30  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 23599: ResourceError needs to be copyable for use in another thread.
        <https://bugs.webkit.org/show_bug.cgi?id=23599>

        Add ResourceErrorBase::copy method.  (Not yet used.)

        * platform/network/ResourceErrorBase.cpp:
        (WebCore::ResourceErrorBase::copy):
        * platform/network/ResourceErrorBase.h:

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

13 years ago2009-01-29 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Fri, 30 Jan 2009 06:40:54 +0000 (06:40 +0000)]
2009-01-29  Stephanie Lewis <slewis@apple.com>

        RS by Oliver Hunt.

        Update the order files.

        * JavaScriptCore.order:

        * WebCore.order:
        * WebKit.order:

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

13 years ago2009-01-29 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Fri, 30 Jan 2009 03:09:35 +0000 (03:09 +0000)]
2009-01-29  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver Hunt.

        Bug 23551: Crash on page load with profiler enabled and running
        <https://bugs.webkit.org/show_bug.cgi?id=23551>
        <rdar://problem/6529521>

        Interpreter::execute(FunctionBodyNode*, ...) calls Profiler::didExecute()
        with a stale CallFrame. If some part of the scope chain has already been
        freed, Profiler::didExecute() will crash when attempting to get the lexical
        global object. The fix is to make the didExecute() call use the caller's
        CallFrame, not the one made for the function call. In this case, the
        willExecute() call should also be changed to match.

        Since this occurs in the actual inspector JS, it is difficult to reduce.
        I couldn't make a layout test.

        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::execute):

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

13 years agoFix mac bustage.
hyatt@apple.com [Fri, 30 Jan 2009 02:54:24 +0000 (02:54 +0000)]
Fix mac bustage.

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

13 years agoWindows build fix
alice.liu@apple.com [Fri, 30 Jan 2009 02:35:00 +0000 (02:35 +0000)]
Windows build fix

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

13 years ago2009-01-29 Dmitry Titov <dimich@chromium.org>
eric@webkit.org [Fri, 30 Jan 2009 02:01:50 +0000 (02:01 +0000)]
2009-01-29  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23488

        Make TimerBase thread-aware (for Workers).
        Added new class ThreadTimers - it keeps a heap of all timers for a thread (previously kept in a static global).
        Pointer to instance of ThreadTimers is stored in GlobalThreadData.
        Most static methods of TimerBase went to ThreadTimers.

        The TimerBase functionality did not change (it maintains the timer heap which computes the nearest firing).

        Added new abstract class SharedTimer, so worker threads can provide their own implementation (will be implemented on WorkerRunLoop).

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.scons:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Added new ThreadTimers.cpp to build files.

        * platform/SharedTimer.h:
        (WebCore::SharedTimer::~SharedTimer):
        (WebCore::MainThreadSharedTimer::setFiredFunction):
        (WebCore::MainThreadSharedTimer::setFireTime):
        (WebCore::MainThreadSharedTimer::stop):
        Added abstract SharedTimer and MainThreadSharedTimer which redirects to the existing port-supplied functions.

        * platform/ThreadGlobalData.cpp:
        (WebCore::ThreadGlobalData::ThreadGlobalData):
        (WebCore::ThreadGlobalData::~ThreadGlobalData):
        * platform/ThreadGlobalData.h:
        (WebCore::ThreadGlobalData::threadTimers):
        Added ThreadTimers to ThreadGlobalData.

        * platform/ThreadTimers.cpp: Added.
        (WebCore::mainThreadSharedTimer):
        Static getter for a MainThreadSharedTimer singleton.

        (WebCore::ThreadTimers::ThreadTimers):
        (WebCore::ThreadTimers::setSharedTimer):
        (WebCore::ThreadTimers::updateSharedTimer):
        (WebCore::ThreadTimers::collectFiringTimers):
        (WebCore::ThreadTimers::fireTimers):
        (WebCore::ThreadTimers::sharedTimerFired):
        (WebCore::ThreadTimers::sharedTimerFiredInternal):
        (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
        ThreadTimers implementation. Most of the code is moved from previous static functions on TimerBase.
        Need a new class so each thread may get ts own copy of the timer heap.

        * platform/ThreadTimers.h: Added.
        (WebCore::ThreadTimers::timerHeap):
        (WebCore::ThreadTimers::timersReadyToFire):

        * platform/Timer.cpp:
        (WebCore::timerHeap):
        (WebCore::timersReadyToFire):
        (WebCore::TimerHeapElement::TimerHeapElement):
        (WebCore::TimerHeapElement::checkConsistency):
        (WebCore::TimerHeapElement::operator=):
        (WebCore::TimerHeapIterator::checkConsistency):
        (WebCore::TimerBase::TimerBase):
        (WebCore::TimerBase::~TimerBase):
        (WebCore::TimerBase::isActive):
        (WebCore::TimerBase::checkHeapIndex):
        (WebCore::TimerBase::heapDelete):
        (WebCore::TimerBase::heapDeleteMin):
        (WebCore::TimerBase::heapInsert):
        (WebCore::TimerBase::heapPopMin):
        (WebCore::TimerBase::setNextFireTime):
        (WebCore::TimerBase::fireTimersInNestedEventLoop):
        Now instead of static timer heap these use accessor functions that pull thread-specific heap instance.

        * platform/Timer.h:
        static methods moved to ThreadTimers.

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

13 years ago2009-01-29 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 30 Jan 2009 01:56:02 +0000 (01:56 +0000)]
2009-01-29  Sam Weinig  <sam@webkit.org>

        Fix Windows build

        * WebHistoryItem.cpp:
        (WebHistoryItem::initFromDictionaryRepresentation):

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

13 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 30 Jan 2009 01:42:56 +0000 (01:42 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Beginning of work to eliminate RenderContainer and make containership "pluggable" into any spot in the render tree.  The first step is to create
        the new object that will handle children: RenderObjectChildList and move RenderContainer's member variables into it.  Subsequent patches will begin
        moving RenderContainer's functionality into RenderObjectChildList.

        Reviewed by Eric Seidel

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::RenderContainer):
        (WebCore::RenderContainer::destroyLeftoverChildren):
        (WebCore::RenderContainer::addChild):
        (WebCore::RenderContainer::removeChildNode):
        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
        (WebCore::RenderContainer::appendChildNode):
        (WebCore::RenderContainer::insertChildNode):
        (WebCore::RenderContainer::layout):
        (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
        (WebCore::RenderContainer::positionForCoordinates):
        (WebCore::RenderContainer::addLineBoxRects):
        (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
        * rendering/RenderContainer.h:
        (WebCore::RenderContainer::firstChild):
        (WebCore::RenderContainer::lastChild):
        (WebCore::RenderContainer::firstChildBox):
        (WebCore::RenderContainer::lastChildBox):
        * rendering/RenderObjectChildList.h: Added.
        (WebCore::RenderObjectChildList::RenderObjectChildList):
        (WebCore::RenderObjectChildList::firstChild):
        (WebCore::RenderObjectChildList::lastChild):
        (WebCore::RenderObjectChildList::setFirstChild):
        (WebCore::RenderObjectChildList::setLastChild):

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

13 years agoFix windows build bustage.
hyatt@apple.com [Fri, 30 Jan 2009 01:37:30 +0000 (01:37 +0000)]
Fix windows build bustage.

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

13 years agoFix windows build bustage.
hyatt@apple.com [Fri, 30 Jan 2009 01:14:14 +0000 (01:14 +0000)]
Fix windows build bustage.

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

13 years ago2009-01-29 Tony Chang <tony@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 00:48:20 +0000 (00:48 +0000)]
2009-01-29  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22894
        Fix typo in fill-stroke-clip-reset-path.html where
        layoutTestController.setUseDashboardCompatiblityMode is called instead of
        layoutTestController.setUseDashboardCompatibilityMode.

        * fast/canvas/fill-stroke-clip-reset-path.html:
        * platform/mac/fast/canvas/fill-stroke-clip-reset-path-expected.checksum:
        * platform/mac/fast/canvas/fill-stroke-clip-reset-path-expected.png:

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

13 years ago2009-01-29 Jungshik Shin <jshin@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 00:45:27 +0000 (00:45 +0000)]
2009-01-29  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        http://bugs.webkit.org/show_bug.cgi?id=23598
        Replace smart-quotes in UTF-8 with ASCII double-quotes to avoid
        the compilation error on CJK Windows

        * wml/WMLTableElement.cpp:
        (WebCore::WMLTableElement::parseMappedAttribute):

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

13 years ago2009-01-29 Hironori Bono <hbono@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 00:42:35 +0000 (00:42 +0000)]
2009-01-29  Hironori Bono  <hbono@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=18835
        Rebaseline a layout test that verifies the InsertLineBreakCommand() function
        doesn't delete existing markers.

        * platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
        * platform/mac/editing/spelling/spelling-linebreak-expected.png:

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

13 years ago2009-01-29 Darin Fisher <darin@chromium.org>
darin@chromium.org [Fri, 30 Jan 2009 00:39:43 +0000 (00:39 +0000)]
2009-01-29  Darin Fisher  <darin@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=23627
        Fix the PLATFORM(SKIA) build.

        * svg/graphics/SVGPaintServer.cpp:
        (WebCore::SVGPaintServer::teardown):

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

13 years ago Reviewed by Darin Adler.
eric@webkit.org [Fri, 30 Jan 2009 00:34:38 +0000 (00:34 +0000)]
    Reviewed by Darin Adler.

        Remove <strong>/<em> tags when toggling bold/italic since IE inserts them instead of <b>/<i>
        https://bugs.webkit.org/show_bug.cgi?id=23486

        Test: editing/execCommand/toggle-styles.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::isHTMLStyleNode):

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

13 years ago2009-01-29 Scott Violet <sky@google.com>
darin@chromium.org [Fri, 30 Jan 2009 00:23:49 +0000 (00:23 +0000)]
2009-01-29  Scott Violet  <sky@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=23625
        Skia platform doesn't render text to a canvas or support clipping to an image buffer

        Fixes two bugs in Skia rendering to a canvas:
        . Text was not rendered at all. This is because we never properly
          fixed up the alpha values. The fix is to create a layer when
          rendering text to a layer.
        . We were not honoring clipping to an image buffer.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clipToImageBuffer):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::PlatformContextSkia):
        (PlatformContextSkia::setDrawingToImageBuffer):
        (PlatformContextSkia::isDrawingToImageBuffer):
        (PlatformContextSkia::beginLayerClippedToImage):
        (PlatformContextSkia::restore):
        (PlatformContextSkia::applyClipFromImage):
        * platform/graphics/skia/PlatformContextSkia.h:

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

13 years agoWebKit/mac:
weinig@apple.com [Fri, 30 Jan 2009 00:19:11 +0000 (00:19 +0000)]
WebKit/mac:

2009-01-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Second step in tracking the urls a HistoryItem was redirected through
        Add SPI to access the array of redirect urls associated with a HistoryItem.

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

WebKit/win:

2009-01-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Second step in tracking the urls a HistoryItem was redirected through
        Add SPI to access the array of redirect urls associated with a HistoryItem.

        * Interfaces/IWebHistoryItemPrivate.idl:
        * WebHistoryItem.cpp:
        (WebHistoryItem::dictionaryRepresentation):
        (WebHistoryItem::redirectURLs):
        * WebHistoryItem.h:

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

13 years ago2009-01-29 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 29 Jan 2009 23:52:02 +0000 (23:52 +0000)]
2009-01-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Always activate the plug-in host process if we're in "modal mode" and are being told to activate.

        * Plugins/Hosted/NetscapePluginHostProxy.h:
        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WebKit::NetscapePluginHostProxy::pluginHostDied):
        Call endModal here.

        (WebKit::NetscapePluginHostProxy::applicationDidBecomeActive):
        If we're modal, we should always bring the plug-in host process to the front.

        (WebKit::NetscapePluginHostProxy::beginModal):
        Add an observer for the NSApplicationWillBecomeActiveNotification callback.

        (WebKit::NetscapePluginHostProxy::endModal):
        Remove the observer.

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

13 years agoWebCore:
weinig@apple.com [Thu, 29 Jan 2009 23:48:04 +0000 (23:48 +0000)]
WebCore:

2009-01-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        First step in tracking the urls a HistoryItem was redirected through.

        * WebCore.base.exp:
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::addRedirectURL):
        (WebCore::HistoryItem::redirectURLs):
        (WebCore::HistoryItem::setRedirectURLs):
        * history/HistoryItem.h:

WebKit/mac:

2009-01-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        First step in tracking the urls a HistoryItem was redirected through.

        * History/WebHistoryItem.mm:
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        (-[WebHistoryItem dictionaryRepresentation]):
        * Misc/WebNSDictionaryExtras.h:
        * Misc/WebNSDictionaryExtras.m:
        (-[NSDictionary _webkit_arrayForKey:]): Add helper.

WebKit/win:

2009-01-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        First step in tracking the urls a HistoryItem was redirected through.

        * WebHistoryItem.cpp:
        (WebHistoryItem::initFromDictionaryRepresentation):
        (WebHistoryItem::dictionaryRepresentation):

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

13 years ago2009-01-29 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Thu, 29 Jan 2009 23:43:32 +0000 (23:43 +0000)]
2009-01-29  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann, Eric Seidel.

        Just transform the pattern directly instead of transforming the context fixes this
        problem. Texts or strokes are no longer affected by transformations.

        SVG pattern transformation/BoundingBox can cause ugly stroke thickness or text positions
        https://bugs.webkit.org/show_bug.cgi?id=23472

        Test: svg/custom/pattern-with-transformation.svg

        * platform/graphics/Pattern.h:
        (WebCore::Pattern::setPatternSpaceTransform):
        * platform/graphics/cairo/PatternCairo.cpp:
        (WebCore::Pattern::createPlatformPattern):
        * platform/graphics/cg/PatternCG.cpp:
        (WebCore::Pattern::createPlatformPattern):
        * platform/graphics/qt/PatternQt.cpp:
        (WebCore::Pattern::createPlatformPattern):
        * svg/graphics/SVGPaintServerPattern.cpp:
        (WebCore::SVGPaintServerPattern::setup):

LayoutTest

        Transformations on SVG patterns caused ugly drawings. The pattern is transformed
        directly now. Texts or strokes are no longer affected by transformations.

        * platform/mac/svg/custom/pattern-with-transformation-expected.checksum: Added.
        * platform/mac/svg/custom/pattern-with-transformation-expected.png: Added.
        * platform/mac/svg/custom/pattern-with-transformation-expected.txt: Added.
        * svg/custom/pattern-with-transformation.svg: Added.

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

13 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 22:49:13 +0000 (22:49 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline.  Eliminate RenderFlow from the tree.

        Reviewed by Sam Weinig

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLAnchorElement.cpp:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::rendererLineBoxes):
        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
        * rendering/InlineFlowBox.h:
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::destroy):
        (WebCore::RenderBlock::styleWillChange):
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::dirtyLineBoxes):
        (WebCore::RenderBlock::removeChild):
        (WebCore::RenderBlock::setSelectionState):
        (WebCore::RenderBlock::avoidsFloats):
        (WebCore::RenderBlock::positionForCoordinates):
        (WebCore::RenderBlock::calcInlinePrefWidths):
        (WebCore::RenderBlock::baselinePosition):
        (WebCore::RenderBlock::getBaselineOfFirstLineBox):
        (WebCore::RenderBlock::getBaselineOfLastLineBox):
        (WebCore::RenderBlock::rectWithOutlineForRepaint):
        (WebCore::RenderBlock::hoverAncestor):
        (WebCore::RenderBlock::updateDragState):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::lineBoxes):
        (WebCore::RenderBlock::firstLineBox):
        (WebCore::RenderBlock::lastLineBox):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::computeRectForRepaint):
        (WebCore::RenderBox::containingBlockWidthForPositioned):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        * rendering/RenderBox.h:
        * rendering/RenderFlow.cpp: Removed.
        * rendering/RenderFlow.h: Removed.
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::RenderInline):
        (WebCore::RenderInline::destroy):
        (WebCore::RenderInline::styleDidChange):
        (WebCore::RenderInline::addChildIgnoringContinuation):
        (WebCore::RenderInline::cloneInline):
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::offsetLeft):
        (WebCore::RenderInline::offsetTop):
        (WebCore::RenderInline::positionForCoordinates):
        (WebCore::RenderInline::rectWithOutlineForRepaint):
        (WebCore::RenderInline::updateDragState):
        (WebCore::RenderInline::relativePositionedInlineOffset):
        * rendering/RenderInline.h:
        (WebCore::RenderInline::lineBoxes):
        (WebCore::RenderInline::firstLineBox):
        (WebCore::RenderInline::lastLineBox):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::rendererLineBoxes):
        * rendering/RootInlineBox.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::createLineBoxes):
        * wml/WMLAElement.cpp:

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

13 years ago2009-01-29 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 29 Jan 2009 22:38:32 +0000 (22:38 +0000)]
2009-01-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Pass the PSN of the client to the host, and get the PSN of the host back when checking in.

        * Plugins/Hosted/NetscapePluginHostManager.h:
        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::hostForPackage):
        Get the current PSN and pass it to spawnPluginHost.

        (WebKit::NetscapePluginHostManager::spawnPluginHost):
        Pass the PSN to the "check in" function.

        * Plugins/Hosted/NetscapePluginHostProxy.h:
        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):

        (WebKit::NetscapePluginHostProxy::pluginHostDied):
        Fix a bug noticed by Julien Chaffraix. Call endModal if necessary.

        (WebKit::NetscapePluginHostProxy::beginModal):
        (WebKit::NetscapePluginHostProxy::endModal):
        (WebKit::NetscapePluginHostProxy::setModal):
        Split out the code that does all of the work into beginModal and endModal methods.

        * Plugins/Hosted/WebKitPluginHost.defs:
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView loadStream]):

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

13 years ago2009-01-29 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 29 Jan 2009 22:05:43 +0000 (22:05 +0000)]
2009-01-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Cleaned up some naming in ScheduledRedirection.

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

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

13 years ago2009-01-29 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 29 Jan 2009 22:03:06 +0000 (22:03 +0000)]
2009-01-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Update to use new API.

        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::createFontCustomPlatformData):

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

13 years ago Reviewed by Nikolas Zimmermann.
ap@webkit.org [Thu, 29 Jan 2009 21:53:43 +0000 (21:53 +0000)]
    Reviewed by Nikolas Zimmermann.

        https://bugs.webkit.org/show_bug.cgi?id=23619
        ASSERT(!error.isNull()) in DocumentLoader::mainReceivedError() when an SVG image load
        is cancelled

        Covered by existing tests (as a random crash).

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::cancelledError):
        (WebCore::EmptyFrameLoaderClient::blockedError):
        (WebCore::EmptyFrameLoaderClient::cannotShowURLError):
        (WebCore::EmptyFrameLoaderClient::interruptForPolicyChangeError):
        (WebCore::EmptyFrameLoaderClient::cannotShowMIMETypeError):
        (WebCore::EmptyFrameLoaderClient::fileDoesNotExistError):
        (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
        Create non-null errors.

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

13 years ago2009-01-29 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 29 Jan 2009 21:48:44 +0000 (21:48 +0000)]
2009-01-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Removed an unused case of "lockHistory" to help make the other cases
        clearer.

        * page/FrameLoadRequest.h:
        (WebCore::FrameLoadRequest::FrameLoadRequest):

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

13 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 21:39:21 +0000 (21:39 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Move all of the contination insertion code from RenderFlow to RenderInline.  addChildToFlow is renamed to addChildIgnoringContinuation, and it has been moved to
        RenderContainer so that it can still be called on either blocks or inlines.  The base class implementation in RenderContainer is what RenderBlock uses.  RenderInline
        subclasses it to do all the work it used to do in addChildToFlow.

        RenderBlock's old addChildToFlow can just become addChild.  This simplification is possible because addChild was actually never being called on anonymous
        block continuations.

        The code dealing with anonymous table parts in the old addChildWithContinuation method can now be removed as a result with no harmful side effects.  Falling through to the
        base class and ignoring a block continuation makes the right thing happen.

        addChildWithContinuation moved to RenderInline and has been renamed to addChildToContinuation.

        Reviewed by Eric Seidel

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChild):
        * rendering/RenderBlock.h:
        * rendering/RenderContainer.h:
        (WebCore::RenderContainer::addChildIgnoringContinuation):
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::styleDidChange):
        (WebCore::RenderInline::addChild):
        (WebCore::nextContinuation):
        (WebCore::RenderInline::continuationBefore):
        (WebCore::RenderInline::addChildIgnoringContinuation):
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::splitFlow):
        (WebCore::RenderInline::addChildToContinuation):
        (WebCore::RenderInline::childBecameNonInline):
        * rendering/RenderInline.h:
        (WebCore::RenderInline::continuation):
        (WebCore::RenderInline::setContinuation):

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

13 years agoWebCore:
beidson@apple.com [Thu, 29 Jan 2009 21:37:18 +0000 (21:37 +0000)]
WebCore:

2009-01-29  Brady Eidson  <beidson@apple.com>

        Reviewed by Oliver Hunt

        <rdar://problem/6337157> hyundaiusa.com closes window or tab during load

        Test: fast/loader/subframe-self-close.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::close): Only allow mainframes to close the window.

LayoutTests:

2009-01-29  Brady Eidson  <beidson@apple.com>

        Reviewed by Oliver Hunt

        <rdar://problem/6337157> hyundaiusa.com closes window or tab during load

        * fast/loader/resources/subframe-self-close.html: Added.
        * fast/loader/subframe-self-close-expected.txt: Added.
        * fast/loader/subframe-self-close.html: Added.

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

13 years agoReviewed by David Hyatt.
zimmermann@webkit.org [Thu, 29 Jan 2009 21:23:07 +0000 (21:23 +0000)]
Reviewed by David Hyatt.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=23539
Remove several virtual functions from Node & Element related to form control / input elements,
that shouldn't reside there, but move to approriate locations, in the new form control /
input element abstract base classes.

Remove the isControl() method from Node, as it's redundant - isFormControlElement() provides the same information.
Move isEnabled( / isReadOnlyControl() / isTextControl() from Node to FormControlElement.
Move isAutofilled() / isChecked() / isIndeterminate() from Node to InputElement.
Move isInputTypeHidden() / isPasswordField() from Element to InputElement.

Querying these methods requires using the toInputElement/toFormControlElement casting helper functions
to cast Element pointers to InputElement/FormControlElement pointers.

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

13 years agoNot reviewed. Fix WML build - apply same fix as HTMLAnchorElement received.
zimmermann@webkit.org [Thu, 29 Jan 2009 21:19:42 +0000 (21:19 +0000)]
Not reviewed. Fix WML build - apply same fix as HTMLAnchorElement received.

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

13 years ago Reviewed by Anders Carlsson.
ap@webkit.org [Thu, 29 Jan 2009 20:40:00 +0000 (20:40 +0000)]
    Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23620
        Crash in appcache/resource-redirect.html on Tiger

        There was a bug in the test case - it didn't send a Location header, and on Tiger, this
        resulted in a failure callback being sent. It turned out that proper redirects weren't
        caught at all.

        Tests: http/tests/appcache/manifest-redirect-2.html
               http/tests/appcache/resource-redirect-2.html

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didFail): Fixed this function to not crash if
        didReceiveResponse() wasn't called for this request.
        (WebCore::ApplicationCacheGroup::didReceiveResponse): Fixed to check for redirects correctly.
        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Ditto.

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

13 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 19:36:13 +0000 (19:36 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Move dirtyLinesFromChangedChild into RenderLineBoxList so that it can be shared by RenderBlock and RenderInline.

        Reviewed by Sam Weinig

        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::dirtyLinesFromChangedChild):
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.h:
        (WebCore::RenderInline::dirtyLinesFromChangedChild):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
        * rendering/RenderLineBoxList.h:

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

13 years agoFix Bug 23623: Windowed Flash instances aren't captured when a WebView receives a...
aroben@apple.com [Thu, 29 Jan 2009 19:21:07 +0000 (19:21 +0000)]
Fix Bug 23623: Windowed Flash instances aren't captured when a WebView receives a WM_PRINTCLIENT message

WebCore:

        Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
        receives a WM_PRINTCLIENT message

        <https://bugs.webkit.org/show_bug.cgi?id=23623>
        <rdar://problem/6513921>
        <rdar://problem/6536874>

        Flash doesn't seem to respond to WM_PRINTCLIENT, so we change
        WM_PRINTCLIENT messages into WM_PAINT messages and hook into the
        BeginPaint/EndPaint APIs to return the HDC we received from
        WM_PRINTCLIENT. This causes the plugin to paint into the
        WM_PRINTCLIENT HDC via its normal WM_PAINT handler. This technique
        came from <http://www.fengyuan.com/article/wmprint.html>.

        No test possible.

        Reviewed by Darin Adler.

        * platform/graphics/GraphicsContext.h: Added
        [set]ShouldIncludeChildWindows on Windows.

        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Added
        m_shouldIncludeChildWindows.
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        Initialize the new member.

        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::setShouldIncludeChildWindows):
        (WebCore::GraphicsContext::shouldIncludeChildWindows):
        Added simple setter and getter.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView): Initialize the new member.

        * plugins/PluginView.h: Added m_wmPrintHDC and various functions
        required for making WM_PRINTCLIENT work.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::hookedBeginPaint):
        (WebCore::PluginView::hookedEndPaint):
        (WebCore::hook):
        (WebCore::setUpOffscreenPaintingHooks):
        Added. Code was modified from code available on fengyuan.com.

        (WebCore::PluginView::wndProc): Turn WM_PRINTCLIENT messages into
        WM_PAINT messages and save off the HDC that we're supposed to paint
        into.

        (WebCore::PluginView::paintWindowedPluginIntoContext): Added. Gets an
        HDC from the GraphicsContext, translates it into client coordinates,
        gets the plugin to draw into the HDC by sending a WM_PRINTCLIENT
        message, and returns the HDC to the GraphicsContext.

        (WebCore::PluginView::paint): If we're trying to paint a windowed
        plugin into the GraphicsContext, call paintWindowedPluginIntoContext.

        (WebCore::PluginView::init): Call setUpOffscreenPaintingHooks to make
        our WM_PRINTCLIENT trick work.

WebKit/win:

        Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
        receives a WM_PRINTCLIENT message

        <https://bugs.webkit.org/show_bug.cgi?id=23623>
        <rdar://problem/6513921>
        <rdar://problem/6536874>

        Reviewed by Darin Adler.

        * WebFrame.cpp:
        (WebFrame::paintDocumentRectToContext):
        (WebFrame::spoolPages):
        Call GraphicsContext::setShouldIncludeChildWindows so that child
        windows will be painted into the GraphicsContext rather than painted
        directly to the screen.

        * WebView.cpp:
        (WebView::updateBackingStore): Added a windowsToPaint parameter, which
        we pass along to paintIntoBackingStore.

        (WebView::paint): Tell updateBackingStore to paint child windows if
        we're not painting to the screen.

        (WebView::paintIntoBackingStore): Added a windowsToPaint paramter,
        which we use to tell our GraphicsContext whether or not to include
        child windows.

        * WebView.h: Added windowsToPaint parameters to paintIntoBackingStore
        and updateBackingStore (which I also made private).

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

13 years ago Build fix after r40353
aroben@apple.com [Thu, 29 Jan 2009 19:20:48 +0000 (19:20 +0000)]
    Build fix after r40353

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::loadURLIntoChild): Removed the check for
        FrameLoadTypeReloadAllowingStaleData.

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

13 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 18:00:39 +0000 (18:00 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Move RenderFlow::destroy down into RenderBlock and RenderInline.

        Reviewed by Anders Carlsson

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::destroy):
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::destroy):

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

13 years ago Remove semi-colons from the end of ObjC method implementations
ddkilzer@apple.com [Thu, 29 Jan 2009 15:46:09 +0000 (15:46 +0000)]
    Remove semi-colons from the end of ObjC method implementations

        Rubber-stamped by Adam Roben.

WebCore:

        $ find WebCore -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;

        * bridge/testbindings.mm:

WebKit/mac:

        $ find WebKit -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;

        * DefaultDelegates/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webView:setResizable:]):
        (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
        (-[WebDefaultUIDelegate webView:dragSourceActionMaskForPoint:]):
        (-[WebDefaultUIDelegate webView:willPerformDragSourceAction:fromPoint:withPasteboard:]):
        * History/WebBackForwardList.mm:
        (-[WebBackForwardList addItem:]):
        (-[WebBackForwardList backListWithLimit:]):
        (-[WebBackForwardList forwardListWithLimit:]):
        * History/WebHistoryItem.mm:
        (-[WebHistoryItem alternateTitle]):
        (-[WebHistoryItem setViewState:]):
        * Misc/WebCoreStatistics.mm:
        (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]):
        * Misc/WebKitNSStringExtras.m:
        (-[NSString _web_drawAtPoint:font:textColor:]):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView setAttributeKeys:andValues:]):
        * WebCoreSupport/WebEditorClient.mm:
        (-[WebEditCommand command]):
        * WebView/WebFrame.mm:
        (-[WebFrame _getVisibleRect:]):
        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView elementAtPoint:allowShadowContent:]):
        * WebView/WebPreferences.mm:
        (-[WebPreferences setAllowsAnimatedImages:]):
        (-[WebPreferences setAutosaves:]):
        (-[WebPreferences PDFDisplayMode]):
        * WebView/WebView.mm:
        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
        (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
        (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
        (+[WebView _registerViewClass:representationClass:forURLScheme:]):
        (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
        (-[WebView _insertNewlineInQuotedContent]):

WebKitTools:

        $ find WebKitTools -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;

        * DumpRenderTree/mac/FrameLoadDelegate.mm:
        (-[FrameLoadDelegate webView:didFailLoadWithError:forFrame:]):
        (-[FrameLoadDelegate webView:windowScriptObjectAvailable:]):
        (-[FrameLoadDelegate webView:didFinishDocumentLoadForFrame:]):
        (-[FrameLoadDelegate webView:didHandleOnloadEventsForFrame:]):
        * DumpRenderTree/mac/UIDelegate.mm:
        (-[UIDelegate webViewFrame:]):

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

13 years ago2009-01-29 Adam Treat <adam.treat@torchmobile.com>
treat@webkit.org [Thu, 29 Jan 2009 14:35:56 +0000 (14:35 +0000)]
2009-01-29  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=23609
        Use the two-arg constructor for implicit QUrl->KURL conversion as the
        single argument ctors assume that KURL::parse has already been called
        and assert if the parse results in a different string.  This was causing
        an assert for QUrl's with no path and without a trailing slash.

        * platform/qt/KURLQt.cpp:
        (WebCore::KURL::KURL):

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

13 years ago Build fix for Wx: Finish de-RefCount-ing FrameLoaderClientWx
ddkilzer@apple.com [Thu, 29 Jan 2009 13:09:45 +0000 (13:09 +0000)]
    Build fix for Wx: Finish de-RefCount-ing FrameLoaderClientWx

        * WebKitSupport/FrameLoaderClientWx.cpp:
        (WebCore::FrameLoaderClientWx::ref): Removed.
        (WebCore::FrameLoaderClientWx::deref): Removed.
        * WebKitSupport/FrameLoaderClientWx.h: Ditto.

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

13 years ago Rubber-stamped by Darin Adler.
ap@webkit.org [Thu, 29 Jan 2009 12:48:39 +0000 (12:48 +0000)]
    Rubber-stamped by Darin Adler.

        Renamed ApplicationCacheResource::Implicit to Master, because that's the word HTML5 uses,
        and it describes the meaning better.

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

13 years ago Not reviewed (this was just a merge problem).
ap@webkit.org [Thu, 29 Jan 2009 09:58:44 +0000 (09:58 +0000)]
    Not reviewed (this was just a merge problem).

        https://bugs.webkit.org/show_bug.cgi?id=23476
        HTTP redirect should make application cache updating fail

        * http/tests/appcache/manifest-redirect.html:
        * http/tests/appcache/resource-redirect.html:
        Updated the tests to work with the new appcache event sending behavior.

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

13 years ago Release build fix.
ap@webkit.org [Thu, 29 Jan 2009 09:27:15 +0000 (09:27 +0000)]
    Release build fix.

        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
        Got rid of a variable that wasn't used in release builds.

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

13 years ago2009-01-29 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 08:50:28 +0000 (08:50 +0000)]
2009-01-29  David Hyatt  <hyatt@apple.com>

        Get rid of createAnonymousFlow.  It was only called in one spot, so just inline the code.

        Reviewed by Oliver Hunt

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter):
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:

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

13 years ago Reviewed by Anders Carlsson.
ap@webkit.org [Thu, 29 Jan 2009 08:35:53 +0000 (08:35 +0000)]
    Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23476
        HTTP redirect should make application cache updating fail

        Tests: http/tests/appcache/manifest-redirect.html
               http/tests/appcache/resource-redirect.html

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
        Fail if response code isn't 2xx.

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

13 years ago Reviewed by Anders Carlsson.
ap@webkit.org [Thu, 29 Jan 2009 08:32:27 +0000 (08:32 +0000)]
    Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23592
        Update appcache manifest signature parsing

        Test: http/tests/appcache/wrong-signature-2.html

WebCore:
        * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Allow comments on signature
        line. Removed code that replaced nulls with 0xFFFD characters, because there is no such
        requirement in the spec.

LayoutTests:
        * http/tests/appcache/manifest-parsing.html: Fixed to point to a correct manifest (oops).

        * http/tests/appcache/resources/manifest-parsing.manifest: Added a comment at the end of
        signature line.

        * http/tests/appcache/resources/wrong-signature-2.manifest: Added.
        * http/tests/appcache/wrong-signature-2-expected.txt: Added.
        * http/tests/appcache/wrong-signature-2.html: Added.
        * http/tests/appcache/wrong-signature.html:
        Test that there must be whitespace before the comment.

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

13 years ago Reviewed by Anders Carlsson.
ap@webkit.org [Thu, 29 Jan 2009 08:26:24 +0000 (08:26 +0000)]
    Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23584
        Update application cache code for the latest round of spec changes

        The changes mostly affect the update process - events are sent at a different
        time, and caches are associated with documents earlier.

WebCore:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::mainReceivedError): Changed an always passing test to an assertion.
        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Caches are now associated
        with DocumentLoader before being complete, but they only affect loading after being completed.
        (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Ditto.

        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::setGroup): Allow setting the group to the same one, to simplify
        ApplicationCacheGroup code.
        (WebCore::ApplicationCache::isComplete): A new method that tells whether the cache is
        complete, as defined in HTML5.
        * loader/appcache/ApplicationCache.h: Added isComplete().

        * loader/appcache/ApplicationCacheGroup.h:
        (WebCore::ApplicationCacheUpdateOption): Per HTML5, cache updating should work differently
        when invoked with or without a browsing context (Frame). A Frame is currently always needed
        for updating in WebKit, so a new argument to update() tells whether we should pretend that
        there isn't one.
        (WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): A helper for ApplicationCache::isComplete().
        (WebCore::ApplicationCacheGroup::CompletionType): Cache update algorithm now waits for
        ne main resources to finish loading in more cases. A member variable of this type is used to
        distinguish between different cases when waiting.
        (WebCore::ApplicationCacheGroup::m_cacheCandidates): The new algorithm doesn't track cache
        candidates. Caches are associated with documents much earlier, but the ones whose main resources
        have not been loaded from a cache are being tracked in a pending master entry list.

        * loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::update):
        An explicit call to update() invokes the algorithm without a browsing context.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::stopLoading):
        (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
        (WebCore::ApplicationCacheGroup::cacheDestroyed):
        (WebCore::ApplicationCacheGroup::setNewestCache):
        (WebCore::ApplicationCacheGroup::update):
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
        (WebCore::ApplicationCacheGroup::manifestNotFound):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::ApplicationCacheGroup::deliverDelayedMainResources):
        (WebCore::ApplicationCacheGroup::addEntry):
        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
        (WebCore::CallCacheListenerTask::create):
        (WebCore::CallCacheListenerTask::performTask):
        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
        (WebCore::ApplicationCacheGroup::postListenerTask):
        Rewrote the update algorithm.

LayoutTests:
        * http/tests/appcache/404-manifest.html:
        * http/tests/appcache/404-resource.html:
        When initial cache attempt fails, the applicationCache singleton now gets an error event.

        * http/tests/appcache/foreign-iframe-main-expected.txt: Checking, downloading and progress
        events are now dispatched during initial cache attempt.

        * http/tests/appcache/idempotent-update-expected.txt:
        * http/tests/appcache/idempotent-update.html:
        Events are now posted asynchronously, so we cannot assume any status when handling an event.
        Rewrote the test to no longer rely on synchronous event dispatch.

        * http/tests/appcache/manifest-containing-itself.html: Changed the test to pass on reload,
        to simplify testing in browser (not related to any behavior changes).

        * http/tests/appcache/navigating-away-while-cache-attempt-in-progress.html: Fixed the test
        to not fail in browser due to missing layoutTestController.

        * http/tests/appcache/offline-access-expected.txt:
        * http/tests/appcache/offline-access.html:
        Removed a warning saying that output is timing dependent - I think this is not true now.

        * http/tests/appcache/remove-cache-expected.txt:
        * http/tests/appcache/remove-cache.html:
        * http/tests/appcache/resources/remove-cache-frame-2.html:
        * http/tests/appcache/resources/remove-cache-frame.html:
        An obsolete event is only dispatched if the document's main resource was already in cache,
        otherwise, an error event is dispatched. Changed the test to add the main resource to cache
        first. Also, updated it to make use of additional events that are now being posted.

        * http/tests/appcache/resources/offline-access-frame.html: Updated to dump frame events more
        completely.

        * http/tests/appcache/wrong-content-type.html:
        * http/tests/appcache/wrong-signature.html:
        Changed to expect and to make use of error event that is now being posted.

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

13 years agoWebCore:
ggaren@apple.com [Thu, 29 Jan 2009 07:38:54 +0000 (07:38 +0000)]
WebCore:

2009-01-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Merged FrameLoadTypeReloadAllowingStaleData with FrameLoadTypeReload.

        Technically, selecting View->Text Encoding->[Non-Default Encoding] on
        a page with frames may now be slightly slower than it used to be. Oh well.

        * loader/FrameLoader.cpp:
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::restoreDocumentState): Subbed in FrameLoadTypeReload.

        (WebCore::FrameLoader::loadURLIntoChildFrame): No need to account for
        non-back-forward navigations anymore.

        (WebCore::FrameLoader::canCachePage):
        (WebCore::FrameLoader::logCanCachePageDecision):
        (WebCore::FrameLoader::reloadWithOverrideEncoding):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::loadItem): Subbed in FrameLoadTypeReload.

        * loader/FrameLoader.h: Renamed reloadAllowingStaleData => reloadWithOverrideEncoding,
        since that's what it actually does.

WebKit/mac:

2009-01-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Updated for WebCore rename.

        * WebView/WebView.mm:
        (-[WebView setCustomTextEncodingName:]):

WebKit/win:

2009-01-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Updated for WebCore rename.

        * WebView.cpp:
        (WebView::setCustomTextEncodingName):

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 06:55:11 +0000 (06:55 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Move hit testing and painting of lines from RenderFlow into RenderLineBoxList.

        Reviewed by Oliver Hunt

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintContents):
        (WebCore::RenderBlock::hitTestContents):
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paint):
        (WebCore::RenderInline::nodeAtPoint):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderLineBoxList.h:

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

13 years agoVersioning.
mrowe@apple.com [Thu, 29 Jan 2009 06:38:10 +0000 (06:38 +0000)]
Versioning.

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 04:41:28 +0000 (04:41 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Fix SVG pixel test regressions.  I wish I could say that I understand this fix, but I don't.  For
        some reason the original code returned 0 for RenderSVGInlineText::yPos() and somehow my literal
        replacement of yPos() with the body of that method changed the results.  I am completely baffled,
        but all SVG pixel tests pass again when I just take the code out.

        Reviewed by Oliver Hunt

        * rendering/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):

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

13 years ago Add missing declaration for -[NSURL(WebNSURLExtras) _webkit_isFileURL]
ddkilzer@apple.com [Thu, 29 Jan 2009 03:53:12 +0000 (03:53 +0000)]
    Add missing declaration for -[NSURL(WebNSURLExtras) _webkit_isFileURL]

        Reviewed by Dan Bernstein.

        * Misc/WebNSURLExtras.h:
        (-[NSURL(WebNSURLExtras) _webkit_isFileURL]): Added missing
        declaration after the implementation was added in r9258.

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

13 years agoJavaScriptCore:
weinig@apple.com [Thu, 29 Jan 2009 02:24:13 +0000 (02:24 +0000)]
JavaScriptCore:

2009-01-28  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin Barraclough.

        Fix for <rdar://problem/6525537>
        Hang occurs when closing Installer window (iTunes, Aperture)

        * JavaScriptCore.exp: Export JSGlobalData::sharedInstance.

JavaScriptGlue:

2009-01-28  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin Barraclough.

        Fix for <rdar://problem/6525537>
        Hang occurs when closing Installer window (iTunes, Aperture)

        * JSUtils.cpp:
        (getThreadGlobalObject): Use the shared JSGlobalData instance.

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 02:11:08 +0000 (02:11 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Move dirtyLineBoxes from RenderFlow to RenderInline and RenderBlock.

        Reviewed by Oliver Hunt

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::dirtyLineBoxes):
        * rendering/RenderBlock.h:
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::dirtyLineBoxes):
        * rendering/RenderInline.h:
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLineBoxes):
        * rendering/RenderLineBoxList.h:

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 01:50:28 +0000 (01:50 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Back out my change to scrollWidth/Height from an earlier checkin since it broke stuff.  The current
        behavior is not correct, but this will need to be investigated before being changed again.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 29 Jan 2009 01:33:16 +0000 (01:33 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Move paintOutline and paintOutlineWithLine from RenderFlow to RenderInline, since they only apply to inlines.  Tighten up all of the code that
        called paintOutline to use RenderInline as the type instead of RenderFlow.

        Reviewed by cpst

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::addContinuationWithOutline):
        (WebCore::RenderBlock::paintContinuationOutlines):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::paintLines):
        * rendering/RenderFlow.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutline):
        (WebCore::RenderInline::paintOutlineForLine):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::PaintInfo::PaintInfo):

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

13 years ago2009-01-28 Darin Fisher <darin@chromium.org>
darin@chromium.org [Thu, 29 Jan 2009 00:49:21 +0000 (00:49 +0000)]
2009-01-28  Darin Fisher  <darin@chromium.org>

        Fixing bustage.

        https://bugs.webkit.org/show_bug.cgi?id=18835
        Add missing layout test results.

        * platform/mac/editing/spelling/spelling-linebreak-expected.checksum: Added.
        * platform/mac/editing/spelling/spelling-linebreak-expected.png: Added.
        * platform/mac/editing/spelling/spelling-linebreak-expected.txt: Added.

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

13 years agoVersioning.
mrowe@apple.com [Thu, 29 Jan 2009 00:34:03 +0000 (00:34 +0000)]
Versioning.

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

13 years ago2009-01-28 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 29 Jan 2009 00:26:28 +0000 (00:26 +0000)]
2009-01-28  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff Garen.

        Initial patch by Mark Rowe.

        <rdar://problem/6519356>
        REGRESSION (r36006): "out of memory" alert running dromaeo on Windows

        Report the cost of the ArrayStorage vector more accurately/often.

        * runtime/JSArray.cpp:
        (JSC::JSArray::JSArray): Report the extra cost even for a filled array
        because JSString using the single character optimization and immediates
        wont increase the cost themselves.
        (JSC::JSArray::putSlowCase): Update the cost when increasing the size of
        the array.
        (JSC::JSArray::increaseVectorLength): Ditto.

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

13 years ago2009-01-28 Darin Fisher <darin@chromium.org>
darin@chromium.org [Thu, 29 Jan 2009 00:01:59 +0000 (00:01 +0000)]
2009-01-28  Darin Fisher  <darin@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=23596
        XMLHttpRequest.cpp no longer compiles without USE(JSC)

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

13 years ago2009-01-28 Darin Fisher <darin@chromium.org>
darin@chromium.org [Wed, 28 Jan 2009 23:59:37 +0000 (23:59 +0000)]
2009-01-28  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23597
        Make it possible to compile Database.cpp when USE(JSC) is not defined

        * storage/Database.cpp:
        (WebCore::Database::Database):

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

13 years ago Reviewed by Darin Adler.
mitz@apple.com [Wed, 28 Jan 2009 23:49:47 +0000 (23:49 +0000)]
    Reviewed by Darin Adler.

        - fix <rdar://problem/6077047> REGRESSION (r34544): Custom icon does not
          appear in address field on first visit to any site

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::finishLoading): Changed to set the icon data only
        after establishing a mapping from the page URL(s) to the icon. Doing
        things the other way around resulted in the data not being cached
        in the icon-URL to IconRecord map (because there was no interested page
        at the time) and subsequently having to be fetched asynchronously from
        the database when the page-to-icon mapping was established.

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 28 Jan 2009 23:44:41 +0000 (23:44 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Move addFocusRingRects from RenderFlow down into RenderBlock and RenderInline.

        Reviewed by Oliver Hunt

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

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 28 Jan 2009 23:18:56 +0000 (23:18 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Move localCaretRect from RenderFlow into RenderBlock, since it only applied to blocks anyway and
        was misplaced from the start.

        Reviewed by anttik

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::localCaretRect):
        * rendering/RenderBlock.h:
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:

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

13 years agoJavaScriptCore:
weinig@apple.com [Wed, 28 Jan 2009 22:54:21 +0000 (22:54 +0000)]
JavaScriptCore:

2009-01-28  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff Garen.

        Fix for <rdar://problem/6129678>
        REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view

        Iterating the properties of activation objects accessed through the WebKit debugging
        APIs was broken by forced conversion of JSActivation to the global object. To fix this,
        we use a proxy activation object that acts more like a normal JSObject.

        * debugger/DebuggerActivation.cpp: Added.
        (JSC::DebuggerActivation::DebuggerActivation):
        (JSC::DebuggerActivation::mark):
        (JSC::DebuggerActivation::className):
        (JSC::DebuggerActivation::getOwnPropertySlot):
        (JSC::DebuggerActivation::put):
        (JSC::DebuggerActivation::putWithAttributes):
        (JSC::DebuggerActivation::deleteProperty):
        (JSC::DebuggerActivation::getPropertyNames):
        (JSC::DebuggerActivation::getPropertyAttributes):
        (JSC::DebuggerActivation::defineGetter):
        (JSC::DebuggerActivation::defineSetter):
        (JSC::DebuggerActivation::lookupGetter):
        (JSC::DebuggerActivation::lookupSetter):
        * debugger/DebuggerActivation.h: Added.
        Proxy JSActivation object for Debugging.

        * runtime/JSActivation.h:
        (JSC::JSActivation::isActivationObject): Added.
        * runtime/JSObject.h:
        (JSC::JSObject::isActivationObject): Added.

WebCore:

2009-01-28  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff Garen.

        Add forwarding header.

        * ForwardingHeaders/debugger/DebuggerActivation.h: Added.

WebKit/mac:

2009-01-28  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff Garen.

        Fix for <rdar://problem/6129678>
        REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view

        * WebView/WebScriptDebugDelegate.mm:
        (-[WebScriptCallFrame scopeChain]): Wrap JSActivations in DebuggerActivations.

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

13 years ago2009-01-28 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 28 Jan 2009 22:47:20 +0000 (22:47 +0000)]
2009-01-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Added layout tests for how many history items are created during a
        redirect. (Many of these results are expected failures for now.)

        * http/tests/history: Added.
        * http/tests/history/redirect-200-refresh-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-200-refresh-0-seconds.pl: Added.
        * http/tests/history/redirect-200-refresh-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-200-refresh-2-seconds.pl: Added.
        * http/tests/history/redirect-301-expected.txt: Added.
        * http/tests/history/redirect-301.pl: Added.
        * http/tests/history/redirect-302-expected.txt: Added.
        * http/tests/history/redirect-302.pl: Added.
        * http/tests/history/redirect-303-expected.txt: Added.
        * http/tests/history/redirect-303.pl: Added.
        * http/tests/history/redirect-307-expected.txt: Added.
        * http/tests/history/redirect-307.pl: Added.
        * http/tests/history/redirect-js-document-location-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-document-location-0-seconds.html: Added.
        * http/tests/history/redirect-js-document-location-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-document-location-2-seconds.html: Added.
        * http/tests/history/redirect-js-document-location-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-document-location-before-load.html: Added.
        * http/tests/history/redirect-js-location-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-0-seconds.html: Added.
        * http/tests/history/redirect-js-location-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-2-seconds.html: Added.
        * http/tests/history/redirect-js-location-assign-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-assign-0-seconds.html: Added.
        * http/tests/history/redirect-js-location-assign-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-assign-2-seconds.html: Added.
        * http/tests/history/redirect-js-location-assign-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-location-assign-before-load.html: Added.
        * http/tests/history/redirect-js-location-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-location-before-load.html: Added.
        * http/tests/history/redirect-js-location-href-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-href-0-seconds.html: Added.
        * http/tests/history/redirect-js-location-href-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-href-2-seconds.html: Added.
        * http/tests/history/redirect-js-location-href-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-location-href-before-load.html: Added.
        * http/tests/history/redirect-js-location-replace-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-replace-0-seconds.html: Added.
        * http/tests/history/redirect-js-location-replace-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-replace-2-seconds.html: Added.
        * http/tests/history/redirect-js-location-replace-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-location-replace-before-load.html: Added.
        * http/tests/history/redirect-meta-refresh-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-meta-refresh-0-seconds.html: Added.
        * http/tests/history/redirect-meta-refresh-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-meta-refresh-2-seconds.html: Added.
        * http/tests/history/resources: Added.
        * http/tests/history/resources/redirect-target.html: Added.

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

13 years ago2009-01-28 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 28 Jan 2009 22:43:10 +0000 (22:43 +0000)]
2009-01-28  Geoffrey Garen  <ggaren@apple.com>

        Build fix for GTK.

        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
        (LayoutTestController::webHistoryItemCount):

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

13 years ago2009-01-28 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 28 Jan 2009 22:36:59 +0000 (22:36 +0000)]
2009-01-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Added support for querying how many history items were created during a
        layout test.

        * DumpRenderTree/LayoutTestController.cpp:
        (getWebHistoryItemCountCallback):
        (LayoutTestController::staticValues):
        * DumpRenderTree/LayoutTestController.h:
        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
        (LayoutTestController::webHistoryItemCount):
        * DumpRenderTree/win/LayoutTestControllerWin.cpp:
        (LayoutTestController::webHistoryItemCount):

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

13 years agoFix build bustage.
hyatt@apple.com [Wed, 28 Jan 2009 22:35:33 +0000 (22:35 +0000)]
Fix build bustage.

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

13 years agoFix build bustage in release builds.
hyatt@apple.com [Wed, 28 Jan 2009 21:58:04 +0000 (21:58 +0000)]
Fix build bustage in release builds.

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 28 Jan 2009 21:48:33 +0000 (21:48 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Move createInlineBox out of RenderFlow and down into RenderInline and RenderBlock.

        Reviewed by Beth Dakin

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::createInlineBox):
        * rendering/RenderBlock.h:
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::createInlineBox):
        * rendering/RenderInline.h:
        * rendering/bidi.cpp:

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 28 Jan 2009 20:56:29 +0000 (20:56 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Move calcMargins from RenderFlow to RenderInline, since it was only ever called on RenderInlines.

        Reviewed by Oliver Hunt

        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderInline.h:
        (WebCore::RenderInline::calcMargins):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 28 Jan 2009 20:48:04 +0000 (20:48 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Refactor the first and last line box member variables from RenderFlow.  Encapsulate them into a new class called RenderLineBoxList that manages all modifications to
        the list.  This change will make it easier to give RenderInline and RenderBlock separate versions of the line box list without having to duplicate very much code.

        Reviewed by Oliver Hunt

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::deleteLine):
        (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
        (WebCore::InlineFlowBox::extractLine):
        (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
        (WebCore::InlineFlowBox::attachLine):
        (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
        * rendering/InlineFlowBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::deleteLineBoxTree):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::destroy):
        (WebCore::RenderFlow::dirtyLineBoxes):
        (WebCore::RenderFlow::createInlineBox):
        * rendering/RenderFlow.h:
        (WebCore::RenderFlow::RenderFlow):
        (WebCore::RenderFlow::lineBoxes):
        (WebCore::RenderFlow::firstLineBox):
        (WebCore::RenderFlow::lastLineBox):
        * rendering/RenderLineBoxList.cpp: Added.
        (WebCore::RenderLineBoxList::~RenderLineBoxList):
        (WebCore::RenderLineBoxList::appendLineBox):
        (WebCore::RenderLineBoxList::deleteLineBoxTree):
        (WebCore::RenderLineBoxList::extractLineBox):
        (WebCore::RenderLineBoxList::attachLineBox):
        (WebCore::RenderLineBoxList::removeLineBox):
        (WebCore::RenderLineBoxList::deleteLineBoxes):
        (WebCore::RenderLineBoxList::checkConsistency):
        * rendering/RenderLineBoxList.h: Added.
        (WebCore::RenderLineBoxList::RenderLineBoxList):
        (WebCore::RenderLineBoxList::firstLineBox):
        (WebCore::RenderLineBoxList::lastLineBox):
        (WebCore::RenderLineBoxList::checkConsistency):
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::createInlineBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::createInlineBox):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::removeLineBoxFromRenderObject):
        (WebCore::RootInlineBox::extractLineBoxFromRenderObject):
        (WebCore::RootInlineBox::attachLineBoxToRenderObject):
        * rendering/RootInlineBox.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):

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

13 years ago Clean up FontPlatformData constructor
ddkilzer@apple.com [Wed, 28 Jan 2009 20:46:02 +0000 (20:46 +0000)]
    Clean up FontPlatformData constructor

        Reviewed by David Hyatt.

        * platform/graphics/mac/FontPlatformData.h: Updated copyright.
        (WebCore::FontPlatformData::FontPlatformData): Provide readable
        names for constructor arguments and reformat member variables.
        * platform/graphics/mac/FontPlatformDataMac.mm: Updated copyright.
        (WebCore::FontPlatformData::FontPlatformData): Provide readable
        names for constructor arguments and reformat member variables.

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

13 years ago2009-01-28 Tony Chang <tony@chromium.org>
darin@chromium.org [Wed, 28 Jan 2009 20:37:39 +0000 (20:37 +0000)]
2009-01-28  Tony Chang  <tony@chromium.org>

        Reviewed by David Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=23593
        Compile fixes for RenderThemeChromiumMac and RenderThemeChromiumWin.
        This is a follow up for hyatt's RenderBox changes.

        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::baselinePosition):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintMenuList):

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

13 years agoFixed ChangeLog dates.
ddkilzer@apple.com [Wed, 28 Jan 2009 20:26:38 +0000 (20:26 +0000)]
Fixed ChangeLog dates.

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

13 years ago Bug 23490: Remove initialRefCount argument from RefCounted class
ddkilzer@apple.com [Wed, 28 Jan 2009 20:07:20 +0000 (20:07 +0000)]
    Bug 23490: Remove initialRefCount argument from RefCounted class

        <https://bugs.webkit.org/show_bug.cgi?id=23490>

        Reviewed by Darin Adler.

JavaScriptCore:

        RefCountedBase now always starts with a ref count of 1, so there
        is no need to pass the initialRefCount into the class anymore.

        * wtf/ByteArray.h:
        (WTF::ByteArray::ByteArray): Removed call to RefCounted(1).
        * wtf/RefCounted.h:
        (WTF::RefCountedBase::RefCountedBase): Changed to start with a
        ref count of 1.
        (WTF::RefCounted::RefCounted): Removed initialRefCount argument
        and removed call to RefCounted(1).

WebKit/wx:

        FrameLoaderClientWx is no longer a RefCounted class.

        * WebKitSupport/FrameLoaderClientWx.cpp:
        (WebCore::FrameLoaderClientWx::FrameLoaderClientWx): Removed call
        to the RefCounted<FrameLoaderClientWx>(0) super constructor.
        * WebKitSupport/FrameLoaderClientWx.h: Don't include RefCounted.h
        and stop inheriting from RefCounted<FrameLoaderClientWx>.

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

13 years ago2009-01-28 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 28 Jan 2009 19:40:47 +0000 (19:40 +0000)]
2009-01-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=23582

        Fix assertions when inline elements have both opacity (or something
        else that creates a RenderLayer), and transform by ensuring that
        setHasTransform() is only called for non-inline or replaced elements.
        We also have to ensure that RenderReplicas will get transforms applied
        to them by lying about them being replaced.

        Tests: fast/transforms/transform-on-inline.html
               fast/transforms/transform-table-row.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::RenderReplica):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::requiresLayer):

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

13 years ago2009-01-28 Hironori Bono <hbono@chromium.org>
darin@chromium.org [Wed, 28 Jan 2009 19:38:01 +0000 (19:38 +0000)]
2009-01-28  Hironori Bono  <hbono@chromium.org>

        Reviewed by Justin Garcia.

        https://bugs.webkit.org/show_bug.cgi?id=18835
        Spelling underlines disappear when they shouldn't

        The WebCore::InsertLineBreakCommand::doApply() function splits a text node
        without copying existing markers. To fix this bug, change code which
        manually splits a text node into a CompositeEditCommand::splitTextNode() call.

        Test: editing/spelling/spelling-linebreak.html

        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):

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

13 years ago2009-01-28 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 28 Jan 2009 19:31:46 +0000 (19:31 +0000)]
2009-01-28  David Hyatt  <hyatt@apple.com>

        Move the m_lineHeight member variable out of RenderFlow and down into RenderBlock and RenderInline.  Shift the line height computation into RenderStyle so
        that it isn't repeated in three places.

        Reviewed by Sam Weinig

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::lineHeight):
        * rendering/RenderBlock.h:
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        (WebCore::RenderFlow::RenderFlow):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::RenderInline):
        (WebCore::RenderInline::lineHeight):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::lineHeight):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::computedLineHeight):

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

13 years ago2009-01-28 Zachary Kuznia <zork@chromiuum.org>
darin@chromium.org [Wed, 28 Jan 2009 19:19:32 +0000 (19:19 +0000)]
2009-01-28  Zachary Kuznia  <zork@chromiuum.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=22070
        Add an option to allow scripts to close windows.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setAllowScriptsToCloseWindows):
        * page/Settings.h:
        (WebCore::Settings::allowScriptsToCloseWindows):

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

13 years ago2009-01-28 Adam Langley <agl@google.com>
darin@chromium.org [Wed, 28 Jan 2009 18:52:15 +0000 (18:52 +0000)]
2009-01-28  Adam Langley  <agl@google.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=23573
        Make PlatformWidget on chromium an intptr_t to match changes made in Chromium

        * platform/chromium/PlatformWidget.h:

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