1. 06 Jan, 2010 40 commits
    • eric@webkit.org's avatar
      2010-01-06 Joanmarie Diggs <joanmarie.diggs@gmail.com> · 10e02f83
      eric@webkit.org authored
              Reviewed by Xan Lopez.
      
              https://bugs.webkit.org/show_bug.cgi?id=30883
              [Gtk] Implement AtkText for HTML elements which contain text
      
              * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
              (getInterfaceMaskFromObject):
              (getPangoLayoutForAtk):
              (webkit_accessible_text_get_text):
              * accessibility/gtk/AccessibilityObjectAtk.cpp:
              (AccessibilityObject::accessibilityPlatformIncludesObject):
      2010-01-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
      
              Reviewed by Xan Lopez.
      
              https://bugs.webkit.org/show_bug.cgi?id=30883
              [Gtk] Implement AtkText for HTML elements which contain text
      
              * tests/testatk.c
              (test_webkit_atk_get_text_at_offset):
              (test_webkit_atk_get_text_at_offset_forms):
              (test_webkit_atk_get_text_at_offset_newlines):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      10e02f83
    • mitz@apple.com's avatar
      <rdar://problem/7488126> With text-rendering: optimizelegibility, sometimes lines run too long · fa13fccd
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=32794
      
      Reviewed by Sam Weinig.
      
      WebCore: 
      
      Test: platform/mac/fast/text/line-breaking-with-kerning.html
      
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::findNextLineBreak): When kerning is enabled, include
      the trailing space when measuring a word, then subtract its width. This
      accounts for kerning between the last glyph of the word and the following space.
      
      LayoutTests: 
      
      * platform/mac/fast/text/line-breaking-with-kerning-expected.checksum: Added.
      * platform/mac/fast/text/line-breaking-with-kerning-expected.png: Added.
      * platform/mac/fast/text/line-breaking-with-kerning-expected.txt: Added.
      * platform/mac/fast/text/line-breaking-with-kerning.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa13fccd
    • ojan@chromium.org's avatar
      2010-01-06 Eric Seidel <eric@webkit.org> · 64f6212d
      ojan@chromium.org authored
              No review.
      
              REGRESSION(52854?) fast/workers/shared-worker-constructor.html failed on Leopard Build Bot
              https://bugs.webkit.org/show_bug.cgi?id=33256
      
              I am unable to reproduce this failure locally, so this fix is only speculative.
              Skip the test we believe is causing the log message which bleeds into fast/workers/shared-worker-constructor.html
      
              * platform/mac/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64f6212d
    • kdecker@apple.com's avatar
      Reviewed by Simon Fraser. · efa77d03
      kdecker@apple.com authored
              Third step of:
              <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
      
              * Plugins/WebNetscapePluginView.mm:
              (-[WebNetscapePluginView getVariable:value:]): Add case for WKNVSupportsCompositingCoreAnimationPluginsBool.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      efa77d03
    • eric@webkit.org's avatar
      2010-01-06 Eric Seidel <eric@webkit.org> · 5bf1902b
      eric@webkit.org authored
              No review, just adding Mike Belshe's new bugzilla email at his request.
      
              * Scripts/webkitpy/committers.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5bf1902b
    • kdecker@apple.com's avatar
      Reviewed by Simon Fraser · 97ccf9ed
      kdecker@apple.com authored
              Second step of:
              <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
      
              * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
              * Plugins/Hosted/WebHostedNetscapePluginView.mm:
              (-[WebHostedNetscapePluginView pluginLayer]): Added.
              * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
              * Plugins/WebNetscapePluginView.mm:
              (-[WebNetscapePluginView pluginLayer]): Added.
              Reviewed by Simon Fraser.
      
              Second step of:
              <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
      
              * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
              * Plugins/Hosted/WebHostedNetscapePluginView.mm:
              (-[WebHostedNetscapePluginView pluginLayer]): Added.
              * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
              * Plugins/WebNetscapePluginView.mm:
              (-[WebNetscapePluginView pluginLayer]): Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      97ccf9ed
    • abarth@webkit.org's avatar
      Fix screwed up ChangeLog about screwing up... Sigh. · e77c5962
      abarth@webkit.org authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52884 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e77c5962
    • eric@webkit.org's avatar
      2010-01-06 Eric Seidel <eric@webkit.org> · f73aa8e1
      eric@webkit.org authored
              No review.
      
              REGRESSION(52854?) fast/workers/shared-worker-constructor.html failed on Leopard Build Bot
              https://bugs.webkit.org/show_bug.cgi?id=33256
      
              I am unable to reproduce this failure locally, so this fix is only speculative.
              Skip the test we believe is causing the log message which bleeds into fast/workers/shared-worker-constructor.html
      
              * platform/mac/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f73aa8e1
    • abarth@webkit.org's avatar
      2010-01-06 Adam Barth <abarth@webkit.org> · 7f7bf604
      abarth@webkit.org authored
              No review, rolling out r52877.
              http://trac.webkit.org/changeset/52877
              https://bugs.webkit.org/show_bug.cgi?id=33243
      
              I screwedd up landing this patch and only partially applied the patch I
              was trying to land.
      
              * bindings/ScriptControllerBase.cpp:
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::executeScriptInWorld):
              * bindings/v8/ScriptController.cpp:
              (WebCore::ScriptController::ScriptController):
              (WebCore::ScriptController::~ScriptController):
              (WebCore::ScriptController::updateSecurityOrigin):
              (WebCore::ScriptController::evaluateInIsolatedWorld):
              (WebCore::ScriptController::haveInterpreter):
              (WebCore::ScriptController::mainWorldWindowShell):
              (WebCore::ScriptController::clearWindowShell):
              (WebCore::ScriptController::clearForClose):
              (WebCore::ScriptController::destroyWindowShell):
              (WebCore::ScriptController::updateDocument):
              * bindings/v8/ScriptController.h:
              (WebCore::ScriptController::proxy):
              (WebCore::ScriptController::windowShell):
              (WebCore::ScriptController::existingWindowShell):
              (WebCore::ScriptController::evaluateInWorld):
              * bindings/v8/V8DOMWindowShell.cpp:
              (WebCore::V8DOMWindowShell::create):
              (WebCore::V8DOMWindowShell::V8DOMWindowShell):
              (WebCore::V8DOMWindowShell::initContextIfNeeded):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f7bf604
    • ojan@chromium.org's avatar
      2010-01-06 Ojan Vafai <ojan@chromium.org> · fe799ef0
      ojan@chromium.org authored
              Reviewed by Eric Carlson.
      
              media/video-seeking.html is flaky
              https://bugs.webkit.org/show_bug.cgi?id=33273
      
              Removed setTimeouts from this test. It kind of looks
              like they were intentional, but I don't see how they add
              anything to this test (other than race conditions).
      
              * media/video-seeking-expected.txt:
              * media/video-seeking.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe799ef0
    • eric@webkit.org's avatar
      2010-01-06 Eric Seidel <eric@webkit.org> · 80b9507c
      eric@webkit.org authored
              Unreviewed.  Rolling back in a change I should not have rolled out.
      
              The original commit http://trac.webkit.org/changeset/52862
              was rolled out again in http://trac.webkit.org/changeset/52871
              but I now believe that rollout to be in error.
              My sincerest apologies for the churn.
      
              Fix the bug in previous commit: we shouldn't finish
              decoding if "sizeOnly" is true.
              https://bugs.webkit.org/show_bug.cgi?id=33258
      
              * platform/image-decoders/png/PNGImageDecoder.cpp:
              (WebCore::PNGImageReader::decode):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52880 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80b9507c
    • ojan@chromium.org's avatar
      2010-01-06 Ojan Vafai <ojan@chromium.org> · 4bf7fbdd
      ojan@chromium.org authored
              Reviewed by Eric Seidel.
      
              fast/css/transition-color-unspecified.html and fast/dom/HTMLObjectElement/object-as-frame.html are flaky
              https://bugs.webkit.org/show_bug.cgi?id=33270
      
              These both rely on setTimeouts where they should be using events.
      
              * fast/css/transition-color-unspecified.html:
              * fast/dom/HTMLObjectElement/object-as-frame.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4bf7fbdd
    • ojan@chromium.org's avatar
      2010-01-06 Ojan Vafai <ojan@chromium.org> · dc2664ee
      ojan@chromium.org authored
              Reviewed by Eric Seidel.
      
              platform/chromium/fast/dom/interval.html is flaky
              https://bugs.webkit.org/show_bug.cgi?id=33274
      
              We're seeing the debug bots take >100000 microseconds to stop
              and Interval.
      
              * platform/chromium/fast/dom/interval.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc2664ee
    • abarth@webkit.org's avatar
      2010-01-06 Adam Barth <abarth@webkit.org> · 9d0c59dd
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              [v8] Let ScriptController have more than one windowShell
              https://bugs.webkit.org/show_bug.cgi?id=33243
      
              This patch lets ScriptController have more than one windowShell.  We're
              currently only using one of them (for the main world), but this patch
              lets us use other ones for isolated worlds soon.
      
              * bindings/ScriptControllerBase.cpp:
              (WebCore::ScriptController::executeScriptInWorld):
              * bindings/js/ScriptController.cpp:
              * bindings/v8/ScriptController.cpp:
              (WebCore::ScriptController::createWorld):
              (WebCore::ScriptController::initScript):
              (WebCore::ScriptController::ScriptController):
              (WebCore::ScriptController::~ScriptController):
              (WebCore::ScriptController::updateSecurityOrigin):
              (WebCore::ScriptController::evaluateInIsolatedWorld):
              (WebCore::ScriptController::evaluateInWorld):
              (WebCore::ScriptController::mainWorldWindowShell):
              (WebCore::ScriptController::clearWindowShell):
              (WebCore::ScriptController::clearForClose):
              (WebCore::ScriptController::destroyWindowShell):
              (WebCore::ScriptController::updateDocument):
              * bindings/v8/ScriptController.h:
              (WebCore::ScriptController::windowShell):
              (WebCore::ScriptController::existingWindowShell):
              (WebCore::ScriptController::globalObject):
              (WebCore::ScriptController::proxy):
              * bindings/v8/V8DOMWindowShell.cpp:
              (WebCore::V8DOMWindowShell::create):
              (WebCore::V8DOMWindowShell::V8DOMWindowShell):
              (WebCore::V8DOMWindowShell::initContextIfNeeded):
              * bindings/v8/V8DOMWindowShell.h:
              * bindings/v8/V8DOMWrapper.cpp:
              (WebCore::V8DOMWrapper::instantiateV8Object):
              (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d0c59dd
    • eric@webkit.org's avatar
      2010-01-06 Eric Seidel <eric@webkit.org> · 5eca6396
      eric@webkit.org authored
              Unreviewed.  Rolling out r52869 and r52853 due to bot
              and local run-webkit-test failures
      
              REGRESSION(52854?) fast/workers/shared-worker-constructor.html failed on Leopard Build Bot
              https://bugs.webkit.org/show_bug.cgi?id=33256
      
              The original bug was https://bugs.webkit.org/show_bug.cgi?id=33153
      
              * Scripts/run-webkit-tests:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5eca6396
    • mrowe@apple.com's avatar
      Fix the Mac build. · 386b8d0c
      mrowe@apple.com authored
      * WebCore.base.exp: Export symbols WebKit would like to use.
      * plugins/PluginWidget.h:
      (WebCore::PluginWidget::PluginWidget): Redeclare a constructor.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      386b8d0c
    • weinig@apple.com's avatar
      Attempt to fix non-Snow Leopard Mac build. · 078ca5fb
      weinig@apple.com authored
      * WebCoreSupport/WebFrameLoaderClient.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      078ca5fb
    • eric@webkit.org's avatar
      2010-01-06 Eric Seidel <eric@webkit.org> · 8243073d
      eric@webkit.org authored
              Unreviewed "build" fix.  Just adding missing include.
      
              bugzilla-tool rollout --complete-rollout should make a nicer bug comment
              https://bugs.webkit.org/show_bug.cgi?id=29212
      
              * Scripts/webkitpy/steps/completerollout.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8243073d
    • kdecker@apple.com's avatar
      Reviewed by Eric Carlson. · 5ded33c7
      kdecker@apple.com authored
              
              First step toward:
              <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
              
              Small refactoring moving the PluginWidget class from WebKit to WebCore.          
              * WebCore.xcodeproj/project.pbxproj: Added new source files and a "mac" group; exposes PluginWidget.h as a "Private" role
              * platform/Widget.h: Added isPluginWidget(). 
              (WebCore::Widget::isPluginWidget):
              * plugins/PluginWidget.h: Added.
              (WebCore::PluginWidget::isPluginWidget): Added as an interim solution until Mac plug-ins inheirt from PluginView.
              * plugins/mac/PluginWidgetMac.mm: Added.
              (WebCore::PluginWidget::invalidateRect): Added. Extracted from the old WebKit/FrameLoaderClientMac version of PluginWidget
      
              Reviewed by Eric Carlson.
      
              First step toward:
              <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
              
              Small refactoring moving the PluginWidget class from WebKit to WebCore.
      
              * WebCoreSupport/WebFrameLoaderClient.mm: Use the WebCore version of PluginWidget.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ded33c7
    • eric@webkit.org's avatar
      2010-01-06 Eric Seidel <eric@webkit.org> · cb99ad39
      eric@webkit.org authored
              No review, rolling out r52862.
              http://trac.webkit.org/changeset/52862
              https://bugs.webkit.org/show_bug.cgi?id=33258
      
              Caused svg/W3C-SVG-1.1/linking-a-01-b.svg to crash on the
              Leopard Release builder.
      
              * platform/image-decoders/png/PNGImageDecoder.cpp:
              (WebCore::PNGImageReader::decode):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb99ad39
    • eric@webkit.org's avatar
      2010-01-06 Eric Seidel <eric@webkit.org> · 19f4bf37
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              bugzilla-tool rollout --complete-rollout should make a nicer bug comment
              https://bugs.webkit.org/show_bug.cgi?id=29212
      
              * Scripts/webkitpy/bugzilla.py:
               - Make reopen_bug robust against the bug already being open.
              * Scripts/webkitpy/commands/download.py:
               - Remove dead code from Rollout.
              * Scripts/webkitpy/steps/completerollout.py:
               - Improve the rollout comment.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19f4bf37
    • eric@webkit.org's avatar
      2010-01-06 Andras Becsi <abecsi@inf.u-szeged.hu> · e159df00
      eric@webkit.org authored
              Reviewed by Darin Adler.
      
              Set isHttpdOpen to 0 if pidfile does not exist for some reason.
              Speculative fix for https://bugs.webkit.org/show_bug.cgi?id=33256.
      
              * Scripts/run-webkit-tests:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e159df00
    • zimmermann@webkit.org's avatar
      2010-01-06 Nikolas Zimmermann <nzimmermann@rim.com> · b1bf2a37
      zimmermann@webkit.org authored
              Not reviewed. Revert the part of my last commit touching Base.xcconfig, was not meant to be commited.
      
              * Configurations/Base.xcconfig:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b1bf2a37
    • japhet@chromium.org's avatar
      2010-01-05 Nate Chapin <japhet@chromium.org> · fc55cce7
      japhet@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              Generate header declarations for V8 binding security checks
              and delete V8CustomBinding.cpp
      
              * Android.v8bindings.mk: Removed V8CustomBinding.cpp.
              * WebCore.gypi: Removed V8CustomBinding.cpp.
              * bindings/scripts/CodeGeneratorV8.pm: Generate security check declarations.
              * bindings/v8/V8DOMWindowShell.cpp:
              (WebCore::getTargetFrame): Moved from V8CustomBinding.cpp.
              (WebCore::reportUnsafeJavaScriptAccess):
              (WebCore::V8DOMWindowShell::createNewContext):
              (WebCore::V8DOMWindowShell::setLocation): Moved from V8CustomBinding.cpp.
              * bindings/v8/V8DOMWindowShell.h:
              * bindings/v8/V8DOMWrapper.cpp:
              (WebCore::downcastSVGPathSeg): Moved from V8CustomBinding.cpp.
              (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
              (WebCore::V8DOMWrapper::getTemplate):
              * bindings/v8/custom/V8CustomBinding.cpp: Removed.
              * bindings/v8/custom/V8CustomBinding.h:
              * bindings/v8/custom/V8DOMWindowCustom.cpp:
              (WebCore::V8DOMWindow::locationAccessorSetter):
              (WebCore::V8DOMWindow::namedSecurityCheck):
              (WebCore::V8DOMWindow::indexedSecurityCheck):
              * bindings/v8/custom/V8DocumentLocationCustom.cpp:
              (WebCore::V8Document::locationAccessorSetter):
              * bindings/v8/custom/V8HistoryCustom.cpp:
              (WebCore::V8History::indexedSecurityCheck):
              (WebCore::V8History::namedSecurityCheck):
              * bindings/v8/custom/V8LocationCustom.cpp:
              (WebCore::V8Location::indexedSecurityCheck):
              (WebCore::V8Location::namedSecurityCheck):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52867 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc55cce7
    • zimmermann@webkit.org's avatar
      2010-01-06 Nikolas Zimmermann <nzimmermann@rim.com> · f7fb346c
      zimmermann@webkit.org authored
              Reviewed by Dirk Schulze.
      
              Marker code is buggy: referencePoint translation is off
              https://bugs.webkit.org/show_bug.cgi?id=33012
      
              Rewrite marker code, as it had many issues:
              - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
              - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
              - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
              - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
                can have three different resources of the same type (three markers, start/mid/end markers)
      
              Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
      
              Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
              Test: svg/custom/marker-referencePoint.svg
                    svg/custom/marker-opacity.svg
                    svg/custom/marker-strokeWidth-changes.svg
      
              * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
              * GNUmakefile.am: Ditto.
              * WebCore.gypi: Ditto.
              * WebCore.pro: Ditto.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
              (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
              * rendering/RenderPath.cpp:
              (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
              (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
              (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
              (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
              (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
              * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
              (WebCore::RenderPath::path): Inline this accessor.
              * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
              * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
              (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
              (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
              * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
              * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
              (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
              (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
              (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
              (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
              (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
              (WebCore::SVGMarkerData::updateOutslope): Ditto.
              (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
              (WebCore::SVGMarkerData::updateInslope): Helper method.
              * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
              (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
              (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
              (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
              (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
              (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
              (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
              * rendering/SVGMarkerLayoutInfo.h: Added.
              (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
              (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
              (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
              (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
              * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
              (WebCore::SVGMarkerElement::~SVGMarkerElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
              (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
              * svg/SVGSVGElement.cpp:
              (WebCore::SVGSVGElement::~SVGSVGElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
              * svg/SVGUseElement.cpp: Rework buildPendingResource() to remove SVGSVGElement/SVGMarkerElement detach() hacks (called manually from destructors), see below.
              (WebCore::SVGUseElement::buildPendingResource): Always detach() the shadow tree root element, before destructing it - this caused the regression with this patch before.
              * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
                                              and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
                                              ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
                                              per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
              (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
              (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
              (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
              (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
              (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
              * svg/graphics/SVGResourceMarker.cpp:
              (WebCore::SVGResourceMarker::SVGResourceMarker):
              (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
              (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
              (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
              * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
              (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
              (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
              (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52866 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f7fb346c
    • krit@webkit.org's avatar
      2010-01-06 Dirk Schulze <krit@webkit.org> · aaef148b
      krit@webkit.org authored
              Reviewed by Nikolas Zimmermann.
      
              SVG feImage support
              https://bugs.webkit.org/show_bug.cgi?id=31905
      
              This implements the SVG Filter effect feImage with support of fragment urls.
              It also includes a bug fix for feComposite. feComposite didn't cover values
              bigger than 255 correctly on composite oeprator arithmetic.
      
              Tests: There are already many feImage tests in trunk. They just needed updated
                     pixel test results.
                     The feComposite bug is covered by svg/W3C-SVG-1.1/filters-composite-02-b.svg
                     and depends on feImage.
      
              * platform/graphics/filters/FEComposite.cpp:
              (WebCore::arithmetic):
              * rendering/RenderSVGImage.cpp:
              (WebCore::RenderSVGImage::paint):
              * rendering/RenderSVGImage.h:
              * svg/SVGFEImageElement.cpp:
              (WebCore::SVGFEImageElement::requestImageResource):
              (WebCore::SVGFEImageElement::parseMappedAttribute):
              (WebCore::SVGFEImageElement::notifyFinished):
              (WebCore::SVGFEImageElement::build):
              * svg/SVGFEImageElement.h:
              * svg/SVGFEImageElement.idl:
              * svg/SVGPreserveAspectRatio.cpp:
              (WebCore::SVGPreserveAspectRatio::transformRect):
              * svg/SVGPreserveAspectRatio.h:
              * svg/graphics/filters/SVGFEImage.cpp:
              (WebCore::FEImage::FEImage):
              (WebCore::FEImage::create):
              (WebCore::FEImage::apply):
              * svg/graphics/filters/SVGFEImage.h:
      
      2010-01-06  Dirk Schulze  <krit@webkit.org>
      
              Reviewed by Nikolas Zimmermann.
      
              SVG feImage support
              https://bugs.webkit.org/show_bug.cgi?id=31905
      
              The implementation of feImage requires pixel test result updates of the already
              available tests.
      
              There is also an update for svg/filters/feComposite.svg, since the patch also
              fixed a bug in feComposite.
      
              * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum:
              * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png:
              * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum:
              * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
              * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum:
              * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.png:
              * platform/mac/svg/custom/feDisplacementMap-01-expected.checksum:
              * platform/mac/svg/custom/feDisplacementMap-01-expected.png:
              * platform/mac/svg/filters/feComposite-expected.checksum:
              * platform/mac/svg/filters/feComposite-expected.png:
              * platform/mac/svg/webarchive/svg-feimage-subresources-expected.checksum:
              * platform/mac/svg/webarchive/svg-feimage-subresources-expected.png:
      
      2010-01-06  Dirk Schulze  <krit@webkit.org>
      
              Reviewed by Nikolas Zimmermann.
      
              SVG feImage support
              https://bugs.webkit.org/show_bug.cgi?id=31905
      
              Update SVG status page. We support feDisplacementMap and feImage now.
      
              * projects/svg/status.xml:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aaef148b
    • darin@apple.com's avatar
      Added file James Robinson provided to go with his fix for · b74c1392
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=32295
      
      * platform/mac/fast/repaint/block-no-inflow-children-expected.png: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52864 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b74c1392
    • darin@apple.com's avatar
      Some script tests have wrappers that don't match their templates · 650c0791
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=33239
      
      Reviewed by Eric Seidel.
      
      * fast/dom/StyleSheet/get-stylesheet-byname.html: Updated to use
      a standard test wrapper instead of a custom one.
      * fast/dom/StyleSheet/script-tests/get-stylesheet-byname.js:
      Changed test to not depend on a non-standard wrapper.
      * fast/dom/StyleSheet/get-stylesheet-byname-expected.txt: Updated
      results since I changed the test around.
      
      * platform/mac/editing/selection/script-tests/TEMPLATE.html: Fix
      incorrect path in template that broke the test when we called
      make-script-test-wrappers.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      650c0791
    • yong.li@torchmobile.com's avatar
      2010-01-06 Yong Li <yoli@rim.com> · b4e9464e
      yong.li@torchmobile.com authored
              Reviewed by Darin Adler.
      
              Fix the bug in previous commit: we shouldn't finish
              decoding if "sizeOnly" is true.
              https://bugs.webkit.org/show_bug.cgi?id=33258
      
              * platform/image-decoders/png/PNGImageDecoder.cpp:
              (WebCore::PNGImageReader::decode):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52862 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4e9464e
    • bweinstein@apple.com's avatar
      Should be last part of Windows Build fix. · 8651d0fa
      bweinstein@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52861 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8651d0fa
    • eric@webkit.org's avatar
      2010-01-06 Eric Seidel <eric@webkit.org> · f8cb000f
      eric@webkit.org authored
              No review, rolling out r52855.
              http://trac.webkit.org/changeset/52855
              https://bugs.webkit.org/show_bug.cgi?id=33222
      
              Caused 6 layout tests to fail on Mac
      
              * loader/DocumentLoader.cpp:
              (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
              * loader/MainResourceLoader.cpp:
              (WebCore::MainResourceLoader::continueAfterContentPolicy):
              * loader/ResourceLoader.cpp:
              * loader/ResourceLoader.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8cb000f
    • barraclough@apple.com's avatar
      QT build fix. · 8d8f8cd6
      barraclough@apple.com authored
      * runtime/Identifier.cpp:
      (JSC::createIdentifierTableSpecific):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52859 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d8f8cd6
    • barraclough@apple.com's avatar
      Windows build fix part I. · a1a2d93c
      barraclough@apple.com authored
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1a2d93c
    • mitz@apple.com's avatar
      Build fix · e9eb3811
      mitz@apple.com authored
      * runtime/Identifier.cpp:
      (JSC::createIdentifierTableSpecificCallback):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52857 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9eb3811
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=33236 · ee9b4368
      barraclough@apple.com authored
      Remove m_identifierTable pointer from UString
      
      Reviewed by Sam Weinig.
      
      JavaScriptCore: 
      
      Currently every string holds a pointer so that during destruction,
      if a string has been used as an identifier, it can remove itself
      from the table.  By instead accessing the identifierTable via a
      thread specific tracking the table associated with the current
      globaldata, we can save the memory cost of this pointer.
      
      * API/APIShims.h:
      (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
      (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
      (JSC::APICallbackShim::APICallbackShim):
      (JSC::APICallbackShim::~APICallbackShim):
      
          - change the API shims to track the identifierTable of the current JSGlobalData.
      
      * API/JSContextRef.cpp:
      (JSContextGroupCreate):
      
          - update creation of JSGlobalData for API usage to use new create method.
          - fix shim instanciation bug in JSGlobalContextCreateInGroup.
      
      * JavaScriptCore.exp:
      * runtime/Completion.cpp:
      (JSC::checkSyntax):
      (JSC::evaluate):
      
          - add asserts to check the identifierTable is being tracked correctly.
      
      * runtime/Identifier.cpp:
      (JSC::IdentifierTable::~IdentifierTable):
      (JSC::IdentifierTable::add):
      (JSC::Identifier::remove):
      (JSC::Identifier::checkSameIdentifierTable):
      (JSC::createIdentifierTableSpecificCallback):
      (JSC::createIdentifierTableSpecific):
      (JSC::createDefaultDataSpecific):
      
          - Use currentIdentifierTable() instead of UStringImpl::m_identifierTable.
          - Define methods to access the thread specific identifier tables.
      
      * runtime/Identifier.h:
      (JSC::ThreadIdentifierTableData::ThreadIdentifierTableData):
      (JSC::defaultIdentifierTable):
      (JSC::setDefaultIdentifierTable):
      (JSC::currentIdentifierTable):
      (JSC::setCurrentIdentifierTable):
      (JSC::resetCurrentIdentifierTable):
      
          - Declare methods to access the thread specific identifier tables.
      
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::createNonDefault):
      (JSC::JSGlobalData::create):
      (JSC::JSGlobalData::sharedInstance):
      
          - creation of JSGlobalData objects, other than for API usage, associate themselves with the current thread.
      
      * runtime/JSGlobalData.h:
      * runtime/UStringImpl.cpp:
      (JSC::UStringImpl::destroy):
      
          - destroy() method should be using isIdentifier().
      
      * runtime/UStringImpl.h:
      (JSC::UStringImpl::isIdentifier):
      (JSC::UStringImpl::setIsIdentifier):
      (JSC::UStringImpl::checkConsistency):
      (JSC::UStringImpl::UStringImpl):
      
          - replace m_identifierTable with a single m_isIdentifier bit.
      
      * wtf/StringHashFunctions.h:
      (WTF::stringHash):
      
          - change string hash result from 32-bit to 31-bit, to free a bit in UStringImpl for m_isIdentifier.
      
      JavaScriptGlue: 
      
      Add API shims similar to those used in the JSC API to track the current identifierTable.
      
      * JSBase.cpp:
      (JSBase::Release):
      * JSUtils.cpp:
      (JSObjectKJSValue):
      (KJSValueToCFTypeInternal):
      (unprotectGlobalObject):
      (JSGlueAPIEntry::JSGlueAPIEntry):
      (JSGlueAPIEntry::~JSGlueAPIEntry):
      (JSGlueAPICallback::JSGlueAPICallback):
      (JSGlueAPICallback::~JSGlueAPICallback):
      * JSUtils.h:
      * JSValueWrapper.cpp:
      (JSValueWrapper::JSObjectCopyPropertyNames):
      (JSValueWrapper::JSObjectCopyProperty):
      (JSValueWrapper::JSObjectSetProperty):
      (JSValueWrapper::JSObjectCallFunction):
      (JSValueWrapper::JSObjectCopyCFValue):
      * JavaScriptGlue.cpp:
      (JSRunCreate):
      (JSRunEvaluate):
      (JSRunCheckSyntax):
      (JSCollect):
      * JavaScriptGlue.xcodeproj/project.pbxproj:
      * UserObjectImp.cpp:
      (UserObjectImp::callAsFunction):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52856 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee9b4368
    • yong.li@torchmobile.com's avatar
      2010-01-06 Yong Li <yoli@rim.com> · 401150b9
      yong.li@torchmobile.com authored
              Reviewed by Darin Adler.
      
              Let ReourceLoader deliver segmented data
              when loading resource from a SharedBuffer object.
              https://bugs.webkit.org/show_bug.cgi?id=33222
      
              * loader/DocumentLoader.cpp:
              (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
              * loader/MainResourceLoader.cpp:
              (WebCore::MainResourceLoader::continueAfterContentPolicy):
              * loader/ResourceLoader.cpp:
              (WebCore::ResourceLoader::didReceiveData):
              * loader/ResourceLoader.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      401150b9
    • hausmann@webkit.org's avatar
      Unreviewed trivial Qt build fix. · f9e17a81
      hausmann@webkit.org authored
      Prefix the phonon includes with phonon/ to avoid conflicts with the S60
      audio routing API ( http://wiki.forum.nokia.com/index.php/Audio_Routing_API ).
      
      * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52854 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9e17a81
    • loki@webkit.org's avatar
      2010-01-06 Andras Becsi <abecsi@inf.u-szeged.hu> · c236803a
      loki@webkit.org authored
              Reviewed by Darin Adler.
      
              Change hardcoded /tmp in run-webkit-tests to File::Spec->tmpdir(),
              and remove the httpd's pidfile directory if httpd terminated.
      
              * Scripts/run-webkit-tests:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52853 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c236803a
    • darin@chromium.org's avatar
      2010-01-06 Darin Fisher <darin@chromium.org> · d4e2e991
      darin@chromium.org authored
              Fix release build bustage.
      
              * src/WebKit.cpp: Need to include Logging.h
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4e2e991
    • darin@chromium.org's avatar
      2010-01-05 Darin Fisher <darin@chromium.org> · fd91b0e1
      darin@chromium.org authored
              Reviewed by Adam Barth.
      
              [Chromium] Expose more APIs to eliminate WebCore usage in Chromium.
              https://bugs.webkit.org/show_bug.cgi?id=33249
      
              * WebKit.gyp:
              * public/WebFrame.h:
              * public/WebGlyphCache.h: Added.
              * public/WebKit.h:
              * src/WebFrameImpl.cpp:
              (WebKit::WebFrame::instanceCount):
              (WebKit::WebFrameImpl::WebFrameImpl):
              (WebKit::WebFrameImpl::~WebFrameImpl):
              * src/WebFrameImpl.h:
              * src/WebGlyphCache.cpp: Added.
              (WebKit::WebGlyphCache::pageCount):
              * src/WebKit.cpp:
              (WebKit::enableLogChannel):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd91b0e1