- 27 Jan, 2010 40 commits
-
-
jocelyn.turcotte@nokia.com authored
Unreviewed build fix * WebKit.pri: Use the <name>.lib syntax for linking instead of qmake's -l<name> emulation git-svn-id: svn://svn.chromium.org/blink/trunk@53918 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eric@webkit.org authored
Reviewed by Eric Seidel. Fix a bug where dispatchDocumentElementAvailable was fired for fragment parsing on XML documents. https://bugs.webkit.org/show_bug.cgi?id=33920 * userscripts/resources: Added. * userscripts/resources/blank.xhtml: Added. * userscripts/script-not-run-for-fragments-expected.txt: Added. * userscripts/script-not-run-for-fragments.html: Added. * userscripts/script-run-at-start-expected.txt: Added. * userscripts/script-run-at-start.html: Added. 2010-01-27 Matt Perry <mpcomplete@chromium.org> Reviewed by Eric Seidel. Fix a bug where dispatchDocumentElementAvailable was fired for fragment parsing on XML documents. https://bugs.webkit.org/show_bug.cgi?id=33920 Tests: userscripts/script-not-run-for-fragments.html userscripts/script-run-at-start.html * dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::startElementNs): git-svn-id: svn://svn.chromium.org/blink/trunk@53917 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
Reviewed by Timothy Hatcher. Web Inspector: Improve SourceHTMLTokenizer so that it treats script tag well. https://bugs.webkit.org/show_bug.cgi?id=34177 * inspector/front-end/SourceHTMLTokenizer.js: (WebInspector.SourceHTMLTokenizer): (WebInspector.SourceHTMLTokenizer.prototype._isAttribute): (WebInspector.SourceHTMLTokenizer.prototype._isAttributeValue): (WebInspector.SourceHTMLTokenizer.prototype._setAttributeValue): (WebInspector.SourceHTMLTokenizer.prototype._setAttribute): (WebInspector.SourceHTMLTokenizer.prototype._stringToken): (WebInspector.SourceHTMLTokenizer.prototype.nextToken): * inspector/front-end/SourceHTMLTokenizer.re2js: git-svn-id: svn://svn.chromium.org/blink/trunk@53916 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pfeldman@chromium.org authored
Reviewed by Timothy Hatcher. Web Inspector: nuke quarantine wrappers. https://bugs.webkit.org/show_bug.cgi?id=34203 * Android.jscbindings.mk: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * bindings/js/JSBindingsAllInOne.cpp: * bindings/js/JSInspectedObjectWrapper.cpp: Removed. * bindings/js/JSInspectedObjectWrapper.h: Removed. * bindings/js/JSInspectorCallbackWrapper.cpp: Removed. * bindings/js/JSInspectorCallbackWrapper.h: Removed. * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed. * bindings/js/JSQuarantinedObjectWrapper.h: Removed. git-svn-id: svn://svn.chromium.org/blink/trunk@53915 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jocelyn.turcotte@nokia.com authored
Reviewed by Tor Arne Vestbø. * DumpRenderTree/qt/DumpRenderTree.pro: git-svn-id: svn://svn.chromium.org/blink/trunk@53914 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ap@apple.com authored
git-svn-id: svn://svn.chromium.org/blink/trunk@53913 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ap@apple.com authored
because they make SVG tests crash in release builds. git-svn-id: svn://svn.chromium.org/blink/trunk@53912 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ossy@webkit.org authored
[Qt] fast/backgrounds/animated-svg-as-background.html make fast/backgrounds/svg-as-background-5.html crash. https://bugs.webkit.org/show_bug.cgi?id=34202 * platform/qt/Skipped: fast/backgrounds/animated-svg-as-background.html skipped until fix. git-svn-id: svn://svn.chromium.org/blink/trunk@53911 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
philn@webkit.org authored
Reviewed by Eric Seidel. autobuffer value not forwarded media element to MediaPlayer https://bugs.webkit.org/show_bug.cgi?id=33889 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loadResource): Forward autobuffer value to MediaPlayer instance. * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::load): Forward autobuffer and preservesPitch values to newly created platform media player instance. git-svn-id: svn://svn.chromium.org/blink/trunk@53910 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
philn@webkit.org authored
Reviewed by Eric Seidel. [Gtk] media/video-reverse-play-duration.html fails on and off on Gtk buildbots https://bugs.webkit.org/show_bug.cgi?id=34086 Cache media duration and fix didEnd() in case of reverse playback. When EOS was reached but in case of reverse playback the position is not always 0. So to not confuse the HTMLMediaElement we synchronize position and duration values. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::duration): (WebCore::MediaPlayerPrivate::updateStates): (WebCore::MediaPlayerPrivate::didEnd): (WebCore::MediaPlayerPrivate::durationChanged): * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 2010-01-25 Philippe Normand <pnormand@igalia.com> Reviewed by Eric Seidel. [Gtk] media/video-reverse-play-duration.html fails on and off on Gtk buildbots https://bugs.webkit.org/show_bug.cgi?id=34086 * platform/gtk/Skipped: Unskip fixed test. git-svn-id: svn://svn.chromium.org/blink/trunk@53909 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ap@apple.com authored
* WebCore.xcodeproj/project.pbxproj: Actually land the change to add ContainerNodeAlgorithms.h (it's "svn resolved", not "svn revert"!). git-svn-id: svn://svn.chromium.org/blink/trunk@53908 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dbates@webkit.org authored
Unreviewed. Made a minor typo when I added the test case fast/css/button-height.html to the GTK Skipped file. In changeset 53900, I added test "fast/css/button-height.htm" to the GTK Skipped file instead of "fast/css/button-height.html". See bug #33936 for more details. * platform/gtk/Skipped: git-svn-id: svn://svn.chromium.org/blink/trunk@53907 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ossy@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=34167 * platform/qt/Skipped: - http/tests/history/redirect-301.pl - http/tests/history/redirect-302.pl - http/tests/history/redirect-303.pl - http/tests/history/redirect-307.pl git-svn-id: svn://svn.chromium.org/blink/trunk@53906 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ossy@webkit.org authored
* platform/qt/editing/pasteboard/paste-noscript-xhtml-expected.txt: updated after r53873. git-svn-id: svn://svn.chromium.org/blink/trunk@53905 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ap@apple.com authored
* win/tools/vsprops/common.vsprops: Disable warning C4180 (qualifier applied to function type has no meaning; ignored). This is a known bug - MSVC tries to compile a wrong specialization sometimes - but it's not instantiated, so it's harmless. git-svn-id: svn://svn.chromium.org/blink/trunk@53904 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ap@apple.com authored
* wtf/HashTraits.h: _msize takes void*, remove const qualifier from type. git-svn-id: svn://svn.chromium.org/blink/trunk@53903 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ap@apple.com authored
* wtf/HashTraits.h: Include malloc.h for _msize(). git-svn-id: svn://svn.chromium.org/blink/trunk@53902 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ap@apple.com authored
* wtf/HashTable.h: (WTF::HashTable::checkTableConsistencyExceptSize): Remove const from a static (empty) version of this function. git-svn-id: svn://svn.chromium.org/blink/trunk@53901 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dbates@webkit.org authored
Unreviewed. Updated expected failing results for table-percent-height.html to reflect one pixel difference between the results generated by the Qt bot and my machine. Added failing test fast/css/button-height.html to GTK Skipped file as we need to look into this. See bug #33936 for more details. * platform/gtk/Skipped: Added failing test fast/css/button-height.html. * platform/qt/fast/replaced/table-percent-height-expected.txt: Updated result. git-svn-id: svn://svn.chromium.org/blink/trunk@53900 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ap@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=34150 WebKit needs a mechanism to catch stale HashMap entries It is very difficult to catch stale pointers that are HashMap keys - since a pointer's hash is just its value, it is very unlikely that any observable problem is reproducible. This extends hash table consistency checks to check that pointers are referencing allocated memory blocks, and makes it possible to invoke the checks explicitly (it is not feasible to enable CHECK_HASHTABLE_CONSISTENCY by default, because that affects performance too much). * wtf/HashMap.h: (WTF::::checkConsistency): Call through to HashTable implementation. We can add similar calls to HashSet and HashCountedSet, but I haven't seen hard to debug problems with those yet. * wtf/HashSet.h: (WTF::::remove): The version of checkTableConsistency that's guarded by CHECK_HASHTABLE_CONSISTENCY is now called internalCheckTableConsistency(). * wtf/HashTable.h: (WTF::HashTable::internalCheckTableConsistency): (WTF::HashTable::internalCheckTableConsistencyExceptSize): (WTF::HashTable::checkTableConsistencyExceptSize): Expose checkTableConsistency() even if CHECK_HASHTABLE_CONSISTENCY is off. (WTF::::add): Updated for checkTableConsistency renaming. (WTF::::addPassingHashCode): Ditto. (WTF::::removeAndInvalidate): Ditto. (WTF::::remove): Ditto. (WTF::::rehash): Ditto. (WTF::::checkTableConsistency): The assertion for !shouldExpand() was not correct - this function returns true for tables with m_table == 0. (WTF::::checkTableConsistencyExceptSize): Call checkValueConsistency for key. Potentially, we could do the same for values. * wtf/HashTraits.h: (WTF::GenericHashTraits::checkValueConsistency): An empty function that can be overridden to add checks. Currently, the only override is for pointer hashes. * wtf/RefPtrHashMap.h: (WTF::::remove): Updated for checkTableConsistency renaming. git-svn-id: svn://svn.chromium.org/blink/trunk@53899 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eric@webkit.org authored
Reviewed by Darin Fisher. Add KeyboardTest to WebKit API tests https://bugs.webkit.org/show_bug.cgi?id=34178 * WebKit.gyp: * tests/KeyboardTest.cpp: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@53898 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dbates@webkit.org authored
Reviewed by Tor Arne Vestbø. https://bugs.webkit.org/show_bug.cgi?id=29564 [Qt] Fixes an issue where the height of <button>- and <input type="button">- elements are fixed to the height of the button label font plus padding. That is, the CSS height property is being ignored. Instead, we should honor the user-specified height, if appropriate for the platform and context. Notice, the Mac ports do not honor the height for <input type="button"> elements unless a border and/or background is also specified. Test: fast/css/button-height.html * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::adjustButtonStyle): 2010-01-26 Daniel Bates <dbates@webkit.org> Reviewed by Tor Arne Vestbø. https://bugs.webkit.org/show_bug.cgi?id=29564 Tests that the user-specified height for <button>- and <input type="button">- elements are honored, if appropriate for the platform and context. * fast/css/button-height-expected.txt: Added. * fast/css/button-height.html: Added. * fast/replaced/table-percent-height-expected.txt: Added notice about failing tests in Windows ports. * fast/replaced/table-percent-height.html: Ditto. * platform/qt/fast/replaced/table-percent-height-expected.txt: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@53897 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dbates@webkit.org authored
Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=34070 Moves the try/catch for OSError exceptions in Executive.run_command to Credentials.read_credentials() so that the unit test webkitpy.scm_unittest.SCMClassTests.test_error_handlers can assert that Executive.run_command throws an OSError exception. * Scripts/webkitpy/credentials.py: * Scripts/webkitpy/executive.py: Moved try/catch for OSError to method Credentials.read_credentials(). * Scripts/webkitpy/executive_unittest.py: Removed tests that no longer apply: test_run_command_with_bad_command_check_return_code and test_run_command_with_bad_command_check_calls_error_handler. Added new test to assert that run_command throws OSError exceptions. git-svn-id: svn://svn.chromium.org/blink/trunk@53896 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eric@webkit.org authored
Reviewed by Kenneth Rohde Christiansen. [Qt] DRT WebHistory support https://bugs.webkit.org/show_bug.cgi?id=34167 * platform/qt/Skipped: 2010-01-26 Diego Gonzalez <diego.gonzalez@openbossa.org> Reviewed by Kenneth Rohde Christiansen. [Qt] DRT WebHistory support https://bugs.webkit.org/show_bug.cgi?id=34167 * DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::reset): (LayoutTestController::webHistoryItemCount): (LayoutTestController::keepWebHistory): * DumpRenderTree/qt/LayoutTestControllerQt.h: git-svn-id: svn://svn.chromium.org/blink/trunk@53895 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eric@webkit.org authored
Reviewed by Timothy Hatcher. Enable the Audits panel via a shortcut (Cmd/Ctrl+Alt+A) https://bugs.webkit.org/show_bug.cgi?id=34158 * inspector/front-end/inspector.js: (WebInspector.documentKeyDown): git-svn-id: svn://svn.chromium.org/blink/trunk@53894 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
tkent@chromium.org authored
Reviewed by Darin Adler. HTMLInputElement::valueAsNumber support except type=datetime-local. https://bugs.webkit.org/show_bug.cgi?id=32696 input-valueasnumber-datetime-expected.txt and input-valueasnumber-time-expected.txt have FAIL lines because they test unimplemented features. * fast/forms/input-valueasnumber-date-expected.txt: Added. * fast/forms/input-valueasnumber-date.html: Added. * fast/forms/input-valueasnumber-datetime-expected.txt: Added. * fast/forms/input-valueasnumber-datetime.html: Added. * fast/forms/input-valueasnumber-month-expected.txt: Added. * fast/forms/input-valueasnumber-month.html: Added. * fast/forms/input-valueasnumber-number-expected.txt: Added. * fast/forms/input-valueasnumber-number.html: Added. * fast/forms/input-valueasnumber-range-expected.txt: Added. * fast/forms/input-valueasnumber-range.html: Added. * fast/forms/input-valueasnumber-time-expected.txt: Added. * fast/forms/input-valueasnumber-time.html: Added. * fast/forms/input-valueasnumber-unsupported-expected.txt: Added. * fast/forms/input-valueasnumber-unsupported.html: Added. * fast/forms/input-valueasnumber-week-expected.txt: Added. * fast/forms/input-valueasnumber-week.html: Added. * fast/forms/script-tests/input-valueasnumber-date.js: Added. * fast/forms/script-tests/input-valueasnumber-datetime.js: Added. * fast/forms/script-tests/input-valueasnumber-month.js: Added. * fast/forms/script-tests/input-valueasnumber-number.js: Added. * fast/forms/script-tests/input-valueasnumber-range.js: Added. * fast/forms/script-tests/input-valueasnumber-time.js: Added. * fast/forms/script-tests/input-valueasnumber-unsupported.js: Added. * fast/forms/script-tests/input-valueasnumber-week.js: Added. 2010-01-26 Kent Tamura <tkent@chromium.org> Reviewed by Darin Adler. HTMLInputElement::valueAsNumber support except type=datetime-local. https://bugs.webkit.org/show_bug.cgi?id=32696 Tests: fast/forms/input-valueasnumber-date.html fast/forms/input-valueasnumber-datetime.html fast/forms/input-valueasnumber-month.html fast/forms/input-valueasnumber-number.html fast/forms/input-valueasnumber-range.html fast/forms/input-valueasnumber-time.html fast/forms/input-valueasnumber-unsupported.html fast/forms/input-valueasnumber-week.html * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::valueAsNumber): According to the specification, we should return NaN for invalid values. (WebCore::HTMLInputElement::setValueAsNumber): According to the specification, throws NOT_SUPPORTED_ERR for Infinitiy or NaN, and throws INVALID_STATE_ERR for unsupported types. (WebCore::HTMLInputElement::formStringToDouble): According to the step 14 of Real Number in the specification, we should round -0 to 0. * html/HTMLInputElement.h: Declare valueAsNumber() and setValueAsNumber(). * html/HTMLInputElement.idl: Add valueAsNumber. git-svn-id: svn://svn.chromium.org/blink/trunk@53893 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
hyatt@apple.com authored
Make sure there is a lock on serialize in SerializedScriptValueData, since type errors can be created when exceptions are thrown. Reviewed by Oliver Hunt. * bindings/js/SerializedScriptValue.cpp: (WebCore::SerializedScriptValueData::serialize): git-svn-id: svn://svn.chromium.org/blink/trunk@53892 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
eric@webkit.org authored
Reviewed by Maciej Stachowiak. Opcode.h use const void* for Opcode cause error #1211 for RVCT compiler https://bugs.webkit.org/show_bug.cgi?id=33902 * bytecode/Opcode.h: git-svn-id: svn://svn.chromium.org/blink/trunk@53891 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
tkent@chromium.org authored
Reviewed by Eric Seidel. Add Date type support for Objective-C binding. https://bugs.webkit.org/show_bug.cgi?id=32810 The Date type in IDLs is mapped to NSTimeInterval in Objective-C. * bindings/objc/DOMInternal.h: Add kit() and core() for NSTimeInterval. * bindings/scripts/CodeGenerator.pm: Make Date a primitive type. * bindings/scripts/CodeGeneratorJS.pm: Move some code for the CodeGeenrator.pm change. * bindings/scripts/CodeGeneratorObjC.pm: * bindings/scripts/CodeGeneratorV8.pm: Move some code for the CodeGeenrator.pm change. * html/HTMLInputElement.idl: Remove Objective-C exclusion for valueAsDate. git-svn-id: svn://svn.chromium.org/blink/trunk@53890 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
tkent@chromium.org authored
Reviewed by Eric Seidel. [Win] Add modifiers parameter support to Windows DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=34068 Remove listbox-deselect-scroll.html and listbox-selectio-2.html from Skipped. We improved their portability and Windows DRT now havs modifiers parameter of eventSender.mouseDown() and eventSender.mouseUp(). * platform/win/Skipped: 2010-01-26 Kent Tamura <tkent@chromium.org> Reviewed by Eric Seidel. [Win] Add modifiers parameter support to Windows DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=34068 Add support for functional name modifiers; "addSelectionKey" and "rangeSelectionKey", and modifiers parameter to eventSender.mouseDown() and eventSender.mouseUp(). This change is similar to r53498 for Mac. * DumpRenderTree/win/EventSender.cpp: (buildModifierFlags): New function to set MK_CONTROL or MK_SHIFT to WPARAM. (mouseDownCallback): Call buidlModifiersFlags(). (mouseUpCallback): ditto. (keyDownCallback): Add support for "addSelectionkey" and "rangeSelectionKey". git-svn-id: svn://svn.chromium.org/blink/trunk@53889 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
cjerdonek@webkit.org authored
git-svn-id: svn://svn.chromium.org/blink/trunk@53888 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
cjerdonek@webkit.org authored
Reviewed by Eric Seidel. The Python autoinstall cache directory now only gets created in the directory containing autoinstall.py. https://bugs.webkit.org/show_bug.cgi?id=33365 * Scripts/webkitpy/autoinstall.py: - Also added a README file to the cache directory saying where it came from. git-svn-id: svn://svn.chromium.org/blink/trunk@53887 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
dimich@chromium.org authored
* rendering/RenderTreeAsText.cpp: (WebCore::write): Use UNUSED_PARAM macros to prevent compiler warning on targets without accelerated compositing. git-svn-id: svn://svn.chromium.org/blink/trunk@53886 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rolandsteiner@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=34156 Reviewed by Darin Adler. No new tests (minor code change). * editing/htmlediting.cpp: (WebCore::isMailBlockquote): git-svn-id: svn://svn.chromium.org/blink/trunk@53885 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
pkasting@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=33747 Reviewed by David Levin. No tests since Safari doesn't use these decoders and there's already a broken-image test in the tree. * platform/graphics/ImageSource.cpp: (WebCore::ImageSource::createFrameAtIndex): No need to check isSizeAvailable() since size() is now always safe. * platform/image-decoders/ImageDecoder.h: (WebCore::ImageDecoder::size): Don't assert that the bitmap is valid; we don't need a complete successful decode to be able to give info about the size. * platform/image-decoders/qt/RGBA32BufferQt.cpp: (WebCore::RGBA32Buffer::setSize): Don't set the frame to complete on failure, since it's not complete, but empty, and callers can better handle empty frames. * platform/image-decoders/skia/ImageDecoderSkia.cpp: (WebCore::RGBA32Buffer::setSize): Don't set the frame to complete on failure, since it's not complete, but empty, and callers can better handle empty frames. git-svn-id: svn://svn.chromium.org/blink/trunk@53884 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
zimmermann@webkit.org authored
Not reviewed. Synchronize Qt/Gtk build systems with Mac/Win, should fix Qt compilation. Gtk results still pending. * GNUmakefile.am: * WebCore.pro: git-svn-id: svn://svn.chromium.org/blink/trunk@53883 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
cjerdonek@webkit.org authored
Reviewed by Eric Seidel. Moved the check-webkit-style processors into a new webkitpy/style/processors directory. https://bugs.webkit.org/show_bug.cgi?id=34060 * Scripts/webkitpy/style/checker.py: * Scripts/webkitpy/style/checker_unittest.py: * Scripts/webkitpy/style/cpp_style.py: Removed. * Scripts/webkitpy/style/cpp_style_unittest.py: Removed. * Scripts/webkitpy/style/processors: Added. * Scripts/webkitpy/style/processors/__init__.py: Added. * Scripts/webkitpy/style/processors/cpp.py: Copied from WebKitTools/Scripts/webkitpy/style/cpp_style.py. * Scripts/webkitpy/style/processors/cpp_unittest.py: Copied from WebKitTools/Scripts/webkitpy/style/cpp_style_unittest.py. * Scripts/webkitpy/style/processors/text.py: Copied from WebKitTools/Scripts/webkitpy/style/text_style.py. * Scripts/webkitpy/style/processors/text_unittest.py: Copied from WebKitTools/Scripts/webkitpy/style/text_style_unittest.py. * Scripts/webkitpy/style/text_style.py: Removed. * Scripts/webkitpy/style/text_style_unittest.py: Removed. * Scripts/webkitpy/style/unittests.py: git-svn-id: svn://svn.chromium.org/blink/trunk@53882 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
zimmermann@webkit.org authored
Not reviewed. Attempt to fix V8 - change SetterMethod function signatures, just like it has been done for JSSVGPODTypeWrapper. * bindings/v8/V8SVGPODTypeWrapper.h: git-svn-id: svn://svn.chromium.org/blink/trunk@53881 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
zimmermann@webkit.org authored
Not reviewd. Revert Base.xcconfig changes, was not meant to be committed. * Configurations/Base.xcconfig: git-svn-id: svn://svn.chromium.org/blink/trunk@53880 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
zimmermann@webkit.org authored
Reviewed by Oliver Hunt. SVG consumes way too much memory to store animated properties in the DOM https://bugs.webkit.org/show_bug.cgi?id=34188 Shrink WebCore library size to 75% (measured in debug builds) and reduce SVG memory usage to <25%. Adding Oliver testcase as manual-tests/svg-node-count-vs-scroll.xhtml, which creates an arbitary number of rects (50.000 <rect> elements added to the DOM by default) - memory usage down to 111M from 503M (RPRVT). The SVG DOM side is almost fine, still some optimizations possible, that will be implemented soon - next target is the SVG render tree, there are plenty of possibilities to reduce memory usage there. Redesign the way we store animated properties in the individual SVG*Element files. Short story: In order to support SVG DOM through the bindings (e.g. JS) we need to associate SVGAnimatedProperty objects with the SVGElement object that created it - we used to store this pointer directly in the SVGAnimatedProperty. This means, every SVGAnimatedProperty stored in a SVGRectElement, stored a pointer to the SVGRectElement, resulting in excessive memory usage. This is now properly implemented, without wasting tons of memory. Unfortunately this requires touching all SVG*Element files. Detailed list of changes: - Remove template bloat by not specializing class templates for each attributeName/tagName combination. Instead SVGAnimatedProperty is a non-specialized template class now, only depending on the AnimatedType (ie. SVGLength for SVGAnimatedLength) -> This heavily reduces the generated code, thus shrinking WebCore size. I hope we can build windows again without SVGAllInOne.cpp - Remove "exportStrings" / "exportString" handling from make_names.pl - SVG defined string literals for each QualifiedName, in order to use template specialization based on "const char*" parameters. All that bloat is gone, so there's no need for it anymore. - Redesign SVGAnimatedProperty so it does not need any back-pointers to the SVGElement that created it - Don't actually store the XML DOM attribute name associated with a SVG DOM property in SVGAnimatedProperty, move the associatedAttributeName() function inside the macro declaration and just return the passed macro parameter DOMAttribute there, storing is inefficient and useless. - Remove SynchronizablePropertyController, which was living in SVGElement as member variable, keeping a HashMap<AttributeName, SVGAnimatedProperty>. It was needed before to lookup a SVGAnimatedProperty for a XML DOM attribute, in order to synchronize SVG <-> XML dom properties/attributes. Instead just add a "synchronizeProperty(const QualifiedName&)" method to all SVG*Element classes. As each SVG*Element class knows about its animated properties it can just ask them to synchronize themselves - no need for any dynamic lookups anymore. - Remove SynchronizableTypeWrapper which added more complexity for the sake of SVG <-> XML DOM synchronization, all replaced by synchronizeProperty. - Pass around any POD objects as const references, instead of copying them for no reason. - Clean up SVGAnimatedProperty, splitting up into SVGAnimatedProperty/PropertySynchronizer/PropertyTraits. - Remove baseValue/setBaseValue code from SVGDocumentExtensions, not needed anymore. ... and tons of changes to all SVG*Element classes, adapting to the new way of handling animated properties. * GNUmakefile.am: Remove Synchronizable* from build, add new SVGAnimatedPropertySynchronizer/Traits files * WebCore.gypi: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSSVGPODTypeWrapper.h: Change synchronization callback signatures, as we pass around const-references now. * dom/Element.cpp: Let updateAnimatedSVGAttribute take a QualifiedName instead of pure Strings. (WebCore::Element::getAttribute): (WebCore::Element::hasAttributes): * dom/Element.h: (WebCore::Element::updateAnimatedSVGAttribute): (WebCore::Element::attributes): * dom/make_names.pl: Remove SVG specific "exportString" / "exportStrings" functionality, see above. * html/HTMLAttributeNames.in: Remove "exportString" tag from "className" attribute. * manual-tests/svg-node-count-vs-scroll.xhtml: Added. Can be used to verify memory consumption with a lot of DOM objects. * mathml/mathattrs.in: MathML doesn't need "exportStrings" - remove it. * mathml/mathtags.in: Ditto. * svg/SVGAElement.cpp: (WebCore::SVGAElement::SVGAElement): (WebCore::SVGAElement::synchronizeProperty): * svg/SVGAElement.h: * svg/SVGAllInOne.cpp: Remove SynchronizablePropertyController.cpp * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::SVGAltGlyphElement): (WebCore::SVGAltGlyphElement::synchronizeProperty): * svg/SVGAltGlyphElement.h: * svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedProperty.h: Rewritten, see above for details. (WebCore::SVGAnimatedPropertyTearOff::create): (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): (WebCore::SVGAnimatedPropertyTearOff::baseVal): (WebCore::SVGAnimatedPropertyTearOff::animVal): (WebCore::SVGAnimatedPropertyTearOff::associatedAttributeName): (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff): (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): (WebCore::SVGAnimatedProperty::value): (WebCore::SVGAnimatedProperty::baseValue): (WebCore::SVGAnimatedProperty::setValue): (WebCore::SVGAnimatedProperty::setBaseValue): (WebCore::SVGAnimatedProperty::shouldSynchronize): (WebCore::SVGAnimatedProperty::setShouldSynchronize): * svg/SVGAnimatedPropertySynchronizer.h: Added. (WebCore::): * svg/SVGAnimatedPropertyTraits.h: Added. (WebCore::): * svg/SVGAnimatedTemplate.h: Move SVGAnimatedPropertyTraits into its own file. (WebCore::SVGAnimatedTemplate::forgetWrapper): (WebCore::lookupOrCreateWrapper): * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::synchronizeProperty): * svg/SVGAnimationElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::SVGCircleElement): (WebCore::SVGCircleElement::synchronizeProperty): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::SVGClipPathElement): (WebCore::SVGClipPathElement::synchronizeProperty): * svg/SVGClipPathElement.h: * svg/SVGComponentTransferFunctionElement.cpp: (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): (WebCore::SVGComponentTransferFunctionElement::synchronizeProperty): * svg/SVGComponentTransferFunctionElement.h: * svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::SVGCursorElement): (WebCore::SVGCursorElement::synchronizeProperty): * svg/SVGCursorElement.h: * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::SVGDefsElement): (WebCore::SVGDefsElement::synchronizeProperty): * svg/SVGDefsElement.h: * svg/SVGDocumentExtensions.h: * svg/SVGElement.cpp: Adapt to synchronization changes: use synchronizeProperty() call, instead of SynchronizablePropertyController. (WebCore::SVGElement::updateAnimatedSVGAttribute): * svg/SVGElement.h: Don't store SynchronizablePropertyController anymore, it's gone. (WebCore::SVGElement::synchronizeProperty): (WebCore::SVGElement::setSynchronizedSVGAttributes): * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::SVGEllipseElement): (WebCore::SVGEllipseElement::synchronizeProperty): * svg/SVGEllipseElement.h: * svg/SVGExternalResourcesRequired.cpp: * svg/SVGExternalResourcesRequired.h: * svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::SVGFEBlendElement): (WebCore::SVGFEBlendElement::synchronizeProperty): * svg/SVGFEBlendElement.h: * svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): (WebCore::SVGFEColorMatrixElement::synchronizeProperty): * svg/SVGFEColorMatrixElement.h: * svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement): (WebCore::SVGFEComponentTransferElement::synchronizeProperty): * svg/SVGFEComponentTransferElement.h: * svg/SVGFECompositeElement.cpp: (WebCore::SVGFECompositeElement::SVGFECompositeElement): (WebCore::SVGFECompositeElement::parseMappedAttribute): (WebCore::SVGFECompositeElement::synchronizeProperty): * svg/SVGFECompositeElement.h: * svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement): (WebCore::SVGFEDiffuseLightingElement::synchronizeProperty): * svg/SVGFEDiffuseLightingElement.h: * svg/SVGFEDisplacementMapElement.cpp: (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): (WebCore::SVGFEDisplacementMapElement::synchronizeProperty): * svg/SVGFEDisplacementMapElement.h: * svg/SVGFEGaussianBlurElement.cpp: (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement): (WebCore::SVGFEGaussianBlurElement::synchronizeProperty): * svg/SVGFEGaussianBlurElement.h: * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement): (WebCore::SVGFEImageElement::synchronizeProperty): * svg/SVGFEImageElement.h: * svg/SVGFELightElement.cpp: (WebCore::SVGFELightElement::SVGFELightElement): (WebCore::SVGFELightElement::synchronizeProperty): * svg/SVGFELightElement.h: * svg/SVGFEMergeNodeElement.cpp: (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement): (WebCore::SVGFEMergeNodeElement::synchronizeProperty): * svg/SVGFEMergeNodeElement.h: * svg/SVGFEMorphologyElement.cpp: (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement): (WebCore::SVGFEMorphologyElement::synchronizeProperty): * svg/SVGFEMorphologyElement.h: * svg/SVGFEOffsetElement.cpp: (WebCore::SVGFEOffsetElement::SVGFEOffsetElement): (WebCore::SVGFEOffsetElement::synchronizeProperty): * svg/SVGFEOffsetElement.h: * svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement): (WebCore::SVGFESpecularLightingElement::synchronizeProperty): * svg/SVGFESpecularLightingElement.h: * svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::SVGFETileElement): (WebCore::SVGFETileElement::synchronizeProperty): * svg/SVGFETileElement.h: * svg/SVGFETurbulenceElement.cpp: (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement): (WebCore::SVGFETurbulenceElement::synchronizeProperty): * svg/SVGFETurbulenceElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::SVGFilterElement): (WebCore::SVGFilterElement::synchronizeProperty): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes): (WebCore::SVGFilterPrimitiveStandardAttributes::synchronizeProperty): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFitToViewBox.cpp: * svg/SVGFitToViewBox.h: * svg/SVGFontElement.cpp: (WebCore::SVGFontElement::SVGFontElement): (WebCore::SVGFontElement::synchronizeProperty): * svg/SVGFontElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): (WebCore::SVGForeignObjectElement::synchronizeProperty): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::SVGGElement): (WebCore::SVGGElement::synchronizeProperty): * svg/SVGGElement.h: * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::synchronizeProperty): * svg/SVGGradientElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::SVGImageElement): (WebCore::SVGImageElement::synchronizeProperty): * svg/SVGImageElement.h: * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::SVGLineElement): (WebCore::SVGLineElement::synchronizeProperty): * svg/SVGLineElement.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): (WebCore::SVGLinearGradientElement::synchronizeProperty): * svg/SVGLinearGradientElement.h: * svg/SVGList.h: Adapt to const-reference changes. (WebCore::SVGPODListItem::setValue): * svg/SVGMPathElement.cpp: (WebCore::SVGMPathElement::SVGMPathElement): (WebCore::SVGMPathElement::synchronizeProperty): * svg/SVGMPathElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::SVGMarkerElement): (WebCore::SVGMarkerElement::synchronizeProperty): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::SVGMaskElement): (WebCore::SVGMaskElement::synchronizeProperty): * svg/SVGMaskElement.h: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::SVGPathElement): (WebCore::SVGPathElement::synchronizeProperty): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::synchronizeProperty): * svg/SVGPatternElement.h: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::SVGPolyElement): (WebCore::SVGPolyElement::svgAttributeChanged): (WebCore::SVGPolyElement::synchronizeProperty): * svg/SVGPolyElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): (WebCore::SVGRadialGradientElement::synchronizeProperty): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::SVGRectElement): (WebCore::SVGRectElement::synchronizeProperty): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::synchronizeProperty): * svg/SVGSVGElement.h: * svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::SVGScriptElement): (WebCore::SVGScriptElement::synchronizeProperty): * svg/SVGScriptElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::SVGStopElement): (WebCore::SVGStopElement::synchronizeProperty): * svg/SVGStopElement.h: * svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::SVGStyledElement): (WebCore::SVGStyledElement::parseMappedAttribute): (WebCore::SVGStyledElement::synchronizeProperty): * svg/SVGStyledElement.h: * svg/SVGStyledTransformableElement.cpp: (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): (WebCore::SVGStyledTransformableElement::synchronizeProperty): * svg/SVGStyledTransformableElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::SVGSwitchElement): (WebCore::SVGSwitchElement::synchronizeProperty): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::SVGSymbolElement): (WebCore::SVGSymbolElement::synchronizeProperty): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::SVGTRefElement): (WebCore::SVGTRefElement::synchronizeProperty): * svg/SVGTRefElement.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::SVGTextContentElement): (WebCore::SVGTextContentElement::synchronizeProperty): * svg/SVGTextContentElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::SVGTextElement): (WebCore::SVGTextElement::synchronizeProperty): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::SVGTextPathElement): (WebCore::SVGTextPathElement::synchronizeProperty): * svg/SVGTextPathElement.h: * svg/SVGTextPositioningElement.cpp: (WebCore::SVGTextPositioningElement::SVGTextPositioningElement): (WebCore::SVGTextPositioningElement::synchronizeProperty): * svg/SVGTextPositioningElement.h: * svg/SVGURIReference.cpp: * svg/SVGURIReference.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::synchronizeProperty): * svg/SVGUseElement.h: * svg/SVGViewElement.cpp: (WebCore::SVGViewElement::SVGViewElement): (WebCore::SVGViewElement::synchronizeProperty): * svg/SVGViewElement.h: * svg/SVGViewSpec.cpp: (WebCore::SVGViewSpec::SVGViewSpec): * svg/SVGViewSpec.h: (WebCore::SVGViewSpec::contextElement): * svg/SynchronizablePropertyController.cpp: Removed. * svg/SynchronizablePropertyController.h: Removed. * svg/SynchronizableTypeWrapper.h: Removed. * svg/svgattrs.in: Remove "exportStrings" tag. * svg/svgtags.in: Ditto. * svg/xlinkattrs.in: git-svn-id: svn://svn.chromium.org/blink/trunk@53879 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-