Speculative build fix for GTK/64 ... seems to be barfing on a comment o_O

* wtf/Platform.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix Windows build.

* WebProcess/Plugins/JSNPObject.cpp:
(WebKit::JSNPObject::propertyGetter):
Remove unreachable code.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Oh! that makes more sense!  Maybe C++-style comments are bringing teh bad mojo.

* wtf/Platform.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Speculative build fix for Chromium/Win

* wtf/Platform.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Temporarily rolling out http://trac.webkit.org/changeset/64177,
this seems to give QT ARM/Win a headache (specifically, looks
like structure layour differs, objects get too large - 
"..\..\..\JavaScriptCore\runtime\ArrayPrototype.cpp:41:"
"error: size of array 'dummyclass_fits_in_cell' is negative").

* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
* runtime/JSArray.cpp:
(JSC::increasedVectorLength):
(JSC::JSArray::JSArray):
(JSC::JSArray::~JSArray):
(JSC::JSArray::getOwnPropertySlot):
(JSC::JSArray::getOwnPropertyDescriptor):
(JSC::JSArray::put):
(JSC::JSArray::putSlowCase):
(JSC::JSArray::deleteProperty):
(JSC::JSArray::getOwnPropertyNames):
(JSC::JSArray::increaseVectorLength):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToRegisters):
(JSC::JSArray::compactForSorting):
(JSC::JSArray::subclassData):
(JSC::JSArray::setSubclassData):
(JSC::JSArray::checkConsistency):
* runtime/JSArray.h:
(JSC::JSArray::length):
(JSC::JSArray::canGetIndex):
(JSC::JSArray::getIndex):
(JSC::JSArray::setIndex):
(JSC::JSArray::uncheckedSetIndex):
(JSC::JSArray::markChildrenDirect):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-27  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by David Levin.

        Stylebot should not complain about NULL usage in calls to gdk_pixbuf_save_to
        https://bugs.webkit.org/show_bug.cgi?id=43090

        * Scripts/webkitpy/style/checkers/cpp.py: Add exemption for some GdkPixbuf methods.
        * Scripts/webkitpy/style/checkers/cpp_unittest.py: Added some tests for this behavior.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-27  Daniel Bates  <dbates@rim.com>

        Reviewed by Darin Adler.

        Convert DRT list tests from pixel-tests/render tree dumps to text
        https://bugs.webkit.org/show_bug.cgi?id=42803

        With the passing of Bug #37929 and Bug #37930, convert a subset of the
        DRT tests for lists from pixel-tests to text-based tests now that we
        can retrieve the list item marker text in both the Mac and Windows ports.

        * fast/lists/alpha-boundary-values-expected.txt: Added.
        * fast/lists/alpha-boundary-values.html: Modified to dump as text.
        * fast/lists/alpha-list-wrap-expected.txt: Added.
        * fast/lists/alpha-list-wrap.html: Modified to dump as text.
        * fast/lists/decimal-leading-zero-expected.txt: Added.
        * fast/lists/decimal-leading-zero.html: Modified to dump as text.
        * fast/lists/li-values-expected.txt: Added.
        * fast/lists/li-values.html: Modified to dump as text.
        * fast/lists/list-style-type-dynamic-change-expected.txt: Added.
        * fast/lists/list-style-type-dynamic-change.html: Modified to dump as text.
        * fast/lists/resources/dump-list.js:
        (dumpList): Modified to call processList.
        (filterListsWithReplacement): Added.
        (processList): Added.
        (dumpListItemAsHTML): Added.
        (printPassedIfEmptyString): Added.
        (printFailedIfListItemMarkerNotEqualListItemText): Added.
        * fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Added.
        * fast/lists/w3-css3-list-styles-alphabetic.html: Modified to dump as text.
        * fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.
        * fast/lists/w3-css3-list-styles-numeric.html: Modified to dump as text.
          Also, fix typos in the binary list-style-type results.
        * fast/lists/w3-list-styles-expected.txt: Added.
        * fast/lists/w3-list-styles.html: Modified to dump as text.
        * platform/mac/fast/lists/alpha-boundary-values-expected.checksum: Removed.
        * platform/mac/fast/lists/alpha-boundary-values-expected.png: Removed.
        * platform/mac/fast/lists/alpha-boundary-values-expected.txt: Removed.
        * platform/mac/fast/lists/alpha-list-wrap-expected.checksum: Removed.
        * platform/mac/fast/lists/alpha-list-wrap-expected.png: Removed.
        * platform/mac/fast/lists/alpha-list-wrap-expected.txt: Removed.
        * platform/mac/fast/lists/decimal-leading-zero-expected.checksum: Removed.
        * platform/mac/fast/lists/decimal-leading-zero-expected.png: Removed.
        * platform/mac/fast/lists/decimal-leading-zero-expected.txt: Removed.
        * platform/mac/fast/lists/li-values-expected.checksum: Removed.
        * platform/mac/fast/lists/li-values-expected.png: Removed.
        * platform/mac/fast/lists/li-values-expected.txt: Removed.
        * platform/mac/fast/lists/list-style-type-dynamic-change-expected.checksum: Removed.
        * platform/mac/fast/lists/list-style-type-dynamic-change-expected.png: Removed.
        * platform/mac/fast/lists/list-style-type-dynamic-change-expected.txt: Removed.
        * platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.checksum: Removed.
        * platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.png: Removed.
        * platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Removed.
        * platform/mac/fast/lists/w3-css3-list-styles-numeric-expected.checksum: Removed.
        * platform/mac/fast/lists/w3-css3-list-styles-numeric-expected.png: Removed.
        * platform/mac/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.
        * platform/mac/fast/lists/w3-list-styles-expected.checksum: Removed.
        * platform/mac/fast/lists/w3-list-styles-expected.png: Removed.
        * platform/mac/fast/lists/w3-list-styles-expected.txt: Removed.
        * platform/win/fast/lists: Removed.
        * platform/win/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Removed.
        * platform/win/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-26  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        @page rules in media queries should be tested.
        Added tests for such rules.
        https://bugs.webkit.org/show_bug.cgi?id=42971

        * printing/page-rule-selection-expected.txt:
        * printing/page-rule-selection.html:
2010-07-26  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        @page rules in media queries should be tested.
        https://bugs.webkit.org/show_bug.cgi?id=42971

        * page/PrintContext.cpp:
        (WebCore::PrintContext::pageProperty): Fixed to properly begin
        printing. Added support for size property.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-27  Daniel Bates  <dbates@rim.com>

        Unreviewed; remove platform-specific expected results.
        https://bugs.webkit.org/show_bug.cgi?id=42803

        We no longer need the Qt an GTK platform-specific render tree dumps
        as we now dump text.

        * platform/gtk/fast/lists/alpha-boundary-values-expected.txt: Removed.
        * platform/gtk/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Removed.
        * platform/qt/fast/lists/alpha-boundary-values-expected.checksum: Removed.
        * platform/qt/fast/lists/alpha-boundary-values-expected.png: Removed.
        * platform/qt/fast/lists/alpha-boundary-values-expected.txt: Removed.
        * platform/qt/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.
        * platform/qt/fast/lists/w3-list-styles-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Ojan Vafai.

        Add FILE_SYSTEM build flag for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=42915

        * Configurations/FeatureDefines.xcconfig:
2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Ojan Vafai.

        Add FILE_SYSTEM build flag for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=42915

        * features.gypi:
2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Ojan Vafai.

        Add FILE_SYSTEM build flag for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=42915

        * Configurations/FeatureDefines.xcconfig:
2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Ojan Vafai.

        Add FILE_SYSTEM build flag for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=42915

        * win/tools/vsprops/FeatureDefines.vsprops:
        * win/tools/vsprops/FeatureDefinesCairo.vsprops:
2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Ojan Vafai.

        Add FILE_SYSTEM build flag for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=42915

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pri:
2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Ojan Vafai.

        Add FILE_SYSTEM build flag for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=42915

        * configure.ac:
2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Ojan Vafai.

        Add FILE_SYSTEM build flag for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=42915

        * Scripts/build-webkit:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-27  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed build fix.

        Add missing webkitdomdefines.h header to the sources list.

        * GNUmakefile.am: Add missing header to the sources list.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
https://bugs.webkit.org/show_bug.cgi?id=42244

Reviewed by Nikolas Zimmermann.

WebCore: 

Implementing svgAttributeChanged for SVGFEDiffuseLightingElement object.

Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html
       svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html
       svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html
       svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html
       svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html
       svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html
       svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html
       svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html

* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
* svg/SVGFEDiffuseLightingElement.h:

LayoutTests: 

* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.png: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.txt: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.txt: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.txt: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.txt: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html: Added.
* svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-in-attr.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-lighting-color-attr.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-lighting-color-css-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-in-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.js: Added.
(executeTest):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
https://bugs.webkit.org/show_bug.cgi?id=42244

Reviewed by Nikolas Zimmermann.

WebCore: 

Implementing svgAttributeChanged for SVGFEOffsetElement object.

Tests: svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html
       svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html
       svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html
       svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html
       svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html
       svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html

* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::svgAttributeChanged):
* svg/SVGFEOffsetElement.h:

LayoutTests: 

* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop-expected.png: Added.
* svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr-expected.txt: Added.
* svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html: Added.
* svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr-expected.txt: Added.
* svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html: Added.
* svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr-expected.txt: Added.
* svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html: Added.
* svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html: Added.
* svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html: Added.
* svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html: Added.
* svg/dynamic-updates/script-tests/SVGFEOffsetElement-dom-dx-attr.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEOffsetElement-dom-dy-attr.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEOffsetElement-dom-in-attr.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEOffsetElement-svgdom-dx-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEOffsetElement-svgdom-dy-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEOffsetElement-svgdom-in-prop.js: Added.
(executeTest):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-28  Andras Becsi  <abecsi@webkit.org>

        Unreviewed trivial build fix.

        [Qt] Follow the API changes after r64172.

        * UIProcess/API/qt/qwkpage.cpp:
        (QWKPage::url):
        (QWKPage::title):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Rebaseline mac-leopard specific pixel test result after the path cleanup patch.

        * platform/mac-leopard/svg/custom/svg-fonts-in-html-expected.checksum:
        * platform/mac-leopard/svg/custom/svg-fonts-in-html-expected.png:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-28  Jeremy Orlow  <jorlow@chromium.org>

        Updating Chromium test expectations to expect 8 tests to fail since
        our "test shell" doesn't implement a method required by Daniel Bates'
        http://trac.webkit.org/changeset/64186/ change.

        Not reviewed.

        * platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        WebKit shouldn't ignore resource cycles, but break them as Opera does
        https://bugs.webkit.org/show_bug.cgi?id=43031

        Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.

        We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
        node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
        to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).

        Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
        Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
        from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
        which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
        objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
        phase begins.

        This is the first chunk, which just adds the new SVGResources/SVGResourcesCache/SVGResourcesCycleSolver files, and does minor cleanups.
        It's not yet glued in and doesn't affect any tests.

        * Android.mk: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
        * CMakeLists.txt: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto. 
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/RenderInline.h: Make styleDidChange protected, RenderSVGInline wants to override it.
        * rendering/RenderSVGAllInOne.cpp: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
        * rendering/RenderSVGHiddenContainer.h:
        (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer): Make isSVGHiddenContainer() private and renderName() public.
        * rendering/RenderSVGResourceContainer.cpp: Added. Moved most methods from the header in the implementation file.
        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
        (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer):
        (WebCore::RenderSVGResourceContainer::idChanged):
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
        (WebCore::RenderSVGResourceContainer::containsCyclicReference):
        * rendering/RenderSVGResourceContainer.h: Add stubs, that SVGResourcesCache uses - a follow-up patch will add the logic.
        (WebCore::RenderSVGResourceContainer::addClient):
        (WebCore::RenderSVGResourceContainer::removeClient):
        * rendering/SVGResources.cpp: Added. Holds a list of resources applyable to a RenderObject (fill/stroke, mask/markers/clipper/filter)
        (WebCore::paintingResourceFromSVGPaint): Helper function looking up a RenderSVGResource for a SVGPaint object.
        (WebCore::registerPendingResource): Helper function that register a RenderSVGResource as pending in the SVGDocumentExtensions. 
        (WebCore::SVGResources::buildCachedResources): Build a list of resources for a RenderObject/RenderStyle pair, handles pending resources, if needed.
        (WebCore::SVGResources::invalidateClient): Helper function that calls invalidateClient() on all resources.
        (WebCore::SVGResources::resourceDestroyed): Helper function that calls invalidateClients() on a certain resource, and nulls it.
        (WebCore::SVGResources::buildSetOfResources): Helper function that stashes all resources present in the SVGResources members in a HashSet, used in SVGResourcesCycleSolver.
        (WebCore::SVGResources::resetClipper): Helper methods nulling a resource.
        (WebCore::SVGResources::resetFilter): Ditto.
        (WebCore::SVGResources::resetMarkerStart): Ditto.
        (WebCore::SVGResources::resetMarkerMid): Ditto.
        (WebCore::SVGResources::resetMarkerEnd): Ditto.
        (WebCore::SVGResources::resetMasker): Ditto.
        (WebCore::SVGResources::resetFill): Ditto.
        (WebCore::SVGResources::resetStroke): Ditto.
        (WebCore::SVGResources::dump):
        * rendering/SVGResources.h: Added.
        (WebCore::SVGResources::clipper): Accesor of the cached m_foo variable.
        (WebCore::SVGResources::filter): Ditto.
        (WebCore::SVGResources::markerStart): Ditto.
        (WebCore::SVGResources::markerMid): Ditto.
        (WebCore::SVGResources::markerEnd): Ditto.
        (WebCore::SVGResources::masker): Ditto.
        (WebCore::SVGResources::fill): Ditto.
        (WebCore::SVGResources::stroke): Ditto.
        * rendering/SVGResourcesCache.cpp: Added. Holds a HashMap<RenderObject*, SVGResources*> and utility functions that update/invalidate the cache.
        (WebCore::SVGResourcesCache::SVGResourcesCache):
        (WebCore::SVGResourcesCache::~SVGResourcesCache):
        (WebCore::SVGResourcesCache::addResourcesFromRenderObject): Build a SVGResources object for a RenderObject and adds it to the cache, then detects & breaks cycles using SVGResourcesCycleSolver.
        (WebCore::SVGResourcesCache::removeResourcesFromRenderObject): Remove a SVGResources object from the cache.
        (WebCore::resourcesCacheFromRenderObject): Helper function, retrieving a SVGResourcesCache method from a RenderObject.
        (WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Returns a SVGResources object from the cache.
        (WebCore::SVGResourcesCache::clientLayoutChanged): (static) Calls invalidateClient() on all resources that are used by the passed RenderObject.
        (WebCore::SVGResourcesCache::clientStyleChanged): (static) Updates the cache (calling removeResourceFromRenderObject/addResourcesFrom...) and invalidates resources in the ancestor chain.
        (WebCore::SVGResourcesCache::clientUpdatedFromElement): (static) Does the same, without invalidating the ancestor chain.
        (WebCore::SVGResourcesCache::clientDestroyed): (static) Calls removeResourcesFromRenderObject() on the SVGResourcesCache, for the given renderer.
        (WebCore::SVGResourcesCache::resourceDestroyed): (static) Updates all SVGResources objects in the cache, that refer to the given resource.
        * rendering/SVGResourcesCache.h: Added.
        * rendering/SVGResourcesCycleSolver.cpp: Added. Detects and breaks cyclic references, just the way Opera handles it. Break cycles as they are detected.
        (WebCore::SVGResourcesCycleSolver::SVGResourcesCycleSolver):
        (WebCore::SVGResourcesCycleSolver::~SVGResourcesCycleSolver):
        (WebCore::SVGResourcesCycleSolver::resourceContainsCycles): Operates only on the render tree
        (WebCore::targetReferenceFromResource): Helper method for chainableResourceContainsCycles().
        (WebCore::setFollowLinkForChainableResource): Ditto.
        (WebCore::SVGResourcesCycleSolver::chainableResourceContainsCycles): Handles cycles for resources that are chainable through xlink:href (filter/gradient/pattern).
        (WebCore::SVGResourcesCycleSolver::resolveCycles): Main method executing the cycle breaking logic, utilizing (chainableResource)resourceContainsCycles.
        (WebCore::SVGResourcesCycleSolver::breakCycle): Nulls a resource in the given SVGResources* object, to avoid using an invalid resource while rendering/layouting.
        * rendering/SVGResourcesCycleSolver.h: Added.
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Create SVGResourcesCache object once per SVGDocumentExtensions.
        * svg/SVGDocumentExtensions.h:
        (WebCore::SVGDocumentExtensions::resourcesCache): Expose accesor method for the SVGResourcesCache.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVGMaskElement/SVGForeignObjectElement should not inherit from SVGURIReference
        https://bugs.webkit.org/show_bug.cgi?id=43113

        Remove wrong SVGURIReference inheritance for SVGMaskElement/SVGForeignObjectElement. Old copy/paste bug.

        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::synchronizeProperty):
        * svg/SVGForeignObjectElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::parseMappedAttribute):
        (WebCore::SVGMaskElement::svgAttributeChanged):
        (WebCore::SVGMaskElement::synchronizeProperty):
        * svg/SVGMaskElement.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix layout test failure on Leopard Intel Debug slave. Remove leopard specific result after the r64186 change.

        * platform/mac-leopard/fast/lists: Removed.
        * platform/mac-leopard/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix two layout test failure on the windows slave. Remove win-xp specific results after the r64186 change.

        * platform/win-xp/fast/lists: Removed.
        * platform/win-xp/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Removed.
        * platform/win-xp/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.


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