WebKit-https.git
11 years ago2009-03-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
kov@webkit.org [Thu, 26 Mar 2009 11:43:09 +0000 (11:43 +0000)]
2009-03-26  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=24804
        [GTK] 401 responses cause rogue content to be loaded

        Our soup code handles 401 responses itself, so we should not feed
        the headers and data of those responses to the loader.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::gotHeadersCallback):
        (WebCore::gotChunkCallback):

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

11 years ago2009-03-20 Erik L. Bunce <elbunce@xendom.com>
ariya@webkit.org [Thu, 26 Mar 2009 09:31:55 +0000 (09:31 +0000)]
2009-03-20  Erik L. Bunce  <elbunce@xendom.com>

        Reviewed by Simon Hausmann.

        Fix for InsertParagraphSeparator and InsertLineSeparator so that
        QWebPage::action() creates QActions for them. Also make sure they get
        updated appropriately.

        * Api/qwebpage.cpp:
        (QWebPagePrivate::updateEditorActions):
        (QWebPage::action):
        * tests/qwebpage/tst_qwebpage.cpp:
        (tst_QWebPage::textEditing):

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

11 years agoFix exception handling for instanceof in the interpreter.
oliver@apple.com [Thu, 26 Mar 2009 02:39:38 +0000 (02:39 +0000)]
Fix exception handling for instanceof in the interpreter.

Reviewed by Geoff Garen

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

11 years ago2009-03-25 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 26 Mar 2009 02:34:54 +0000 (02:34 +0000)]
2009-03-25  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich.

        Fixed <rdar://problem/6724011> Write to freed memory in JSC::Label::deref
        when reloading http://helpme.att.net/speedtest/

        * bytecompiler/BytecodeGenerator.h: Reversed the declaration order for
        m_labelScopes and m_labels to reverse their destruction order.
        m_labelScopes has references to memory within m_labels, so its destructor
        needs to run first.

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

11 years ago2009-03-25 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 26 Mar 2009 02:12:27 +0000 (02:12 +0000)]
2009-03-25  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt and Darin Adler.

        Fixed <rdar://problem/6603167> Crash in WebKit!JSC::JSGlobalObject::resetPrototype
        during Stress test (#3 & #7 WER crashes for Safari 4 Beta)

        The problem was that allocation of the global object would, for just a
        moment, leave the global object's prototype unprotected from GC. This
        bug doesn't apply to non-global DOM objects because their prototypes are
        cached and marked by the global object.

        No test case because the crashing condition is hard to deterministically
        produce in a normal build, and in a Windows Release build with
        COLLECT_ON_EVERY_ALLOCATION set to 1, existing tests crash/hang.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::initScript): Protect the global object's
        prototype from GC during construction, since the global object does not
        yet point to it, and therefore won't mark it.

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

11 years ago2009-03-25 Dean Jackson <dino@apple.com>
dino@apple.com [Thu, 26 Mar 2009 01:38:52 +0000 (01:38 +0000)]
2009-03-25  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser

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

        When using hardware compositing, some images can be directly
        rendered by the hardware - no need to draw them into a separate
        context, therefore saving memory.
        Only images with certain style properties can be directly
        composited - basically anything that is not a simple image requires
        the usual rendering path (eg. if the image has borders).

        Test: compositing/direct-image-compositing.html

        * manual-tests/resources/simple_image.png: Added.
        * manual-tests/simple-image-compositing.html: Added.
        * platform/graphics/Image.h:
        (WebCore::Image::startAnimation):
            - move this to public
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged):
            - poke compositing layer if image has changed
        (WebCore::RenderImage::notifyFinished):
            - let the compositing layer know that it can render the image
        * rendering/RenderImage.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::rendererContentChanged):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::canUseInnerContentLayer):
        (WebCore::RenderLayerBacking::detectDrawingOptimizations):
        (WebCore::RenderLayerBacking::rendererContentChanged):
        * rendering/RenderLayerBacking.h:
            - code to hook up direct compositing of images where
              possible

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

11 years agoUpdate test result search path for Windows now that it has updated versions of ICU...
mrowe@apple.com [Wed, 25 Mar 2009 23:41:53 +0000 (23:41 +0000)]
Update test result search path for Windows now that it has updated versions of ICU, libxml2, and friends.

Rubber-stamped by Steve Falkenburg.

* Scripts/run-webkit-tests:

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

11 years ago2009-03-25 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 25 Mar 2009 23:06:41 +0000 (23:06 +0000)]
2009-03-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6714964>
        CrashTracer: [REGRESSION] 51 crashes in Safari at com.apple.WebKit â\80¢ WebNetscapePluginStream::deliverData + 775

        Don't release m_deliveryData since it's a RetainPtr. Also, use adoptNS instead of releasing newDeliveryData manually.

        * Plugins/WebBaseNetscapePluginStream.mm:
        (WebNetscapePluginStream::deliverData):

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

11 years ago2009-03-25 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 25 Mar 2009 22:37:56 +0000 (22:37 +0000)]
2009-03-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        Update layout test results for
        https://bugs.webkit.org/show_bug.cgi?id=24809

        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/win/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:

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

11 years ago2009-03-25 David Levin <levin@chromium.org>
levin@chromium.org [Wed, 25 Mar 2009 22:24:23 +0000 (22:24 +0000)]
2009-03-25  David Levin  <levin@chromium.org>

        Reviewed by Dimitri Glazkov.

        Chromium build fix. Fix #include in V8NodeFilterCondition.cpp due to the
        rename of V8NodeFilter to V8NodeFilterCondition.

        * bindings/v8/V8NodeFilterCondition.cpp:

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

11 years ago Reviewed by Darin Adler.
eric@webkit.org [Wed, 25 Mar 2009 22:15:03 +0000 (22:15 +0000)]
    Reviewed by Darin Adler.

        Remove dead code and style cleanup
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * html/CanvasStyle.cpp:
        (WebCore::CanvasStyle::CanvasStyle):
          Coverty was annoyed that we didn't initialize all of our members.  I agree, but I didn't
          want to paste all 8 members each time, so I just cleaned up the existing constructors and left them.
        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedNode):
          "node" was checked just above and is already known to be non-null
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::insertOnlyThisLayer):
          We were already using parentLayer w/o a NULL check above, so just add an explicit ASSERT and use it w/o NULL check
        (WebCore::RenderLayer::resize):
          element is already ASSERTed above, no need to null check it here
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addCell):
          currentCell.cell was just assigned to the value "cell" which is known to be non-null, no need to null check again.

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

11 years ago Reviewed by Darin Adler.
eric@webkit.org [Wed, 25 Mar 2009 22:14:57 +0000 (22:14 +0000)]
    Reviewed by Darin Adler.

        Move ASSERT(foo) to before where foo-> is used
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeImage):
          Move ASSERTs to the top of the function, code was using "node" before ASSERT(node), once I moved
          ASSERT(node) to the top of the function it made sense to move the rest of them there too.
        * rendering/SVGRenderSupport.cpp:
        (WebCore::prepareToRenderSVGContent):
          move ASSERT(object) to *before* we use "object" :)

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

11 years ago Reviewed by Simon Fraser.
eric@webkit.org [Wed, 25 Mar 2009 22:14:52 +0000 (22:14 +0000)]
    Reviewed by Simon Fraser.

        Make TextTokenizer ASSERT that the buffer was freed
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * loader/TextDocument.cpp:
        (WebCore::TextTokenizer::TextTokenizer):
        (WebCore::TextTokenizer::~TextTokenizer):
        (WebCore::TextTokenizer::finish):
          Make it clear by adding a ~TextTokenizer that finish() will always be called and the memory never leaked.

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

11 years ago Reviewed by Darin Adler.
eric@webkit.org [Wed, 25 Mar 2009 22:14:46 +0000 (22:14 +0000)]
    Reviewed by Darin Adler.

        Fix case where lBreak.obj->isBR() when lBreak.obj was NULL
        https://bugs.webkit.org/show_bug.cgi?id=24684

        I don't have a test case where we were taking the wrong path here
        However, adding an ASSERT(lBreak.obj) before this usage caused
        multiple bidi tests to fail, so lBreak.obj can be null here.

        * rendering/bidi.cpp:
        (WebCore::RenderBlock::findNextLineBreak):
          lBreak.obj can be null, so we can't call ->isBR() on it unconditionally.

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

11 years ago2009-03-25 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 25 Mar 2009 22:11:47 +0000 (22:11 +0000)]
2009-03-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

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

        When the slider range is zero, avoid a divide by zero, which caused the
        thumb to be positioned off in the weeds, which broke painting.

        Test: media/video-empty-source.html

        * rendering/RenderSlider.cpp:
        (WebCore::SliderRange::proportionFromValue):
        (WebCore::SliderRange::valueFromProportion):
        (WebCore::sliderPosition):
        (WebCore::RenderSlider::setValueForPosition):

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

11 years ago Reviewed by Simon Fraser.
eric@webkit.org [Wed, 25 Mar 2009 22:04:48 +0000 (22:04 +0000)]
    Reviewed by Simon Fraser.

        Style cleanup and dead code removal in dom, editing
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::getUpperLeftCorner):
        (WebCore::ContainerNode::getLowerRightCorner):
        (WebCore::ContainerNode::getRect):
          Coverty was (rightly) confused as to what the hell "o" was being used for
          and whether or not it would ever be NULL.  I added some ASSERTS so that people (and machines)
          would be less confused about the logic in getUpperLeftCorner/getLowerRightCorner
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
          Remove dead code, this block already checked that change == Force
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeInlineStyle):
          Coverty correctly identified that traversePreviousNodePostOrder can return NULL, thus
          prev will be null, and we don't really explicitly handle it (like we probably should)
          It's OK though, because we end up creating a null position object, which may not have
          been what we intended, but we certainly don't crash.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
          Remove dead code, insertionPosition.node() is already checked to be non-null above.
        * editing/markup.cpp:
        (WebCore::appendStartMarkup):
          removed dead code, annotate is already known to be true at this point in the file
          !annotate was checked above, and break; was called.

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

11 years ago Reviewed by Simon Fraser.
eric@webkit.org [Wed, 25 Mar 2009 22:04:43 +0000 (22:04 +0000)]
    Reviewed by Simon Fraser.

        CSS dead code removal and cleanup from Coverty errors
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
          Every other place in the code we check settings() for NULL, so I made these places
          check too, even though we should never be resolving style against a document which has
          no frame (which I believe is the only time settings() can be null)
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::styleSheetChanged):
          Removing dead code, "root" can never be null here.
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::colorFromSVGColorCSSValue):
        (WebCore::CSSStyleSelector::applySVGProperty):
          Extra returns in the old macros caused dead code.  Removing the old macros and use modern
          ones instead. :)
          Extra null checks to value were not needed.  Added an ASSERT at the top of the function
          to make it clear that value will never be NULL.
          Added colorFromSVGColorCSSValue to clean up the code a little.

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

11 years ago Reviewed by Simon Fraser.
eric@webkit.org [Wed, 25 Mar 2009 22:04:37 +0000 (22:04 +0000)]
    Reviewed by Simon Fraser.

        Font fallback cleanup and added ASSERT for GlyphPageTreeNode
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * css/CSSFontSelector.cpp:
        (WebCore::compareFontFaces):
          Coverty was concerned that it was possible to index off the end of weightFallbackRuleSets
          I can't read the code well enough to tell, so I tried to make the code clearer
          and added an ASSERT.
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage):
          Coverty believes we can crash here due to j being larger than GlyphPage::size.  I think to is already
          known to be < GlyphPage::size due to the min() statement above, but not being sure I added an ASSERT.

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

11 years ago Reviewed by Simon Fraser.
eric@webkit.org [Wed, 25 Mar 2009 22:04:31 +0000 (22:04 +0000)]
    Reviewed by Simon Fraser.

        Coverty inspired fixes in Animations/Transforms
        https://bugs.webkit.org/show_bug.cgi?id=24684

        * page/animation/AnimationBase.h:
          Fix animate() signatures to match so that the virtual methods actually override one another. :)
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
          Attempt to fix this method, prevAnimation was never set to anything but NULL,
          as far as I can tell the author originally intended to update it at the end
          of the loop, which is what I changed this code to do.
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::animate):
          Make method signature match AnimationBase::animate
        * page/animation/ImplicitAnimation.h:
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::animate):
          Make method signature match AnimationBase::animate
        * page/animation/KeyframeAnimation.h:
        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
        (WebCore::PerspectiveTransformOperation::blend):
          if (blendToIdentity) already returned above.
        * platform/graphics/transforms/RotateTransformOperation.cpp:
        (WebCore::RotateTransformOperation::blend):
          if (blendToIdentity) already returned above.

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

11 years ago2009-03-25 Eli Fidler <eli.fidler@torchmobile.com>
staikos@webkit.org [Wed, 25 Mar 2009 21:31:44 +0000 (21:31 +0000)]
2009-03-25  Eli Fidler  <eli.fidler@torchmobile.com>

        Reviewed by George Staikos.

        Fix compiler warnings regarding assignments in if statements.

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

11 years agoWebCore:
mitz@apple.com [Wed, 25 Mar 2009 21:25:22 +0000 (21:25 +0000)]
WebCore:

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6472150> repro crash in
          RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using
          menus

        Test: fast/inline/continuation-positioned-reparenting.html

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::splitFlow): When repurposing the existing
        container as the "pre" block, clear its positioned objects list, because
        positioned descendants may end up in a different block after the split.

LayoutTests:

        Reviewed by Dave Hyatt.

        - test for <rdar://problem/6472150> repro crash in
          RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using
          menus

        * fast/inline/continuation-positioned-reparenting-expected.txt: Added.
        * fast/inline/continuation-positioned-reparenting.html: Added.

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

11 years ago2009-03-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 25 Mar 2009 19:52:03 +0000 (19:52 +0000)]
2009-03-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        Length values in transform operations need to take zoom into account.

        Test: fast/transforms/transforms-with-zoom.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createTransformOperations):

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

11 years agoWebCore:
hyatt@apple.com [Wed, 25 Mar 2009 19:23:00 +0000 (19:23 +0000)]
WebCore:

2009-03-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=24809, background-clip/origin don't use the correct
        values.  Add support for the new values (while preserving the old values for backwards
        compatibility).

        Changed some existing test cases to use the new values.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillProperty):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFillBox):
        * css/CSSValueKeywords.in:

LayoutTests:

2009-03-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Change a few test cases to use the new values just to verify that they work.

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

        * fast/backgrounds/size/backgroundSize17.html:
        * fast/backgrounds/size/backgroundSize18.html:
        * fast/backgrounds/size/backgroundSize19.html:
        * fast/gradients/simple-gradients.html:

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

11 years agoWebCore:
brettw@chromium.org [Wed, 25 Mar 2009 18:18:11 +0000 (18:18 +0000)]
WebCore:
2009-03-25  Brett Wilson  <brettw@dhcp-172-22-71-191.mtv.corp.google.com>

        Reviewed by Dimitri Glazkov.

        Fix complex text opacity on the Chromium Windows port.
        https://bugs.webkit.org/show_bug.cgi?id=24757

        Test: fast/text/complex-text-opacity.html

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):

LayoutTests:
2009-03-25  Brett Wilson  <brettw@dhcp-172-22-71-191.mtv.corp.google.com>

        Reviewed by Dimitri Glazkov.

        Fix complex text opacity on the Chromium Windows port.
        https://bugs.webkit.org/show_bug.cgi?id=24757

        * fast/text/complex-text-opacity.html: Added.
        * platform/mac/fast/text/complex-text-opacity-expected.checksum: Added.
        * platform/mac/fast/text/complex-text-opacity-expected.png: Added.
        * platform/mac/fast/text/complex-text-opacity-expected.txt: Added.

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

11 years ago Reviewed by Kevin Decker.
kdecker@apple.com [Wed, 25 Mar 2009 17:30:01 +0000 (17:30 +0000)]
    Reviewed by Kevin Decker.

        <rdar://problem/6453738> call SetWindow when user creates a new tab

        CoreGraphics plug-ins now receive an NPP_SetWindow call when moving to a background tab.
        Flash is excluded from this change in behavior, as it has historical WebKit-specific code
        that isn't compatible with this change.

        * Plugins/WebNetscapePluginView.h:
            Added an _isFlash ivar.
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView _createPlugin]):
            Set the new _isFlash ivar based on the bundle identifier.
        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
            When using the CG drawing model and in a non-drawable state,  set the portState
            to NULL and return early.
        (-[WebNetscapePluginView updateAndSetWindow]):
            When using the CG drawing model, call -setWindowIfNecessary even if the portState is NULL.
            Flash is an exception to this, due to its historical behavior.
        (-[WebNetscapePluginView setWindowIfNecessary]):
            Removed an assertion that was no longer true.  The [NSView focus] view
            is no longer guaranteed to be 'self' at this point.
            Also modified the debug logging for CG plug-ins to include the size of the
            window's clipRect, which was useful in verifying the correct behavior of this patch.

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

11 years agoWebCore:
hyatt@apple.com [Wed, 25 Mar 2009 17:07:31 +0000 (17:07 +0000)]
WebCore:

2009-03-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Eric Seidel

        Fix for bug 23198, border images should not clip to border radii.  The border-image should just ignore
        the border-radius, since the assumption is that any desired rounding will be built into the border-image
        itself.

        Note that I do not agree with this change, but I am matching the spec.

        Added fast/borders/border-image-border-radius.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

LayoutTests:

2009-03-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Eric Seidel

        Test case for bug 23198.

        * fast/borders/border-image-border-radius.html: Added.
        * platform/mac/fast/borders/border-image-border-radius-expected.checksum: Added.
        * platform/mac/fast/borders/border-image-border-radius-expected.png: Added.
        * platform/mac/fast/borders/border-image-border-radius-expected.txt: Added.

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

11 years ago2009-03-25 Gustavo Noronha Silva <gns@gnome.org>
kov@webkit.org [Wed, 25 Mar 2009 15:09:24 +0000 (15:09 +0000)]
2009-03-25  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=24750
        [GTK] requests download instead of displaying page

        Fix the Content-Type headers we get from soup, so that we set a
        proper media type on the ResourceResponse.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::fillResponseFromMessage):

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

11 years ago2009-03-25 Gustavo Noronha Silva <gns@gnome.org>
kov@webkit.org [Wed, 25 Mar 2009 14:49:31 +0000 (14:49 +0000)]
2009-03-25  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=24600
        [GTK] responses with status code >= 400 should not be given special treatment

        Do not special case requests that have HTTP responses >=
        400. Redirects are handled automatically by libsoup, but the rest
        of the responses should be treated like any other.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::):
        (WebCore::gotHeadersCallback):
        (WebCore::gotChunkCallback):
        (WebCore::finishedCallback):

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

11 years ago2009-03-25 Darin Adler <darin@apple.com>
darin@apple.com [Wed, 25 Mar 2009 14:36:31 +0000 (14:36 +0000)]
2009-03-25  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        Tidy up LegacyWebArchive a bit. And don't include favicons in web archives when
        they are being used only for selections, not an entire document.

        * WebCore.base.exp: Remove exported function that's not used in WebKit.

        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createPropertyListRepresentation): Made a static member
        function so it can share private things with other member functions. Added some FIXME
        comments to a branch of code I think is dead. Changed boolean argument into a named
        one. Renamed to match other similar functions.
        (WebCore::LegacyWebArchive::createResourceResponseFromPropertyListData): Ditto.
        (WebCore::LegacyWebArchive::createResource): Ditto.
        (WebCore::LegacyWebArchive::create): Merged the create and init functions.
        (WebCore::LegacyWebArchive::rawDataRepresentation): Added some assertions because
        we should never fail to write (we can fail to read).
        (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Made a static
        member function as above.
        (WebCore::LegacyWebArchive::createFromSelection): Ditto.
        (WebCore::LegacyWebArchive::create): Iterate the vector with indices rather than
        iterators. Only include the favicon if the first node is the document since we don't
        want to include the favicon when copying and pasting.

        * loader/archive/cf/LegacyWebArchive.h: Made one of the create functions private.
        Made the Mac-specific functions be static member functions. Made other helpers be
        static member functions. Removed the nit function.

        * loader/archive/cf/LegacyWebArchiveMac.mm:
        (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Updated
        comment and made this a static member function.
        (WebCore::LegacyWebArchive::createPropertyListRepresentation): Ditto. Also made
        it so we only type cast in one place.

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

11 years agoWebCore:
darin@apple.com [Wed, 25 Mar 2009 14:34:02 +0000 (14:34 +0000)]
WebCore:

2009-03-25  Darin Adler  <darin@apple.com>

        Reviewed by David Hyatt.

        Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
        https://bugs.webkit.org/show_bug.cgi?id=24740
        rdar://problem/6679873

        Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
        https://bugs.webkit.org/show_bug.cgi?id=12104

        Test: media/video-display-none-crash.html

        The problem here was that RenderSlider was trying to position its thumb in a way that
        requires it to call updateLayout inside rendering code. The right way to position a
        child renderer is to do layout, so I had to write a layout function. And then fix a few
        other small problems shown by the same test case.

        * rendering/RenderSlider.cpp: Made defaultTrackLength have internal linkage.
        Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML
        prefix for public DOM classes, not elements used as implementation details.
        Made SliderThumbElement function members private and got rid of unneeded default
        argument value for shadowParent.
        (WebCore::SliderRange::SliderRange): Added. Parses precision, max, and min attributes.
        (WebCore::SliderRange::clampValue): Added. Does standard clamping based on the above.
        (WebCore::SliderRange::valueFromElement): Added. Reads the value from the element in
        a way that clamps to the range.
        (WebCore::sliderPosition): Added. Computes the slider position: a double.
        (WebCore::SliderThumbElement::SliderThumbElement): Removed unneeded explicit
        initialization of m_initialClickPoint.
        (WebCore::SliderThumbElement::defaultEventHandler): Call setValueForPosition instead
        of calling setCurrentPosition and valueChanged.
        (WebCore::RenderSlider::RenderSlider): Remove unneeded explicit initialization of m_thumb.
        (WebCore::RenderSlider::styleDidChange): Remove unneeded second argument to createThumbStyle.
        (WebCore::RenderSlider::createThumbStyle): Remove unneeded second argument. Get rid of code
        setting the position to relative and setting the left and top. We now handle positioning
        in a custom layout function.
        (WebCore::RenderSlider::layout): Rewrote to handle positioning of the thumb as layout.
        (WebCore::RenderSlider::updateFromElement): Added code to immediately update the value
        in the element if it's out of range. This clamping used to be done as a side effect of
        setPositionFromValue. Also, this has nothing to do with the renderer, so at some point
        it could be moved into HTMLInputElement. Removed call to setPositionFromValue
        and instead just rely on the call to setNeedsLayout. Fix the setNeedsLayout call to be
        a normal setNeedsLayout(true), not a setNeedsLayout(true, false), because we do want
        this to be propagated to the parent -- it's not called during layout.
        (WebCore::RenderSlider::setValueForPosition): Refactor to use the new SliderRange
        class. Also don't call setCurrentPosition; instead just call setNeedsLayout.
        (WebCore::RenderSlider::currentPosition): Use the actual position of the renderer rather
        than the style to find the position; that means this needs to be done after layout is done.
        Also removed unneeded runtime checks and replaced them with assertions, after checking
        all callers to see they already guarantee this.
        (WebCore::RenderSlider::trackSize): Removed unneeded runtime checks and replaced them
        with assertions, after checking all callers to see they already guarantee this.
        (WebCore::RenderSlider::inDragMode): Added a null check for m_thumb so this won't
        crash if called early on a brand new RenderSlider.

        * rendering/RenderSlider.h: Made all functions private except for forwardEvent and inDragMode.
        Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML
        prefix for public DOM classes, not elements used as implementation details. Made the
        mouseEventIsInThumb function non-virtual. Removed the return value and argument from
        setPositionFromValue. Removed valueChanged and setCurrentPosition. Removed the oldStyle
        argument to createThumbStyle (see above). Made SliderThumbElement a friend so it can use some
        private member functions.

LayoutTests:

2009-03-25  Darin Adler  <darin@apple.com>

        Reviewed by David Hyatt.

        Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
        https://bugs.webkit.org/show_bug.cgi?id=24740
        rdar://problem/6679873

        Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
        https://bugs.webkit.org/show_bug.cgi?id=12104

        * media/video-display-none-crash-expected.txt: Added.
        * media/video-display-none-crash.html: Added.

        * platform/mac/fast/forms/box-shadow-override-expected.txt: Updated since a slider's thumb is no longer
        relative-positioned and hence no longer gets its own layer.
        * platform/mac/fast/forms/input-appearance-height-expected.txt: Ditto.
        * platform/mac/fast/forms/slider-padding-expected.txt: Ditto.
        * platform/mac/fast/forms/slider-thumb-shared-style-expected.txt: Ditto.
        * platform/mac/fast/forms/slider-thumb-stylability-expected.txt: Ditto.
        * platform/mac/media/audio-controls-rendering-expected.txt: Ditto.
        * platform/mac/media/video-controls-rendering-expected.txt: Ditto.
        * platform/mac/media/video-display-toggle-expected.txt: Ditto.

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

11 years ago2009-03-25 Gustavo Noronha Silva <gns@gnome.org>
kov@webkit.org [Wed, 25 Mar 2009 14:31:41 +0000 (14:31 +0000)]
2009-03-25  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=15793
        [GTK] tooltip position doesn't update when hovering consecutive links

        Work-around tooltips not updating their location when the elements
        are consecutive, by clearing the tooltip when handling
        mouseDidMoveOverElement.

        * WebCoreSupport/ChromeClientGtk.cpp:
        (WebKit::ChromeClient::mouseDidMoveOverElement):

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

11 years ago2009-03-25 Eli Fidler <eli.fidler@torchmobile.com>
staikos@webkit.org [Wed, 25 Mar 2009 13:01:45 +0000 (13:01 +0000)]
2009-03-25  Eli Fidler  <eli.fidler@torchmobile.com>

        Reviewed by George Staikos.

        Fix ambiguous else cases by adding braces to nested if()s with elses.

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

11 years ago2009-03-23 Alejandro Garcia Castro <alex@igalia.com>
xan@webkit.org [Wed, 25 Mar 2009 12:00:52 +0000 (12:00 +0000)]
2009-03-23  Alejandro Garcia Castro  <alex@igalia.com>

        Reviewed by Holger Freyther.

        [Gtk] Current API does not allow us to open target="_blank" links
        in new tabs instead of windows
        https://bugs.webkit.org/show_bug.cgi?id=23932

        Added a signal to the API (new-window-policy-decision-requested)
        that allows the browser to decide the policy for the new window
        request, if the signal is not handled we open the new window as
        usual.

        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::getNavigationAction):
        (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
        * webkit/webkitwebview.cpp:

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

11 years agoFix the Tiger build some more.
mrowe@apple.com [Wed, 25 Mar 2009 04:18:29 +0000 (04:18 +0000)]
Fix the Tiger build some more.

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

11 years agoFix the Tiger build.
mrowe@apple.com [Wed, 25 Mar 2009 04:06:10 +0000 (04:06 +0000)]
Fix the Tiger build.

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

11 years agoExplicitly map NSNotFound to -1 so that the result of-characterIndexForPointX:Y:...
mrowe@apple.com [Wed, 25 Mar 2009 03:29:47 +0000 (03:29 +0000)]
Explicitly map NSNotFound to -1 so that the result of-characterIndexForPointX:Y: does not differ between 32- and 64-bit.

Reviewed by Jon "The Most Boring Man in the World" Honeycutt.

* DumpRenderTree/mac/TextInputController.m:
(-[TextInputController characterIndexForPointX:Y:]):

Update test result for change to explicitly map NSNotFound to -1 in textInputController.characterIndexForPoint.

* platform/mac/fast/dom/character-index-for-point-expected.txt:

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

11 years agoSkip some more tests that are failing.
mrowe@apple.com [Wed, 25 Mar 2009 03:13:16 +0000 (03:13 +0000)]
Skip some more tests that are failing.

Rubber-stamped by Oliver Hunt.

* platform/mac-snowleopard/Skipped:

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

11 years ago2009-03-24 Eli Fidler <eli.fidler@torchmobile.com>
staikos@webkit.org [Wed, 25 Mar 2009 02:47:30 +0000 (02:47 +0000)]
2009-03-24  Eli Fidler  <eli.fidler@torchmobile.com>

        Reviewed by George Staikos.

        Move variable into proper platform block to quiet warning.

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

11 years ago2009-03-24 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Wed, 25 Mar 2009 02:14:09 +0000 (02:14 +0000)]
2009-03-24  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Antti Koivisto.

        Fix for <rdar://problem/6719375> Deal with QTKit loadstate changes when playing streaming movies

        *  WebCore/html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setNetworkState): Deal with media engine reviving after having
        network state of NETWORK_NO_SOURCE.

        *  WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::updateStates): Reset m_readyState at each state change since
        some types of movies currently cause QTKit's load state to bounce around. QTMovieLoadStatePlaythroughOK
        corresponds to HaveFutureData, not HaveEnoughData.

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

11 years agoWebCore:
adele@apple.com [Wed, 25 Mar 2009 00:57:49 +0000 (00:57 +0000)]
WebCore:

2009-03-24  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=24707
        <rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line

        * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed):
        After breaking out of an empty mail blockquote, we still want continue with the deletion
        so actual content will get deleted, and not just the quote style.

LayoutTests:

2009-03-24  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Updated tests for https://bugs.webkit.org/show_bug.cgi?id=24707
        <rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line

        * editing/deleting/2610675-1-expected.txt:
        * editing/deleting/2610675-1.html:
        * editing/deleting/2610675-2-expected.txt:
        * editing/deleting/2610675-2.html:

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

11 years ago2009-03-24 Darin Adler <darin@apple.com>
darin@apple.com [Wed, 25 Mar 2009 00:30:28 +0000 (00:30 +0000)]
2009-03-24  Darin Adler  <darin@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/6624662> REGRESSION (r39904): can't save certain web pages as web archive (ones without favicons!)

        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create): Added a null check.

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

11 years ago2009-03-24 Adam Langley <agl@google.com>
darin@chromium.org [Wed, 25 Mar 2009 00:02:52 +0000 (00:02 +0000)]
2009-03-24  Adam Langley  <agl@google.com>

        Reviewed by Darin Fisher.

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

        The Skia drawLine function takes subpixel values and attempts to draw
        a line with subpixel precision. This is complex and slow for drawing
        scrollbars which use only vertical and horizontal lines.

        This changes the Chromium Linux scrollbar code to use drawIRect.

        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit):
        (WebCore::drawVertLine):
        (WebCore::drawHorizLine):
        (WebCore::drawBox):
        (WebCore::ScrollbarThemeChromium::paintTrackPiece):
        (WebCore::ScrollbarThemeChromium::paintThumb):

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

11 years agoSkip fast/forms/search-zoomed.html as it currently fails due to <rdar://problem/6718460>.
mrowe@apple.com [Tue, 24 Mar 2009 23:36:42 +0000 (23:36 +0000)]
Skip fast/forms/search-zoomed.html as it currently fails due to <rdar://problem/6718460>.

Rubber-stamped by Sam Weinig.

* platform/mac-snowleopard/Skipped:

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

11 years agoFix the list of files touched in r41951 in the Changelog.
simon.fraser@apple.com [Tue, 24 Mar 2009 23:25:10 +0000 (23:25 +0000)]
Fix the list of files touched in r41951 in the Changelog.

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

11 years agoSkip some more media tests for now.
mrowe@apple.com [Tue, 24 Mar 2009 23:18:23 +0000 (23:18 +0000)]
Skip some more media tests for now.

* platform/mac-snowleopard/Skipped:

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

11 years agoUse a different platform search path for tests and skip lists, so that Tiger doesn...
mrowe@apple.com [Tue, 24 Mar 2009 23:18:19 +0000 (23:18 +0000)]
Use a different platform search path for tests and skip lists, so that Tiger doesn't end up
using the Leopard skip list.  Tests and skip lists are now looked for in the directory for
the current OS and the generic "mac" directory.  Tests and skip lists for newer OS versions are
ignored.

Reviewed by Sam Weinig.

* Scripts/run-webkit-tests:

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

11 years ago2009-03-24 Pamela Greene <pam@chromium.org>
pam@chromium.org [Tue, 24 Mar 2009 22:30:38 +0000 (22:30 +0000)]
2009-03-24  Pamela Greene  <pam@chromium.org>

        Reviewed by Sam Weinig.

        Add tests of font choices and metrics, to isolate those dependencies.

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

        * fonts: Added.
        * fonts/cursive.html: Added.
        * fonts/default.html: Added.
        * fonts/fantasy.html: Added.
        * fonts/monospace.html: Added.
        * fonts/sans-serif.html: Added.
        * fonts/serif.html: Added.
        * platform/mac/fonts: Added.
        * platform/mac/fonts/cursive-expected.checksum: Added.
        * platform/mac/fonts/cursive-expected.png: Added.
        * platform/mac/fonts/cursive-expected.txt: Added.
        * platform/mac/fonts/default-expected.checksum: Added.
        * platform/mac/fonts/default-expected.png: Added.
        * platform/mac/fonts/default-expected.txt: Added.
        * platform/mac/fonts/fantasy-expected.checksum: Added.
        * platform/mac/fonts/fantasy-expected.png: Added.
        * platform/mac/fonts/fantasy-expected.txt: Added.
        * platform/mac/fonts/monospace-expected.checksum: Added.
        * platform/mac/fonts/monospace-expected.png: Added.
        * platform/mac/fonts/monospace-expected.txt: Added.
        * platform/mac/fonts/sans-serif-expected.checksum: Added.
        * platform/mac/fonts/sans-serif-expected.png: Added.
        * platform/mac/fonts/sans-serif-expected.txt: Added.
        * platform/mac/fonts/serif-expected.checksum: Added.
        * platform/mac/fonts/serif-expected.png: Added.
        * platform/mac/fonts/serif-expected.txt: Added.

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

11 years ago2009-03-24 Eli Fidler <eli.fidler@torchmobile.com>
staikos@webkit.org [Tue, 24 Mar 2009 22:22:49 +0000 (22:22 +0000)]
2009-03-24  Eli Fidler  <eli.fidler@torchmobile.com>

        Reviewed by George Staikos.

        Correct warnings which in some environments are treated as errors.

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

11 years ago Bug 23310: Setting an absolute path (/abs) on an <iframe> with no src doesn...
ddkilzer@apple.com [Tue, 24 Mar 2009 21:40:24 +0000 (21:40 +0000)]
    Bug 23310: Setting an absolute path (/abs) on an <iframe> with no src doesn't resolve the URL properly

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

        Reviewed by Darin Adler.

WebCore:

        Test: fast/frames/iframe-no-src-set-location.html

        * dom/Document.cpp:
        (WebCore::Document::completeURL): If m_baseURL is empty or is
        about:blank and we have a parent document, use the parent
        document's URL for the base when completing a new URL.

LayoutTests:

        * fast/frames/iframe-no-src-set-location-expected.txt: Added.
        * fast/frames/iframe-no-src-set-location.html: Added.
        * fast/frames/resources/iframe-no-src-set-location-pass.html: Copied from LayoutTests/fast/dom/Document/early-document-access-expected.txt.

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

11 years ago2009-03-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 24 Mar 2009 21:07:48 +0000 (21:07 +0000)]
2009-03-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        When hit-testing 3d-transformed layers, it doesn't make sense to project the hitTestRect
        into the coordinate space of the layer, and doing so can result in pathalogical quads
        that break hit testing. In that case, simply use the same bounds as used for painting,
        which are the composited bounds for this layer.

        Test: transforms/3d/hit-testing/rotated-hit-test.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):

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

11 years ago2009-03-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 24 Mar 2009 21:03:21 +0000 (21:03 +0000)]
2009-03-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        When compositing is enabled, painting and hit testing end up using different
        clipping roots, because, for painting, every composited layer is a clipping root,
        but for hit testing only layers with transforms are. To fix this, we use
        temporary clip rects for hit testing, if the page is in compositing mode.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):

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

11 years ago2009-03-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 24 Mar 2009 20:46:10 +0000 (20:46 +0000)]
2009-03-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

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

        Fix regression with CSS clip rects with non-length values, by reverting to
        the original code, but passing the zoom multiplier through convertToLength().

        Also make stylistic change in createTransformOperations(), renaming 'inStyle'
        to 'style.

        Tested by existing tests.

        * css/CSSStyleSelector.cpp:
        (WebCore::convertToLength):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::createTransformOperations):

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

11 years ago2009-03-24 Brent Fulgham <bfulgham@webkit.org>
bfulgham@webkit.org [Tue, 24 Mar 2009 20:29:36 +0000 (20:29 +0000)]
2009-03-24  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=24779
        Conditionalize CFNetwork-specific code in WebView to permit
        support for other network backends.

        * WebView.cpp:
        (WebView::setCacheModel): Add CFNETWORK check around CFNetwork
        specific cache implementation.
        (updateSharedSettingsFromPreferencesIfNeeded): Add CFNETWORK
        check around use of CFHTTPCookie code.

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

11 years agoWebCore:
hyatt@apple.com [Tue, 24 Mar 2009 20:23:27 +0000 (20:23 +0000)]
WebCore:

2009-03-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser

        https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents
        to a border-radius.

        This patch makes non-self-painting overflow layers and control clips work with border-radius.  RenderLayers
        that should be clipped by overflow ancestors with border-radius are still broken.

        Added fast/clip/overflow-border-radius-clip.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pushContentsClip):

LayoutTests:

2009-03-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser

        Test for https://bugs.webkit.org/show_bug.cgi?id=21789

        * fast/clip/overflow-border-radius-clip.html: Added.
        * platform/mac/fast/clip/overflow-border-radius-clip-expected.checksum: Added.
        * platform/mac/fast/clip/overflow-border-radius-clip-expected.png: Added.
        * platform/mac/fast/clip/overflow-border-radius-clip-expected.txt: Added.

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

11 years agoFix stray ; that snuck in right before landing.
hyatt@apple.com [Tue, 24 Mar 2009 20:05:05 +0000 (20:05 +0000)]
Fix stray ; that snuck in right before landing.

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

11 years agoReviewed by Darin Adler.
kevino@webkit.org [Tue, 24 Mar 2009 19:52:34 +0000 (19:52 +0000)]
Reviewed by Darin Adler.

Explicitly define HAVE_LANGINFO_H on Darwin. Fixes the wx build bot jscore
test failure.

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

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

11 years agoWebCore:
hyatt@apple.com [Tue, 24 Mar 2009 19:35:34 +0000 (19:35 +0000)]
WebCore:

2009-03-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser

        https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents.

        This first patch makes overflow:hidden properly clip the foreground contents of overflow:hidden replaced elements.  Common
        replaced elements now default to overflow:hidden in the UA stylesheet (this is what the spec specifically recommends be
        done).

        Added fast/replaced/border-radius-clip.html

        * css/html4.css:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

LayoutTests:

2009-03-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser

        Test for https://bugs.webkit.org/show_bug.cgi?id=21789

        * fast/replaced/border-radius-clip.html: Added.
        * platform/mac/fast/replaced/border-radius-clip-expected.checksum: Added.
        * platform/mac/fast/replaced/border-radius-clip-expected.png: Added.
        * platform/mac/fast/replaced/border-radius-clip-expected.txt: Added.

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

11 years ago2009-03-24 Adele Peterson <adele@apple.com>
adele@apple.com [Tue, 24 Mar 2009 18:25:43 +0000 (18:25 +0000)]
2009-03-24  Adele Peterson  <adele@apple.com>

        RS by Mark Rowe.

        Only build these Mail quirks checks in on the Mac.

        * dom/Document.cpp: (WebCore::disableRangeMutation):
        * html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):

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

11 years ago2009-03-24 Brent Fulgham <bfulgham@webkit.org>
bfulgham@webkit.org [Tue, 24 Mar 2009 17:55:01 +0000 (17:55 +0000)]
2009-03-24  Brent Fulgham  <bfulgham@webkit.org>

        Build fix, no review.

        Remove ResourceLoaderCFNet.cpp from build list for Cairo Releas
        and Debug targets.

        * WebCore.vcproj/WebCore.vcproj:

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

11 years ago2009-03-24 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Tue, 24 Mar 2009 17:36:29 +0000 (17:36 +0000)]
2009-03-24  Eric Carlson  <eric.carlson@apple.com>

        Update media tests broken by r41907.

        * fast/dom/Window/window-properties-expected.txt:
        * http/tests/media/video-play-stall-seek.html:
        * http/tests/media/video-play-stall.html:

2009-03-24  Eric Carlson  <eric.carlson@apple.com>

        Fix layout tests broken by r41907.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState): Don't set "was playing" based on the new ready state

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

11 years ago2009-03-24 Dmitry Titov <dimich@chromium.org>
dimich@chromium.org [Tue, 24 Mar 2009 17:18:32 +0000 (17:18 +0000)]
2009-03-24  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=24689
        Fix Chromium compilation errors.

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener):
        (WebCore::WorkerContextExecutionProxy::RemoveEventListener):

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

11 years ago2009-03-24 Yury Semikhatsky <yurys@chromium.org>
dglazkov@chromium.org [Tue, 24 Mar 2009 17:08:18 +0000 (17:08 +0000)]
2009-03-24  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=24759
        Add missing methods Element.prototype.removeMatchingStyleClasses and
        Node.prototype.enclosingNodeOrSelfWithNodeNameInArray to SourceFrame content
        iframe. These methods are called by Element.prototype.removeStyleClass and
        Node.prototype.enclosingNodeOrSelfWithNodeName.

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._loaded):

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

11 years ago2009-03-24 Mark Mentovai <mark@chromium.org>
dglazkov@chromium.org [Tue, 24 Mar 2009 17:03:12 +0000 (17:03 +0000)]
2009-03-24  Mark Mentovai  <mark@chromium.org>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=24653
        WebKit should be buildable without prefix header injection.
        Adds missing #includes and forward declarations as needed.

        * editing/SmartReplaceCF.cpp:
        * platform/graphics/mac/ColorMac.mm:
        * platform/graphics/mac/FontCacheMac.mm:
        * platform/graphics/mac/FontCustomPlatformData.h:
        * platform/graphics/mac/FontMac.mm:
        * platform/graphics/mac/FontMacATSUI.mm:
        * platform/graphics/mac/FontPlatformData.h:
        * platform/graphics/mac/FontPlatformDataMac.mm:
        * platform/graphics/mac/GraphicsContextMac.mm:
        * platform/graphics/mac/SimpleFontDataMac.mm:
        * platform/mac/FoundationExtras.h:
        * platform/mac/LocalCurrentGraphicsContext.h:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        * platform/mac/WebCoreTextRenderer.h:
        * platform/mac/WebCoreTextRenderer.mm:
        * platform/mac/WebFontCache.h:
        * platform/mac/WebFontCache.mm:
        * platform/text/PlatformString.h:
        * platform/text/mac/ShapeArabic.c:
        * platform/text/mac/StringMac.mm:
        * rendering/RenderThemeChromiumMac.h:

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

11 years agoWebCore:
mitz@apple.com [Tue, 24 Mar 2009 16:24:25 +0000 (16:24 +0000)]
WebCore:

        Reviewed by Darin Adler.

        - fix <rdar://problem/6107874> by capping the nesting depth of
          "block-level" elements generated by the parser

        Test: fast/parser/block-nesting-cap.html

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::HTMLParser):
        (WebCore::HTMLParser::insertNode):
        (WebCore::HTMLParser::pushBlock):
        (WebCore::HTMLParser::popOneBlockCommon):
        (WebCore::HTMLParser::freeBlock):
        * html/HTMLParser.h:

LayoutTests:

        Reviewed by Darin Adler.

        - test for <rdar://problem/6107874>

        Test that the nesting depth of "block-level" elements generated by
        the parser is capped

        * fast/parser/block-nesting-cap-expected.txt: Added.
        * fast/parser/block-nesting-cap.html: Added.
        * fast/parser/resources/block-nesting-cap.js: Added.

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

11 years ago Reviewed by Oliver Hunt.
mitz@apple.com [Tue, 24 Mar 2009 07:50:26 +0000 (07:50 +0000)]
    Reviewed by Oliver Hunt.

        - speculative fix for <rdar://problem/6630134> Crash at
          Editor::compositionRange()

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView markedRange]): Null-check the Frame like most other
        methods in this class.

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

11 years ago2009-03-23 Greg Bolsinga <bolsinga@apple.com>
bolsinga@apple.com [Tue, 24 Mar 2009 04:16:37 +0000 (04:16 +0000)]
2009-03-23  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by David Kilzer.

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

        DOMTimeStamps are based upon 1970.

        * platform/mac/GeolocationServiceMac.mm:
        (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):

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

11 years ago Build fix, no review.
eric@webkit.org [Tue, 24 Mar 2009 03:45:52 +0000 (03:45 +0000)]
    Build fix, no review.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createVisiblePosition): change .container to .isNotNull()

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

11 years ago2009-03-23 Stephanie <slewis@apple.com>
slewis@apple.com [Tue, 24 Mar 2009 03:19:02 +0000 (03:19 +0000)]
2009-03-23  Stephanie  <slewis@apple.com>

        Fix root build.

        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

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

11 years ago Reviewed by Darin Adler.
eric@webkit.org [Tue, 24 Mar 2009 02:25:08 +0000 (02:25 +0000)]
    Reviewed by Darin Adler.

        Rename Position::container to m_anchorNode and make it private
        https://bugs.webkit.org/show_bug.cgi?id=24760

        More code cleanup for Position.

        Change all uses of m_container to node()
        Eventually most uses of node() should change to anchorNode() to designate
        that it's the node the Position is anchored to, but not necessarily the
        container of the position (it could be the before/after neighbor).

        Remove any code which sets m_container, and change it to use a new
        Position::moveToPosition function which takes a node and offset.
        It never makes sense to change the node and leave the offset.

        * dom/Position.h:
        (WebCore::Position::Position):
        (WebCore::Position::clear):
        (WebCore::Position::anchorNode):
        (WebCore::Position::node):
        (WebCore::Position::moveToPosition):
        (WebCore::Position::moveToOffset):
        (WebCore::Position::isNull):
        (WebCore::Position::isNotNull):
        (WebCore::operator==):
        * dom/Range.cpp:
        (WebCore::Range::create):
        (WebCore::Range::compareBoundaryPoints):
        * dom/RangeBoundaryPoint.h:
        (WebCore::RangeBoundaryPoint::container):
        (WebCore::RangeBoundaryPoint::set):
        (WebCore::RangeBoundaryPoint::setOffset):
        (WebCore::RangeBoundaryPoint::setToChild):
        (WebCore::RangeBoundaryPoint::setToStart):
        (WebCore::RangeBoundaryPoint::setToEnd):

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

11 years ago Reviewed by David Hyatt.
eric@webkit.org [Tue, 24 Mar 2009 02:06:51 +0000 (02:06 +0000)]
    Reviewed by David Hyatt.

        document.write() should be able to make a document strict mode
        https://bugs.webkit.org/show_bug.cgi?id=24336

        Remove an implicit write of "<html>" on the first document.write call
        this was added as part of a KDE import http://trac.webkit.org/changeset/798
        with no layout test or explanation.  I can't think of any reason why
        an implicit <html> write is necessary (or correct), so I'm removing it and
        adding a test for the correct behavior.  The parser will add any necessary
        HTMLHTMLElements during the write() anyway.

        Our behavior is now tested by fast/dom/Document/document-write-doctype
        and matches IE, FF fails this new test.  Mozilla bug filed:
        https://bugzilla.mozilla.org/show_bug.cgi?id=483908

        * dom/Document.cpp:
        (WebCore::Document::write):

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

11 years agoFix className() for API defined class
oliver@apple.com [Tue, 24 Mar 2009 01:59:32 +0000 (01:59 +0000)]
Fix className() for API defined class

Reviewed by Cameron Zwarich

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

11 years agoWebCore:
weinig@apple.com [Tue, 24 Mar 2009 01:31:50 +0000 (01:31 +0000)]
WebCore:

2009-03-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for <rdar://problem/6140966>
        Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache

        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCache::empty):
        * loader/CrossOriginPreflightResultCache.h:

WebKit/mac:

2009-03-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for <rdar://problem/6140966>
        Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache

        * Misc/WebCache.mm:
        (+[WebCache empty]):

WebKit/win:

2009-03-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for <rdar://problem/6140966>
        Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache

        * WebCache.cpp:
        (WebCache::empty): Also add application cache emptying to match the mac.

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

11 years agoTweak comment.
darin@apple.com [Tue, 24 Mar 2009 00:53:20 +0000 (00:53 +0000)]
Tweak comment.

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

11 years agoWebCore:
darin@apple.com [Tue, 24 Mar 2009 00:50:58 +0000 (00:50 +0000)]
WebCore:

2009-03-23  Darin Adler  <darin@apple.com>

        Reviewed by Adele Peterson.

        Bug 24726: hit testing doesn't work right when the click is on anonymous content
        https://bugs.webkit.org/show_bug.cgi?id=24726
        rdar://problem/6696992

        Test: editing/selection/hit-test-anonymous.html

        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::positionForPoint): Call createVisiblePosition instead of
        creating a VisiblePosition directly. It will handle finding non-anonymous
        content nearby if node() is 0.
        * rendering/RenderBlock.cpp:
        (WebCore::positionForPointRespectingEditingBoundaries): Ditto.
        (WebCore::positionForPointWithInlineChildren): Ditto.
        (WebCore::RenderBlock::positionForPoint): Ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionForPoint): Ditto.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::positionForPoint): Ditto.
        (WebCore::RenderObject::createVisiblePosition): Added.
        * rendering/RenderObject.h: Added createVisiblePosition.
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::positionForPoint): Call createVisiblePosition.
        * rendering/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::positionForPoint): Ditto.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForPoint): Ditto.

LayoutTests:

2009-03-23  Darin Adler  <darin@apple.com>

        Reviewed by Adele Peterson.

        Bug 24726: hit testing doesn't work right when the click is on anonymous content
        https://bugs.webkit.org/show_bug.cgi?id=24726
        rdar://problem/6696992

        * editing/selection/hit-test-anonymous-expected.txt: Added.
        * editing/selection/hit-test-anonymous.html: Added.

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

11 years ago2009-03-23 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Tue, 24 Mar 2009 00:41:39 +0000 (00:41 +0000)]
2009-03-23  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Mark Rowe.

        Add production configuration for creating roots of WebKitTools.

        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

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

11 years ago2009-03-23 Adele Peterson <adele@apple.com>
adele@apple.com [Tue, 24 Mar 2009 00:34:37 +0000 (00:34 +0000)]
2009-03-23  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler & Dave Hyatt.

        Fix for <rdar://problem/6621310> REGRESSION(35185): Apple Travel HTML emails missing some style after Safari 4 upgrade

        Leopard Mail doesn't expect <style> to be in the body.  This change reverts back to the old behavior of
        moving <style> to <head> for that version of Mail.

        * html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):

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

11 years agoWebCore:
adele@apple.com [Tue, 24 Mar 2009 00:33:19 +0000 (00:33 +0000)]
WebCore:

2009-03-23  Adele Peterson  <adele@apple.com>

        Reviewed by Mark Rowe & Dave Hyatt.

        Merge some of the individual Mail quirks into two settings that we can check for future quirks.

        * WebCore.base.exp:
        * dom/Document.cpp:
        (WebCore::disableRangeMutation):
        (WebCore::Document::nodeChildrenChanged):
        (WebCore::Document::nodeWillBeRemoved):
        (WebCore::Document::textInserted):
        (WebCore::Document::textRemoved):
        (WebCore::Document::textNodesMerged):
        (WebCore::Document::textNodeSplit):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setNeedsLeopardMailQuirks):
        (WebCore::Settings::setNeedsTigerMailQuirks):
        * page/Settings.h:
        (WebCore::Settings::needsLeopardMailQuirks):
        (WebCore::Settings::needsTigerMailQuirks):

WebKit/mac:

2009-03-23  Adele Peterson  <adele@apple.com>

        Reviewed by Mark Rowe & Dave Hyatt.

        Merge some of the individual Mail quirks into two settings that we can check for future quirks.

        * WebView/WebView.mm:
        (runningLeopardMail):
        (runningTigerMail):
        (-[WebView _preferencesChangedNotification:]):

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

11 years agoMake testapi run as part of the standard JavaScriptCore tests.
oliver@apple.com [Tue, 24 Mar 2009 00:18:02 +0000 (00:18 +0000)]
Make testapi run as part of the standard JavaScriptCore tests.

Reviewed by Geoff Garen.

We only run testapi on the mac as currently windows webkit doesn't
place all the necessary files for testapi, and we also test the
JSC/CF APIs as well.

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

11 years ago https://bugs.webkit.org/show_bug.cgi?id=24762
adachan@apple.com [Mon, 23 Mar 2009 23:46:27 +0000 (23:46 +0000)]
    https://bugs.webkit.org/show_bug.cgi?id=24762
        Support text-indent in <option> elements on windows platform.

        Reviewed by Adele Peterson.

        * css/themeWin.css:
        * platform/PopupMenuStyle.h: We don't honor font specified on <option> elements right now.  Make this
        explicit via windows themed default stylesheet.
        (WebCore::PopupMenuStyle::PopupMenuStyle): Also store text-indent and text-direction.
        (WebCore::PopupMenuStyle::textIndent):
        (WebCore::PopupMenuStyle::textDirection):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::paint): Adjust the text's x-coordinate if text-indent is supported for options and
        text-indent is specified with LTR direction.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateOptionsWidth): Take text-indent into account if theme supports text-indent for options.
        (WebCore::RenderMenuList::itemStyle): Use new PopupMenuStyle constructor on windows.
        (WebCore::RenderMenuList::menuStyle): Ditto.
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::menuStyle): Ditto.
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::popupOptionSupportsTextIndent): Added.  Default is false since we are only supporting it in windows for now.
        * rendering/RenderThemeWin.h:
        (WebCore::RenderThemeWin::popupOptionSupportsTextIndent): Returns true for windows.

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

11 years ago2009-03-23 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 23 Mar 2009 23:14:40 +0000 (23:14 +0000)]
2009-03-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=24699
        REGRESSION: Java Applets broken
        <rdar://problem/6707494>

        Fix loading Java applets without a codeBase. Only pass the base (up to the
        the last path component) of the baseURL to the plug-in.

        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::createRenderer):
        * platform/KURL.cpp:
        (WebCore::KURL::baseAsString):
        * platform/KURL.h:

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

11 years ago2009-03-23 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 23 Mar 2009 22:15:58 +0000 (22:15 +0000)]
2009-03-23  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        * platform/KURL.h: Removed now-incorrect comments.
        None of the parts include the separator characters any more, now that
        query doesn't include the "?", so the comments explaining which do and do
        not are no-longer helpful.

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

11 years ago2009-03-23 David Levin <levin@chromium.org>
levin@chromium.org [Mon, 23 Mar 2009 21:25:58 +0000 (21:25 +0000)]
2009-03-23  David Levin  <levin@chromium.org>

        Reviewed by Dimitri Glazkov.

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

        Renamed files V8NodeFilter -> V8NodeFilterCondition to reflect
        class names.  Also fixed some headers that got mangled in search/replace
        operations.

        No change in behavior, so no test.

        * bindings/v8/V8NodeFilter.h: Removed.
        * bindings/v8/V8NodeFilterCondition.cpp: Renamed from WebCore/bindings/v8/V8NodeFilter.cpp.
        * bindings/v8/V8NodeFilterCondition.h: Added.
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        * bindings/v8/custom/V8DocumentCustom.cpp:
        * bindings/v8/custom/V8ElementCustom.cpp:
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        * bindings/v8/custom/V8NavigatorCustom.cpp:

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

11 years ago2009-03-23 Darin Fisher <darin@chromium.org>
darin@chromium.org [Mon, 23 Mar 2009 20:48:46 +0000 (20:48 +0000)]
2009-03-23  Darin Fisher  <darin@chromium.org>

        Reviewed by Antti Koivisto.

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

        Adds a unique across-browser-sessions identifier to FormData, which may
        be used by ResourceHandle as a secondary cache key to enable cached
        form submissions.

        At issue: two otherwise identical form submissions may result in
        completely independent responses, which may each be appropriate to
        store and reuse from cache.

        * html/HTMLFormElement.cpp: Added call to FormData::setIdentifier so that
        we only enable cached form submissions for those generated by HTML.  This
        way we do not bother with POSTs generated by XMLHttpRequest.
        (WebCore::generateFormDataIdentifier):
        (WebCore::HTMLFormElement::createFormData):
        * platform/network/FormData.cpp: Initialize m_identifier to 0, which means
        the unspecified identifier.  So by default there is no identifier and
        nothing changes.
        (WebCore::FormData::FormData):
        * platform/network/FormData.h: Added m_identifier with setter and getter.
        (WebCore::FormData::setIdentifier):
        (WebCore::FormData::identifier):

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

11 years ago2009-03-23 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Mon, 23 Mar 2009 20:39:40 +0000 (20:39 +0000)]
2009-03-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Antti Koivisto

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

        Fix media controller with full-page zoom. Previously, the media controller
        shadow nodes never saw style changes on the RenderMedia, so did not respond
        to zooming at all. Now, we update the style on the shadow renderers
        whenever RenderMedia gets a style change. Also fix the video thumb in
        the theme to be scaled properly.

        Test: media/video-controls-zoomed.html

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlShadowRootElement::updateStyle):
        (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
        (WebCore::MediaTextDisplayElement::updateStyle):
        (WebCore::MediaControlInputElement::MediaControlInputElement):
        (WebCore::MediaControlInputElement::updateStyle):
        * rendering/MediaControlElements.h:
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::styleDidChange):
        * rendering/RenderMedia.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustSliderThumbSize):

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

11 years ago2009-03-23 Mike Belshe <mike@belshe.com>
darin@chromium.org [Mon, 23 Mar 2009 20:27:38 +0000 (20:27 +0000)]
2009-03-23  Mike Belshe  <mike@belshe.com>

        Reviewed by Darin Adler.

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

        Rework StringImpl::create methods to try to allocate a single buffer
        rather than allocating both the StringImpl class and a separate data
        buffer.

        * platform/text/StringImpl.cpp:
        * platform/text/StringImpl.h:

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

11 years ago2009-03-23 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 23 Mar 2009 19:05:48 +0000 (19:05 +0000)]
2009-03-23  Darin Adler  <darin@apple.com>

        Reviewed by Antti Koivisto.

        Based on a patch by Nico Weber <nicolasweber@gmx.de>

        Bug 24755: LayoutTests/http/tests/misc/url-in-utf16le.html regression
        https://bugs.webkit.org/show_bug.cgi?id=24755

        * platform/text/TextEncoding.cpp:
        (WebCore::TextEncoding::isUTF7Encoding): Added. Checks if the current encoding
        is UTF7 without loading extended codecs.
        (WebCore::TextEncoding::encodingForFormSubmission): Use isUTF7Encoding() instead
        of comparing with UTF7Encoding(). Eliminate the explicit check of
        noExtendedTextEncodingNameUsed() because that's now handled by the functions
        that this function calls instead.

        * platform/text/TextEncoding.h: Added isUTF7Encoding function.
        Also tweaked formatting a bit.

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

11 years ago2009-03-20 Peter Kasting <pkasting@google.com>
pkasting@chromium.org [Mon, 23 Mar 2009 19:02:59 +0000 (19:02 +0000)]
2009-03-20  Peter Kasting  <pkasting@google.com>

        Reviewed by Darin Fisher.

        https://bugs.webkit.org/show_bug.cgi?id=24720
        RenderThemeChromium should draw something for Slider parts instead of
        dropping them on the floor.

        * platform/chromium/ChromiumBridge.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
        (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
        (WebCore::RenderThemeChromiumWin::getThemeData):
        * rendering/RenderThemeChromiumWin.h:
        (WebCore::RenderThemeChromiumWin::paintSliderThumb):

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

11 years ago2009-03-23 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Mon, 23 Mar 2009 18:56:35 +0000 (18:56 +0000)]
2009-03-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

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

        Fix three mostly-unrelated problems with full-page zoom:

        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint):
        Document::elementFromPoint() needs to take full-page zoom into account.

        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::receivedTarget):
        Take full-page zoom into account when computing offsetX/offsetY.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
        Don't use offsetX/offsetY when hit testing list boxes; offsets were broken
        with full-page zoom, and using pageX/pageY is easier because we don't
        have to worry about the event target, and we already have a point in
        absolute coordinates.

        Tests: fast/forms/listbox-hit-test-zoomed.html
               fast/forms/search-zoomed.html
               fast/forms/slider-zoomed.html

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

11 years ago2009-03-23 Glen Murphy <glen@chromium.org>
darin@chromium.org [Mon, 23 Mar 2009 18:54:18 +0000 (18:54 +0000)]
2009-03-23  Glen Murphy  <glen@chromium.org>

        Reviewed by Darin Fisher.

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

        Fix Skia drawing of highly scaled bitmaps; the conversion to
        IntRect produced visible layout test failures in highly scaled
        coordinate systems.

        Test: svg/custom/image-small-width-height.svg

        * WebCore\platform\graphics\skia\ImageSkia.cpp:

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

11 years ago Provide JavaScript exception information after slow script timeout
ddkilzer@apple.com [Mon, 23 Mar 2009 18:27:22 +0000 (18:27 +0000)]
    Provide JavaScript exception information after slow script timeout

        Reviewed by Oliver Hunt.

JavaScriptCore:

        * runtime/Completion.cpp:
        (JSC::evaluate): Set the exception object as the Completion
        object's value for slow script timeouts.  This is used in
        WebCore when reporting the exception.
        * runtime/ExceptionHelpers.cpp:
        (JSC::InterruptedExecutionError::toString): Added.  Provides a
        description message for the exception when it is reported.

WebCore:

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluate): Changed to report
        exceptions for the Interrupted completion type as well.

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

11 years ago2009-03-23 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Mon, 23 Mar 2009 17:55:08 +0000 (17:55 +0000)]
2009-03-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

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

        The rect for CSS 'clip' needs to have zooming applied to it.

        Test: fast/css/clip-zooming.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

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

11 years ago2009-03-23 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 23 Mar 2009 16:47:16 +0000 (16:47 +0000)]
2009-03-23  Darin Adler  <darin@apple.com>

        * WebView/WebTextIterator.h: Fixed a spelling error in a comment.

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

11 years ago2009-03-23 Gustavo Noronha Silva <gns@gnome.org> and Thadeu Lima de Souza Cascardo...
kov@webkit.org [Mon, 23 Mar 2009 15:13:57 +0000 (15:13 +0000)]
2009-03-23  Gustavo Noronha Silva  <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=24674
        Crashes in !PLATFORM(MAC)'s formatLocaleDate, in very specific situations

        Make sure strftime never returns 2-digits years to avoid ambiguity
        and a crash. We wrap this new code option in HAVE_LANGINFO_H,
        since it is apparently not available in all platforms.

        * runtime/DatePrototype.cpp:
        (JSC::formatLocaleDate):
        * wtf/Platform.h:

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

11 years ago2009-03-23 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Mon, 23 Mar 2009 15:07:55 +0000 (15:07 +0000)]
2009-03-23  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adam Roben.

        <rdar://problem/6704282>
        https://bugs.webkit.org/show_bug.cgi?id=24719
        QTMovieWinTimer logic inversion

        Fix logic inversion in the Win32 timer used by QTMovieWin that caused it to always
        use SetTimer, even when the intervals was below USER_TIMER_MINIMUM. A side effect of
        this was that a movie timer would sometimes be blocked for significant amounts of time
        because WM_TIMER messages are not processed when the thread's message queue has any
        higher priority messages, and WebCore/Win's timer uses PostMessage for low interval
        timers. Also change SetTimer call to use HWND and custom message instead of
        timer function since the timer already has an HWND for processing PostMessage.

        Not possible to make a test for this because it is so timing dependant.

        * platform/graphics/win/QTMovieWinTimer.cpp:
        (TimerWindowWndProc):
        (setSharedTimerFireDelay):

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

11 years ago2009-03-23 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Mon, 23 Mar 2009 15:02:34 +0000 (15:02 +0000)]
2009-03-23  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

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

        Update media element implementation to current HTML5 spec

        New tests:
               media/media-constants.html
               media/video-seek-no-src-exception.html
               media/video-source-add-src.html
               media/video-src-invalid-remove.html
               media/video-src-plus-source.html
               media/video-timeupdate-during-playback.html

        * dom/EventNames.h: Remove obsolute events, add new ones.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member vars.
        (WebCore::HTMLMediaElement::attributeChanged): Trigger load() only when we don't
        have a source.
        (WebCore::HTMLMediaElement::removedFromDocument): Deal with state name changes.
        (WebCore::HTMLMediaElement::scheduleProgressEvent): New, create a progress event and
        add it to the event queue to be dispatch when the timer fires.
        (WebCore::HTMLMediaElement::scheduleEvent): New, create a generic event and add
        it to the event queue to be dispatch when the timer fires.
        (WebCore::HTMLMediaElement::enqueueEvent): Add an event to the queue and ticke the
        asynch event timer.
        (WebCore::HTMLMediaElement::asyncEventTimerFired): Dispatch all pending events.
        (WebCore::HTMLMediaElement::loadTimerFired): Either trigger the initial load or
        try to load the next <source> url.
        (WebCore::HTMLMediaElement::load): Minor style change.
        (WebCore::HTMLMediaElement::loadInternal): The first part of the spec load algorithm, cleanup
        the current load (if any) and set up state for a new load.
        (WebCore::HTMLMediaElement::selectMediaResource): Deal with no 'src' or <source>, post 'loadstart'
        event, and initiate load from 'src' if present.
        (WebCore::HTMLMediaElement::loadNextSourceChild): Initiate load from next <source> url, or trigger
        noneSupported() if no more to consider.
        (WebCore::HTMLMediaElement::loadResource): Instantiate a new MediaPlayer and ask it to load a url.
        (WebCore::HTMLMediaElement::startProgressEventTimer): Start the repeating progress event timer.
        (WebCore::HTMLMediaElement::noneSupported): Post error event and set up state when no valid
        media url was found.
        (WebCore::HTMLMediaElement::mediaEngineError): Post error event and set up state when no valid
        media engine failed with a decode error or a network error.
        (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
        (WebCore::HTMLMediaElement::setNetworkState): Updated for new spec network states.
        (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
        (WebCore::HTMLMediaElement::setReadyState): Updated for new spec ready state.
        (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if the network is not active.
        (WebCore::HTMLMediaElement::seek): Return INVALID_STATE_ERR exception if state is too low or
        if player hasn't been set up yet. This is necessary becase load() is async. Clear the flag
        we use to guard against sending 'ended' more than once.
        (WebCore::HTMLMediaElement::duration): Don't bother calling media engine before it has metadata.
        (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Remove exception param, 0 is no longer an
        invalid rate.
        (WebCore::HTMLMediaElement::setPlaybackRate): Remove exception param, 0 is no longer an
        invalid rate. Cache rate being set so we can use it later if media engine isn't ready now.
        (WebCore::HTMLMediaElement::play): Remove exception param, play() before load() now just
        starts loading asynchronously.
        (WebCore::HTMLMediaElement::playInternal): Remove exception param. Fire 'waiting' or 'playing'
        event depending on current state.
        (WebCore::HTMLMediaElement::pause): Remove exception param, pause() before load() now just
        starts loading asynchronously.
        (WebCore::HTMLMediaElement::pauseInternal): Remove exception param.
        (WebCore::HTMLMediaElement::setVolume): dispatchEventAsync -> scheduleEvent
        (WebCore::HTMLMediaElement::setMuted): dispatchEventAsync -> scheduleEvent
        (WebCore::HTMLMediaElement::togglePlayState): Remove exception param.
        (WebCore::HTMLMediaElement::beginScrubbing): pause() doesn't take an exception param.
        (WebCore::HTMLMediaElement::startPlaybackProgressTimer): New, starts timer that fires 4 times per
        second when the movie is playing to timeupdate so we can post 'timeupdate' events.
        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Timer proc.
        (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Bottleneck around scheduling a 'timeupdate'
        event because we both fire them them when the spec says we should and when the media engine
        says that time has jumped, but we don't want to fire more than one at a given movie time. We also
        use this bottleneck to keep track of the last time one was posted so we won't fire too often
        during playback.
        (WebCore::HTMLMediaElement::canPlay): readyState now tracks whether or not we have metadata.
        (WebCore::HTMLMediaElement::havePotentialSourceChild): New, checks to see if there are a <source>
        element with a 'src' attribute that we have not tried to load yet.
        (WebCore::HTMLMediaElement::nextSourceChild): New, returns the url and content type of the next
        <source> element that we haven't tried to load.
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Schedule 'seeked' event when seeking completes.
        Set a flag when we post the 'ended' event, clear it when time changed and we aren't at the end since
        some media engines call this proc more than once when playback reaches the end and stops, but we
        don't want to post 'ended' more than once.
        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): New, added so media engine can inform
        when the movie duration changes and we can post 'durationchanged' event.
        (WebCore::HTMLMediaElement::mediaPlayerRateChanged): New, added so media engine can inform when
        the rate changed and we can updated our cached rate. This is useful because we only want to know
        post periodic 'timeupdate' events when the movie is actually playing, and because we want to know
        the actual playback rate when it differs from what we tried to set.
        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): New, added so media engine can inform when
        a movie's intrinsic size changes and we can inform the renderer.
        (WebCore::HTMLMediaElement::potentiallyPlaying): Renamed from activelyPlaying since the spec now
        uses "actively playing" for this concept. Update logic for new state names and un-comment calls
        to stoppedDueToErrors() and pausedForUserInteraction() since the spec says those condiditons
        are part of the answer.
        (WebCore::HTMLMediaElement::endedPlayback): Update logic for new state names.
        (WebCore::HTMLMediaElement::stoppedDueToErrors): New, spec says this logic should be part of
        the determination of "potentially playing".
        (WebCore::HTMLMediaElement::pausedForUserInteraction): New, placeholder for when (if) user
        agent supports this spec concept.
        (WebCore::HTMLMediaElement::updatePlayState): Stop timer used to fire periodic 'timeupdate'
        events when we pauses the movie. Set the media engine rate before calling play() in case it
        wasn't set up when the rate was changed.
        (WebCore::HTMLMediaElement::stopPeriodicTimers): New, stop the progress event and 'timeupate'
        event timers.
        (WebCore::HTMLMediaElement::userCancelledLoad): New, logic pulled out of documentWillBecomeInactive
        and updated for the current spec.
        (WebCore::HTMLMediaElement::documentWillBecomeInactive): Moved some logic to userCancelledLoad.
        (WebCore::HTMLMediaElement::documentDidBecomeActive): Update comments.
        (WebCore::HTMLMediaElement::initialURL): Update for refactoring of code that determines the
        initial url.
        * html/HTMLMediaElement.h: Change ReadyState and NetworkState enums to match names in the spec,
        update for changes in .cpp.
        (WebCore::HTMLMediaElement::):

        * html/HTMLMediaElement.idl: Update ready state and network state constants for spec changes.
        defaultPlaybackRate, playbackRate, play(), and pause() no longer raise exceptions.

        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::insertedIntoDocument): Update for network state name changes.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::updatePosterImage): Update for ready state name changes.

        * html/MediaError.h:
        (WebCore::MediaError::): add MEDIA_ERR_NONE_SUPPORTED.

        * html/MediaError.idl: add MEDIA_ERR_NONE_SUPPORTED.

        * loader/MediaDocument.cpp:
        (WebCore::MediaDocument::defaultEventHandler): play() and pause() don't take an exception.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::readyState): Update for newtork state name changes.
        (WebCore::MediaPlayer::sizeChanged): New, so engine can report intrinsic size changes.
        (WebCore::MediaPlayer::rateChanged): New, so engine can report rate changes.
        (WebCore::MediaPlayer::durationChanged): New, so engine can report duration changes.
        * platform/graphics/MediaPlayer.h: Update NetworkState and ReadyState enum names to match spec
        states.
        (WebCore::MediaPlayerClient::mediaPlayerDurationChanged): New.
        (WebCore::MediaPlayerClient::mediaPlayerRateChanged): New.
        (WebCore::MediaPlayerClient::mediaPlayerSizeChanged): New.
        (WebCore::MediaPlayer::):

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes.
        (WebCore::MediaPlayerPrivate::load): Ditto.
        (WebCore::MediaPlayerPrivate::updateStates): Ditto.
        (WebCore::MediaPlayerPrivate::loadingFailed): Ditto.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Update for network/ready state name changes.
        Remove endPointTimer, it is no longer necessary. Add m_enabledTrackCount and m_duration.
        (WebCore::MediaPlayerPrivate::metaDataAvailable):
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer or m_endTime. Initialize
        m_enabledTrackCount and m_duration. Update for network/ready state name changes.
        (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes.
        (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer.
        (WebCore::MediaPlayerPrivate::pause): Ditto.
        (WebCore::MediaPlayerPrivate::currentTime): No more m_endTime.
        (WebCore::MediaPlayerPrivate::seek): Ditto.
        (WebCore::MediaPlayerPrivate::doSeek): Ditto, plus don't call setRate(0) when the rate is
        already zero.
        (WebCore::MediaPlayerPrivate::setEndTime): No more m_endTime.
        (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. Return
        different errors depending on what causes a failure. Watch for and report duration changes.
        (WebCore::MediaPlayerPrivate::rateChanged): Report rate changes.
        (WebCore::MediaPlayerPrivate::sizeChanged): Report size changes.
        (WebCore::MediaPlayerPrivate::didEnd): No more endpoint timer.
        (WebCore::MediaPlayerPrivate::setVisible): Update for network/ready state name changes.
        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): Don't return number of unsupported
        tracks, store in m_enabledTrackCount so we can use it to help determine causes of failure.

        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes.
        (WebCore::MediaPlayerPrivate::load): Ditto.
        (WebCore::MediaPlayerPrivate::duration): Ditto.
        (WebCore::MediaPlayerPrivate::updateStates): Ditto.
        (WebCore::MediaPlayerPrivate::naturalSize): Ditto.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer. Update for
        network/ready state name changes.
        (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. No more
        m_endPointTimer.
        (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer.
        (WebCore::MediaPlayerPrivate::pause): Ditto.
        (WebCore::MediaPlayerPrivate::setEndTime): Ditto.
        (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes.
        (WebCore::MediaPlayerPrivate::didEnd): No more m_endPointTimer.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Update for network/ready state
        name changes.
        (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.

2009-03-23  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=24588
        Bug 24588: Update media element implementation to current spec

        * media/media-constants-expected.txt: Test all media constants.
        * media/media-constants.html: Ditto.
        * media/remove-from-document-expected.txt: Updated for spec changes.
        * media/remove-from-document-no-load.html: Ditto.
        * media/remove-from-document.html: Ditto.
        * media/unsupported-rtsp-expected.txt: Ditto.
        * media/unsupported-rtsp.html: Ditto.
        * media/video-currentTime-set-expected.txt: Ditto.
        * media/video-currentTime-set.html: Ditto.
        * media/video-error-does-not-exist-expected.txt: Ditto.
        * media/video-error-does-not-exist.html: Ditto.
        * media/video-load-networkState-expected.txt: Ditto.
        * media/video-load-networkState.html: Ditto.
        * media/video-load-readyState-expected.txt: Ditto.
        * media/video-load-readyState.html: Ditto.
        * media/video-loop-expected.txt: Ditto.
        * media/video-loop.html: Ditto.
        * media/video-pause-empty-events-expected.txt: Ditto.
        * media/video-pause-empty-events.html: Ditto.
        * media/video-play-empty-events-expected.txt: Ditto.
        * media/video-play-empty-events.html: Ditto.
        * media/video-play-pause-events-expected.txt: Ditto.
        * media/video-play-pause-events.html: Ditto.
        * media/video-play-pause-exception-expected.txt: Ditto.
        * media/video-play-pause-exception.html: Ditto.
        * media/video-seek-no-src-exception-expected.txt: Test that seeking
        whene there is no 'src' attribute throws an INVALID_STATE_ERR exception.
        * media/video-seek-no-src-exception.html:
        * media/video-seek-past-end-playing-expected.txt: Ditto.
        * media/video-seek-past-end-playing.html: Ditto.
        * media/video-seeking-expected.txt: Ditto.
        * media/video-seeking.html: Ditto.
        * media/video-source-add-src-expected.txt: Test that adding a 'src'
        attribute does nothing when a <source> element has already been chosen.
        * media/video-source-add-src.html:
        * media/video-src-change-expected.txt: Ditto.
        * media/video-src-change.html: Ditto.
        * media/video-src-invalid-remove-expected.txt: Test that removing invalid
        'src' attribute triggers <source> elements loading.
        * media/video-src-invalid-remove.html:
        * media/video-src-plus-source-expected.txt: Test that a <source> element
        is not used when a bogus 'src' attribute is present.
        * media/video-src-plus-source.html:
        * media/video-src-remove-expected.txt: Ditto.
        * media/video-src-remove.html: Ditto.
        * media/video-test.js:
        (findMediaElement):
        (testExpected):
        (waitForEvent):
        (failTest):
        * media/video-timeupdate-during-playback-expected.txt: Test that 'timeupdate' events
        are posted while an element is playing but not while paused.
        * media/video-timeupdate-during-playback.html:

        * platform/mac/Skipped: Skip media/video-error-abort.html for now, need to figure out how to
        test now that the 'loadstart' event is now fired asynchronously.
        * platform/win/Skipped

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

11 years ago2009-03-21 Xan Lopez <xlopez@igalia.com>
xan@webkit.org [Mon, 23 Mar 2009 12:43:09 +0000 (12:43 +0000)]
2009-03-21  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Holger Freyther.

        Require gnome-keyring 2.26.0, since we were depending on an
        unreleased trunk revision between 2.25.91 and 2.26.0.

        * configure.ac:

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

11 years agoFix exception handling in API
oliver@apple.com [Mon, 23 Mar 2009 06:01:46 +0000 (06:01 +0000)]
Fix exception handling in API

Reviewed by Cameron Zwarich.

We can't just use the ExecState exception slot for returning exceptions
from class introspection functions provided through the API as many JSC
functions will explicitly clear the ExecState exception when returning.

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

11 years agoFix instanceof implementation to handle API object overriding hasInstance
oliver@apple.com [Mon, 23 Mar 2009 04:31:39 +0000 (04:31 +0000)]
Fix instanceof implementation to handle API object overriding hasInstance

Reviewed by Cameron Zwarich.

We can only take the fast paths for instanceof if the object doesn't override
hasInstance, so we have to check for that.

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

11 years ago Reviewed by John Sullivan.
mitz@apple.com [Mon, 23 Mar 2009 03:46:17 +0000 (03:46 +0000)]
    Reviewed by John Sullivan.

        - fix <rdar://problem/6640741> Messages not displaying after the
          Safari 4 beta was installed

        Mail assumes that if -[WebArchive subresources] is not nil, then it
        contains at least one object.

        * WebView/WebArchive.mm:
        (-[WebArchive subresources]): Preserve the behavior of returning nil
        if there are no subresources.

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

11 years ago2009-03-22 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Sun, 22 Mar 2009 19:50:18 +0000 (19:50 +0000)]
2009-03-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

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

        Image-map code in RenderImage could result in RenderImage::nodeAtPoint()
        setting HitTestResult::innerNode(), but returning false, which violates
        hit testing rules. Use a temporary HitTestResult so that we only fill in
        result when we know we've hit.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint):

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