1. 03 Dec, 2010 2 commits
  2. 02 Dec, 2010 1 commit
    • apavlov@chromium.org's avatar
      2010-12-01 Alexander Pavlov <apavlov@chromium.org> · 0c63b63d
      apavlov@chromium.org authored
              Reviewed by Yury Semikhatsky.
      
              Web Inspector: Remove obsolete CSS backend API from InspectorDOMAgent
              https://bugs.webkit.org/show_bug.cgi?id=50318
      
              WebCore:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.order:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * inspector/Inspector.idl:
              * inspector/InspectorCSSAgent.h:
              * inspector/InspectorCSSStore.cpp: Removed.
              * inspector/InspectorCSSStore.h: Removed.
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::InspectorController):
              (WebCore::InspectorController::connectFrontend):
              (WebCore::InspectorController::didCommitLoad):
              * inspector/InspectorController.h:
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::InspectorDOMAgent):
              (WebCore::InspectorDOMAgent::unbind):
              * inspector/InspectorDOMAgent.h:
              (WebCore::InspectorDOMAgent::create):
      
              LayoutTests:
              * inspector/styles-iframe.html:
              * inspector/styles-source-lines.html:
              * inspector/styles-source-offsets-expected.txt:
              * inspector/styles-source-offsets.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c63b63d
  3. 01 Dec, 2010 1 commit
  4. 30 Nov, 2010 2 commits
  5. 24 Nov, 2010 2 commits
    • jianli@chromium.org's avatar
      Implement DataView interface from Typed Array specification · 3cbb559a
      jianli@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=46541
      
      Reviewed by Kenneth Russell.
      
      WebCore:
      
      Test: fast/canvas/webgl/data-view-test.html
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.am:
      * WebCore.gypi:
      * WebCore.pri:
      * WebCore.pro:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/generic/RuntimeEnabledFeatures.h:
      (WebCore::RuntimeEnabledFeatures::dataViewEnabled):
      * bindings/js/JSArrayBufferViewHelper.h:
      (WebCore::constructArrayBufferViewWithArrayBufferArgument):
      (WebCore::constructArrayBufferView):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::dataView):
      * bindings/js/JSDataViewCustom.cpp: Added.
      * bindings/js/JSFloat32ArrayCustom.cpp:
      (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
      * bindings/js/JSInt16ArrayCustom.cpp:
      (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
      * bindings/js/JSInt32ArrayCustom.cpp:
      (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
      * bindings/js/JSInt8ArrayCustom.cpp:
      (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
      * bindings/js/JSUint16ArrayCustom.cpp:
      (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
      * bindings/js/JSUint32ArrayCustom.cpp:
      (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
      * bindings/js/JSUint8ArrayCustom.cpp:
      (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
      * bindings/v8/custom/V8ArrayBufferViewCustom.h:
      (WebCore::constructWebGLArrayWithArrayBufferArgument):
      (WebCore::constructWebGLArray):
      * bindings/v8/custom/V8DataViewCustom.cpp: Added.
      * html/canvas/ArrayBufferView.h:
      (WebCore::ArrayBufferView::isDataView):
      * html/canvas/DataView.cpp: Added.
      * html/canvas/DataView.h: Added.
      * html/canvas/DataView.idl: Added.
      * page/DOMWindow.idl:
      
      LayoutTests:
      
      Add a new test for testing DataView interface. Also update some tests
      to exclude DataView property from being tested because it is not
      exposed to all platforms.
      
      * fast/canvas/webgl/data-view-test-expected.txt: Added.
      * fast/canvas/webgl/data-view-test.html: Added.
      * fast/dom/Window/script-tests/window-property-descriptors.js:
      * fast/dom/Window/window-properties.html:
      * fast/dom/script-tests/prototype-inheritance-2.js:
      (constructorNamesForWindow):
      * fast/dom/script-tests/prototype-inheritance.js:
      * fast/js/script-tests/global-constructors.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3cbb559a
    • commit-queue@webkit.org's avatar
      2010-11-24 Eric Uhrhane <ericu@chromium.org> · 61c3288f
      commit-queue@webkit.org authored
              Reviewed by David Levin.
      
              Implement FileWriterSync
              https://bugs.webkit.org/show_bug.cgi?id=49939
      
              Tests to follow in a separate CL, once the test framework in 47680 goes in.
      
              Build file changes to add FileWriterBase and FileWriterBaseCallback.
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
      
              FileWriterSync doesn't turn out to need to be an ActiveDOMObject.
              * bindings/scripts/CodeGeneratorV8.pm:
      
              Added new AsyncFileWriter::waitForOperationToComplete to enable
              synchronous calls.
              * fileapi/AsyncFileWriter.h:
      
              Added a way to get a FileSystemSync.
              * fileapi/DOMFileSystemSync.cpp:
              * fileapi/FileEntrySync.cpp:
              * fileapi/FileEntrySync.h:
              * fileapi/FileEntrySync.idl:
      
              Added an error code for OK, rather than just having 0 everywhere.
              * fileapi/FileError.h:
      
              Turned FileWriterCallback into FileWriterBaseCallback.
              * fileapi/FileSystemCallbacks.cpp:
              * fileapi/FileSystemCallbacks.h:
      
              Refactored out a common base class, FileWriterBase, for FileWriter and
              FileWriterSync.
              * fileapi/FileWriter.cpp:
              * fileapi/FileWriter.h:
              * fileapi/FileWriterBase.cpp: Added.
              * fileapi/FileWriterBase.h: Added.
              * fileapi/FileWriterBaseCallback.h: Added.
              * fileapi/FileWriterSync.cpp:
              * fileapi/FileWriterSync.h:
      
              Small tweaks to deal with the base class refactoring.
              * fileapi/DOMFileSystem.cpp:
              * fileapi/DOMFileSystemSync.h:
      
              Removed "CallWith=ScriptExecutionContext", as FileWriterSync doesn't actually need it.
              * fileapi/FileWriterSync.idl:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72715 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      61c3288f
  6. 23 Nov, 2010 2 commits
    • satish@chromium.org's avatar
      2010-11-18 Satish Sampath <satish@chromium.org> · a739a241
      satish@chromium.org authored
              Reviewed by Jeremy Orlow.
      
              For speech input event, send an event object containing all the recognition results and metadata.
              https://bugs.webkit.org/show_bug.cgi?id=49736
      
              * fast/speech/input-onspeechchange-event-expected.txt: Added.
              * fast/speech/input-onspeechchange-event.html: New test to check multiple results.
              * fast/speech/input-text-language-tag.html: Updated with new method signature.
              * fast/speech/input-text-speechbutton.html: Ditto.
              * fast/speech/speech-button-ignore-generated-events.html: Ditto.
      2010-11-18  Satish Sampath  <satish@chromium.org>
      
              Reviewed by Jeremy Orlow.
      
              For speech input event, send an event object containing all the recognition results and metadata.
              https://bugs.webkit.org/show_bug.cgi?id=49736
      
              Currently the speech input event 'onwebkitspeechchange' receives no parameters. WebCore already
              has the full list of recognition results and populates only the top result into the input field
              automatically. In this patch we pass a SpeechInputEvent object to the event handler, and the JS
              code can access the full list of results via "event.results.length", "results[i].utterance" and
              "results[i].confidence". Also updated mock object with appropriate methods to test multiple results.
      
              Test: fast/speech/input-onspeechchange-event.html
      
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pri:
              * WebCore.pro:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSEventCustom.cpp:
              (WebCore::toJS): Added new event
              * bindings/v8/custom/V8EventCustom.cpp:
              (WebCore::toV8): Added new event
              * dom/Event.cpp:
              (WebCore::Event::isSpeechInputEvent):
              * dom/Event.h:
              * html/HTMLInputElement.cpp:
              * html/HTMLInputElement.h:
              * page/SpeechInputEvent.h: New file implementing SpeechInputEvent.idl
              (WebCore::SpeechInputEvent::~SpeechInputEvent):
              (WebCore::SpeechInputEvent::create):
              (WebCore::SpeechInputEvent::isSpeechInputEvent):
              (WebCore::SpeechInputEvent::results):
              (WebCore::SpeechInputEvent::SpeechInputEvent):
              * page/SpeechInputEvent.idl: New file defining SpeechInputEvent object
              * page/SpeechInputListener.h:
              * page/SpeechInputResult.cpp:
              (WebCore::SpeechInputResult::create):
              * page/SpeechInputResult.h:
              * page/SpeechInputResult.idl: New file defining a single SpeechInputResult object
              * page/SpeechInputResultList.h: New file implementing SpeechInputResultList.idl
              (WebCore::SpeechInputResultList::create):
              (WebCore::SpeechInputResultList::length):
              (WebCore::SpeechInputResultList::item):
              (WebCore::SpeechInputResultList::SpeechInputResultList):
              * page/SpeechInputResultList.idl: New file defining a list of SpeechInputResult objects
              * platform/mock/SpeechInputClientMock.cpp:
              (WebCore::SpeechInputClientMock::addRecognitionResult): Renamed method and added one parameter.
              (WebCore::SpeechInputClientMock::clearResults):
              (WebCore::SpeechInputClientMock::timerFired):
              * platform/mock/SpeechInputClientMock.h:
              * rendering/TextControlInnerElements.cpp:
              (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Pass new event object to handler.
      2010-11-18  Satish Sampath  <satish@chromium.org>
      
              Reviewed by Jeremy Orlow.
      
              For speech input event, send an event object containing all the recognition results and metadata.
              https://bugs.webkit.org/show_bug.cgi?id=49736
      
              Updated mock object's method to new signature.
      
              * public/WebSpeechInputControllerMock.h:
              * src/WebSpeechInputControllerMockImpl.cpp:
              (WebKit::WebSpeechInputControllerMockImpl::addMockRecognitionResult):
              * src/WebSpeechInputControllerMockImpl.h:
      2010-11-18  Satish Sampath  <satish@chromium.org>
      
              Reviewed by Jeremy Orlow.
      
              For speech input event, send an event object containing all the recognition results and metadata.
              https://bugs.webkit.org/show_bug.cgi?id=49736
      
              Updated DRT by renaming the mock result method on all platforms to the new signature.
      
              * DumpRenderTree/LayoutTestController.cpp:
              (addMockSpeechInputResultCallback):
              (LayoutTestController::staticFunctions):
              * DumpRenderTree/LayoutTestController.h:
              * DumpRenderTree/chromium/LayoutTestController.cpp:
              (LayoutTestController::LayoutTestController):
              (LayoutTestController::addMockSpeechInputResult):
              * DumpRenderTree/chromium/LayoutTestController.h:
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
              (LayoutTestController::addMockSpeechInputResult):
              * DumpRenderTree/mac/LayoutTestControllerMac.mm:
              (LayoutTestController::addMockSpeechInputResult):
              * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
              (LayoutTestController::addMockSpeechInputResult):
              * DumpRenderTree/qt/LayoutTestControllerQt.h:
              * DumpRenderTree/win/LayoutTestControllerWin.cpp:
              (LayoutTestController::addMockSpeechInputResult):
              * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
              (LayoutTestController::addMockSpeechInputResult):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a739a241
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · 31bdf571
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=49860
              CSS style rules don't GC protect objects reachable as their properties
      
              Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html
      
              * Android.jscbindings.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSBindingsAllInOne.cpp:
              Added new files, sorted appropriate sections for easier adding.
      
              * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
              (WebCore::JSCSSFontFaceRule::markChildren):
              * bindings/js/JSCSSImportRuleCustom.cpp: Added.
              (WebCore::JSCSSImportRule::markChildren):
              * bindings/js/JSCSSMediaRuleCustom.cpp: Added.
              (WebCore::JSCSSMediaRule::markChildren):
              * bindings/js/JSCSSPageRuleCustom.cpp: Added.
              (WebCore::JSCSSPageRule::markChildren):
              * bindings/js/JSCSSStyleRuleCustom.cpp: Added.
              (WebCore::JSCSSStyleRule::markChildren):
              * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
              (WebCore::JSWebKitCSSKeyframeRule::markChildren):
              * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
              (WebCore::JSWebKitCSSKeyframesRule::markChildren):
              Mark objects reachable through these ones.
      
              * css/CSSFontFaceRule.idl:
              * css/CSSImportRule.idl:
              * css/CSSMediaRule.idl:
              * css/CSSPageRule.idl:
              * css/CSSStyleRule.idl:
              * css/WebKitCSSKeyframeRule.idl:
              * css/WebKitCSSKeyframesRule.idl:
              Added CustomMarkFunction IDL attribute.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31bdf571
  7. 22 Nov, 2010 2 commits
    • commit-queue@webkit.org's avatar
      2010-11-22 John Knottenbelt <jknotten@chromium.org> · 1eb6bc1e
      commit-queue@webkit.org authored
              Reviewed by Steve Block.
      
              Implement mocks for client-based Geolocation.
              https://bugs.webkit.org/show_bug.cgi?id=49258
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * platform/mock/GeolocationClientMock.cpp: Added.
              (WebCore::GeolocationClientMock::GeolocationClientMock):
              (WebCore::GeolocationClientMock::~GeolocationClientMock):
              (WebCore::GeolocationClientMock::setController):
              (WebCore::GeolocationClientMock::setPosition):
              (WebCore::GeolocationClientMock::setError):
              (WebCore::GeolocationClientMock::geolocationDestroyed):
              (WebCore::GeolocationClientMock::startUpdating):
              (WebCore::GeolocationClientMock::stopUpdating):
              (WebCore::GeolocationClientMock::setEnableHighAccuracy):
              (WebCore::GeolocationClientMock::lastPosition):
              (WebCore::GeolocationClientMock::timerFired):
              (WebCore::GeolocationClientMock::makeGeolocationCallback):
              * platform/mock/GeolocationClientMock.h: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1eb6bc1e
    • luiz@webkit.org's avatar
      2010-10-21 Luiz Agostini <luiz.agostini@openbossa.org> · db0dd431
      luiz@webkit.org authored
              Reviewed by Darin Adler.
      
              Implement CSSOM View matchMedia interface
              https://bugs.webkit.org/show_bug.cgi?id=37205
      
              New property matchMedia was added to window.
      
              * fast/dom/Window/window-properties-expected.txt:
              * fast/dom/Window/window-property-descriptors-expected.txt:
      
              window.matchMedia and MediaQueryList tests.
      
              * fast/media/media-query-list-01-expected.txt: Added.
              * fast/media/media-query-list-01.html: Added.
      
              The following tests depend on LayoutTestController::setViewModeMediaFeature() to work.
              As it is only implemented by Qt and Gtk the tests needed to be skipped in all other platforms.
      
              * fast/media/media-query-list-02-expected.txt: Added.
              * fast/media/media-query-list-02.html: Added.
              * fast/media/media-query-list-03-expected.txt: Added.
              * fast/media/media-query-list-03.html: Added.
              * fast/media/media-query-list-04-expected.txt: Added.
              * fast/media/media-query-list-04.html: Added.
              * fast/media/media-query-list-05-expected.txt: Added.
              * fast/media/media-query-list-05.html: Added.
              * fast/media/media-query-list-06-expected.txt: Added.
              * fast/media/media-query-list-06.html: Added.
              * fast/media/media-query-list-07-expected.txt: Added.
              * fast/media/media-query-list-07.html: Added.
              * platform/chromium/test_expectations.txt:
              * platform/mac/Skipped:
              * platform/win/Skipped:
      2010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
      
              Reviewed by Darin Adler.
      
              Implement CSSOM View matchMedia interface
              https://bugs.webkit.org/show_bug.cgi?id=37205
      
              New interfaces may be used to evaluate media queries and to associate listeners
              to media queries. Those listeners are called whenever the associated query changes.
              Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
      
              operator== added to JS version of ScriptValue.
              Method isFunction added to JS and V8 versions of ScriptValue.
      
              * bindings/js/ScriptValue.cpp:
              (WebCore::ScriptValue::isFunction):
              * bindings/js/ScriptValue.h:
              (WebCore::ScriptValue::operator==):
              * bindings/v8/ScriptValue.h:
              (WebCore::ScriptValue::isFunction):
      
              Some changes were needed to the code generators to handle type MediaQueryListListener.
      
              * bindings/scripts/CodeGeneratorGObject.pm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorV8.pm:
      
              Some changes to the bindings test results that were previously added.
      
              * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
              * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
              * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
              (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
              * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
              (WebCore::TestMediaQueryListListenerInternal::methodCallback):
              (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
      
              New interfaces:
      
              * css/MediaQueryList.cpp: Added.
              * css/MediaQueryList.h: Added.
              * css/MediaQueryList.idl: Added.
      
              * css/MediaQueryListListener.cpp: Added.
              * css/MediaQueryListListener.h: Added.
              * css/MediaQueryListListener.idl: Added.
      
              To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created.
      
              * css/MediaQueryMatcher.cpp: Added.
              * css/MediaQueryMatcher.h: Added.
      
              Document and DOMWindow have changed to support new features. DOMWindow is the class that
              publishes methods matchMedia but for page cache to work properly the reference to the
              MediaQueryMatcher must be in Document.
      
              * dom/Document.cpp:
              (WebCore::Document::~Document):
              (WebCore::Document::mediaQueryMatcher):
              (WebCore::Document::styleSelectorChanged):
              * dom/Document.h:
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::matchMedia):
              * page/DOMWindow.h:
              * page/DOMWindow.idl:
      
              Build systems
      
              * CMakeLists.txt:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pri:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/gobject/GNUmakefile.am:
      
              Tests: fast/media/media-query-list-01.html
                     fast/media/media-query-list-02.html
                     fast/media/media-query-list-03.html
                     fast/media/media-query-list-04.html
                     fast/media/media-query-list-05.html
                     fast/media/media-query-list-06.html
                     fast/media/media-query-list-07.html
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      db0dd431
  8. 19 Nov, 2010 1 commit
    • zimmermann@webkit.org's avatar
      2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com> · 673f8222
      zimmermann@webkit.org authored
              Reviewed by Dirk Schulze.
      
              Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49580
      
              SVGPathElement.cloneNode loses generated pathSegList
              https://bugs.webkit.org/show_bug.cgi?id=43388
      
              SVG Path elements are not correctly updated through pathSegList manipulation on relative values
              https://bugs.webkit.org/show_bug.cgi?id=30219
      
              Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
              https://bugs.webkit.org/show_bug.cgi?id=19741
      
              SVGPathElement should only build SVGPathSeg* list on demand
              https://bugs.webkit.org/show_bug.cgi?id=10827
      
              Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
                     svg/dom/SVGPathSegList-appendItem.xhtml
                     svg/dom/SVGPathSegList-clear-and-initialize.xhtml
                     svg/dom/SVGPathSegList-cloning.html
                     svg/dom/SVGPathSegList-insertItemBefore.xhtml
                     svg/dom/SVGPathSegList-removeItem.xhtml
                     svg/dom/SVGPathSegList-replaceItem.xhtml
                     svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
                     svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
                     svg/dom/SVGPathSegList-segment-modification.svg
      
              Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
              Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
              and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
              themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
              and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
      
              Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
              to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
              if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
              the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
              Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
              String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
      
              As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
              concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
      
              * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * CMakeLists.txt: Ditto.
              * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
              * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
              * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
              * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
              * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
              (WebCore::setDOMException):
              * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
              * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
              (WebCore::toJS):
              * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
              * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
              * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
              * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
              * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
              * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
              (WebCore::operator<<):
              * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
              * svg/SVGAnimatedPathData.cpp: Removed.
              * svg/SVGAnimatedPathData.h: Removed.
              * svg/SVGAnimatedPathData.idl: Removed.
              * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
              (WebCore::SVGPathElement::SVGPathElement):
              (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
              (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
              (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
              (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
              (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
              (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
              (WebCore::SVGPathElement::synchronizeD): Added.
              (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
              (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
              (WebCore::SVGPathElement::animatedPathSegList): Ditto.
              (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
              (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
              (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
              * svg/SVGPathElement.h: Add new accessors...
              (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
              (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
              * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
              * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
              (WebCore::globalSVGPathSegListBuilder):
              (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildPathFromByteStream):
              (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
              (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
              (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
              (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
              * svg/SVGPathParserFactory.h:
              * svg/SVGPathSeg.cpp: Removed.
              * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
              (WebCore::SVGPathSeg::SVGPathSeg):
              * svg/SVGPathSeg.idl: Reindented.
              * svg/SVGPathSegArc.cpp: Removed.
              * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
              * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegArcRel.idl: Ditto.
              * svg/SVGPathSegClosePath.cpp: Removed.
              * svg/SVGPathSegClosePath.h:
              * svg/SVGPathSegCurvetoCubic.cpp: Removed.
              * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
              * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
              * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
              * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
              * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
              * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
              * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
              * svg/SVGPathSegLineto.cpp: Removed.
              * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
              * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
              * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoVertical.cpp: Removed.
              * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
              * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
              (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
              (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
              * svg/SVGPathSegList.h:
              (WebCore::SVGPathSegList::SVGPathSegList):
              * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
              * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
              (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
              (WebCore::SVGPathSegListBuilder::moveTo):
              (WebCore::SVGPathSegListBuilder::lineTo):
              (WebCore::SVGPathSegListBuilder::lineToHorizontal):
              (WebCore::SVGPathSegListBuilder::lineToVertical):
              (WebCore::SVGPathSegListBuilder::curveToCubic):
              (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
              (WebCore::SVGPathSegListBuilder::curveToQuadratic):
              (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
              (WebCore::SVGPathSegListBuilder::arcTo):
              (WebCore::SVGPathSegListBuilder::closePath):
              * svg/SVGPathSegListBuilder.h: Ditto.
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
              (WebCore::SVGPathSegListBuilder::cleanup):
              * svg/SVGPathSegListSource.cpp: Ditto.
              (WebCore::SVGPathSegListSource::SVGPathSegListSource):
              (WebCore::SVGPathSegListSource::parseSVGSegmentType):
              (WebCore::SVGPathSegListSource::nextCommand):
              (WebCore::SVGPathSegListSource::parseMoveToSegment):
              (WebCore::SVGPathSegListSource::parseLineToSegment):
              (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
              * svg/SVGPathSegListSource.h: Ditto.
              (WebCore::SVGPathSegListSource::create):
              * svg/SVGPathSegMoveto.cpp: Removed.
              * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
              * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegMovetoRel.idl: Ditto.
              * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
              (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
              (WebCore::SVGPathSegWithContext::animatedProperty):
              (WebCore::SVGPathSegWithContext::setContextAndRole):
              (WebCore::SVGPathSegWithContext::commitChange):
              (WebCore::SVGPathSegSingleCoordinate::x):
              (WebCore::SVGPathSegSingleCoordinate::setX):
              (WebCore::SVGPathSegSingleCoordinate::y):
              (WebCore::SVGPathSegSingleCoordinate::setY):
              (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
              * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
              * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
              (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
              (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
              (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
              (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
              (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
              * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
              (WebCore::SVGPathSegListPropertyTearOff::create):
              (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
              (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
              (WebCore::SVGPathSegListPropertyTearOff::initialize):
              (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
              (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
              (WebCore::SVGPathSegListPropertyTearOff::appendItem):
              (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
              (WebCore::SVGPathSegListPropertyTearOff::commitChange):
              (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
      
      2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Dirk Schulze.
      
              Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49580
      
              Add several new tests covering SVGPathSegList usage.
      
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Added.
              * platform/mac/svg/custom/svg-curve-with-relative-cordinates-expected.txt:
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.txt: Added.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.txt: Added.
              * svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg: Added.
              * svg/dom/SVGPathSegList-appendItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-appendItem.xhtml: Added.
              * svg/dom/SVGPathSegList-clear-and-initialize-expected.txt: Added.
              * svg/dom/SVGPathSegList-clear-and-initialize.xhtml: Added.
              * svg/dom/SVGPathSegList-cloning.html: Added.
              * svg/dom/SVGPathSegList-insertItemBefore-expected.txt: Added.
              * svg/dom/SVGPathSegList-insertItemBefore.xhtml: Added.
              * svg/dom/SVGPathSegList-removeItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-removeItem.xhtml: Added.
              * svg/dom/SVGPathSegList-replaceItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-replaceItem.xhtml: Added.
              * svg/dom/SVGPathSegList-segment-modification.svg: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization-expected.txt: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml: Added.
              * svg/dom/fuzz-path-parser-expected.txt:
              * svg/dom/path-parser-expected.txt:
              * svg/dom/script-tests/path-parser.js:
              ():
              * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
              * svg/dom/svglist-exception-on-out-bounds-error.html:
              * svg/dom/svgpath-out-of-bounds-getPathSeg-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      673f8222
  9. 18 Nov, 2010 3 commits
    • ap@apple.com's avatar
      Reviewed by Geoffrey Garen. · 7ac88d0b
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=49762
              Stylesheet wrappers are not GC protected
      
              Tests: fast/dom/StyleSheet/gc-inline-style-cssvalues.html
                     fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml
      
              * Android.jscbindings.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              Added the new custom bindings files.
      
              * WebCore.xcodeproj/project.pbxproj: Added the new custom bindings files. Also, added some
              existing headers.
      
              * bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): If a node has a stylesheet
              with a wrapper, it may be the only thing having the stylesheet's wrapper alive, so its own
              wrapper has to stay alive, too.
              While at it, also fixed the same issue with inline style declarations.
              Also, added a FIXME comment about one with attribute nodes. We implement a less conservative
              approach for nodes, so perhaps fixing this is not as easy as removing a hasCustomProperties()
              check.
      
              * bindings/js/JSHTMLLinkElementCustom.cpp: Added.
              (WebCore::JSHTMLLinkElement::markChildren):
              * bindings/js/JSHTMLStyleElementCustom.cpp: Added.
              (WebCore::JSHTMLStyleElement::markChildren):
              * bindings/js/JSProcessingInstructionCustom.cpp: Added.
              (WebCore::JSProcessingInstruction::markChildren):
              Mark stylesheets owned by these nodes. As always in markChildren() functions, we do it
              conservatively, without checking whether the stylesheet or any of its children have custom
              properties.
      
              * dom/ProcessingInstruction.idl:
              * html/HTMLLinkElement.idl:
              * html/HTMLStyleElement.idl:
              These have custom mark functions now.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ac88d0b
    • commit-queue@webkit.org's avatar
      2010-11-18 Sheriff Bot <webkit.review.bot@gmail.com> · bb648061
      commit-queue@webkit.org authored
              Unreviewed, rolling out r72288.
              http://trac.webkit.org/changeset/72288
              https://bugs.webkit.org/show_bug.cgi?id=49730
      
              'krit attempted to do that, but revert got stuck' (Requested
              by antonm on #webkit).
      
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.checksum: Removed.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png: Removed.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Removed.
              * platform/mac/svg/custom/svg-curve-with-relative-cordinates-expected.txt:
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.txt: Removed.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt: Removed.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.checksum: Removed.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png: Removed.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.txt: Removed.
              * svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg: Removed.
              * svg/dom/SVGPathSegList-appendItem-expected.txt: Removed.
              * svg/dom/SVGPathSegList-appendItem.xhtml: Removed.
              * svg/dom/SVGPathSegList-clear-and-initialize-expected.txt: Removed.
              * svg/dom/SVGPathSegList-clear-and-initialize.xhtml: Removed.
              * svg/dom/SVGPathSegList-cloning.html: Removed.
              * svg/dom/SVGPathSegList-insertItemBefore-expected.txt: Removed.
              * svg/dom/SVGPathSegList-insertItemBefore.xhtml: Removed.
              * svg/dom/SVGPathSegList-removeItem-expected.txt: Removed.
              * svg/dom/SVGPathSegList-removeItem.xhtml: Removed.
              * svg/dom/SVGPathSegList-replaceItem-expected.txt: Removed.
              * svg/dom/SVGPathSegList-replaceItem.xhtml: Removed.
              * svg/dom/SVGPathSegList-segment-modification.svg: Removed.
              * svg/dom/SVGPathSegList-xml-dom-synchronization-expected.txt: Removed.
              * svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml: Removed.
              * svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml: Removed.
              * svg/dom/fuzz-path-parser-expected.txt:
              * svg/dom/path-parser-expected.txt:
              * svg/dom/script-tests/path-parser.js:
              ():
              * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
              * svg/dom/svglist-exception-on-out-bounds-error.html:
              * svg/dom/svgpath-out-of-bounds-getPathSeg-expected.txt:
      2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r72288.
              http://trac.webkit.org/changeset/72288
              https://bugs.webkit.org/show_bug.cgi?id=49730
      
              'krit attempted to do that, but revert got stuck' (Requested
              by antonm on #webkit).
      
              * Android.mk:
              * CMakeLists.txt:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gyp/WebCore.gyp:
              * WebCore.gypi:
              * WebCore.order:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSBindingsAllInOne.cpp:
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::setDOMException):
              * bindings/js/JSDOMBinding.h:
              (WebCore::createDOMObjectWrapper):
              (WebCore::getDOMObjectWrapper):
              * bindings/js/JSSVGPathSegCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSSVGPathSegListCustom.cpp: Added.
              (WebCore::JSSVGPathSegList::clear):
              (WebCore::JSSVGPathSegList::initialize):
              (WebCore::JSSVGPathSegList::getItem):
              (WebCore::JSSVGPathSegList::insertItemBefore):
              (WebCore::JSSVGPathSegList::replaceItem):
              (WebCore::JSSVGPathSegList::removeItem):
              (WebCore::JSSVGPathSegList::appendItem):
              * bindings/scripts/CodeGenerator.pm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorObjC.pm:
              * bindings/scripts/CodeGeneratorV8.pm:
              * rendering/SVGRenderTreeAsText.cpp:
              (WebCore::operator<<):
              * svg/SVGAllInOne.cpp:
              * svg/SVGAnimatedPathData.cpp: Added.
              * svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGAnimatedPathData::~SVGAnimatedPathData):
              * svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl.
              * svg/SVGPathElement.cpp:
              (WebCore::SVGPathElement::SVGPathElement):
              (WebCore::SVGPathElement::getPathSegAtLength):
              (WebCore::SVGPathElement::createSVGPathSegClosePath):
              (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
              (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
              (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
              (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
              (WebCore::SVGPathElement::createSVGPathSegArcAbs):
              (WebCore::SVGPathElement::createSVGPathSegArcRel):
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
              (WebCore::SVGPathElement::parseMappedAttribute):
              (WebCore::SVGPathElement::svgAttributeChanged):
              (WebCore::SVGPathElement::synchronizeProperty):
              (WebCore::SVGPathElement::pathSegList):
              (WebCore::SVGPathElement::normalizedPathSegList):
              (WebCore::SVGPathElement::animatedPathSegList):
              (WebCore::SVGPathElement::animatedNormalizedPathSegList):
              (WebCore::SVGPathElement::toPathData):
              * svg/SVGPathElement.h:
              (WebCore::SVGPathElement::isValid):
              (WebCore::SVGPathElement::supportsMarkers):
              * svg/SVGPathElement.idl:
              * svg/SVGPathParserFactory.cpp:
              (WebCore::globalSVGPathSegListBuilder):
              (WebCore::SVGPathParserFactory::buildPathFromByteStream):
              (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
              (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
              (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
              (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
              (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
              * svg/SVGPathParserFactory.h:
              * svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl.
              (WebCore::SVGPathSeg::associatedAttributeName):
              * svg/SVGPathSeg.h:
              (WebCore::SVGPathSegSingleCoord::setX):
              (WebCore::SVGPathSegSingleCoord::x):
              (WebCore::SVGPathSegSingleCoord::setY):
              (WebCore::SVGPathSegSingleCoord::y):
              (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
              * svg/SVGPathSeg.idl:
              * svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
              (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
              * svg/SVGPathSegArc.h:
              (WebCore::SVGPathSegArc::SVGPathSegArc):
              (WebCore::SVGPathSegArc::setX):
              (WebCore::SVGPathSegArc::x):
              (WebCore::SVGPathSegArc::setY):
              (WebCore::SVGPathSegArc::y):
              (WebCore::SVGPathSegArc::setR1):
              (WebCore::SVGPathSegArc::r1):
              (WebCore::SVGPathSegArc::setR2):
              (WebCore::SVGPathSegArc::r2):
              (WebCore::SVGPathSegArc::setAngle):
              (WebCore::SVGPathSegArc::angle):
              (WebCore::SVGPathSegArc::setLargeArcFlag):
              (WebCore::SVGPathSegArc::largeArcFlag):
              (WebCore::SVGPathSegArc::setSweepFlag):
              (WebCore::SVGPathSegArc::sweepFlag):
              (WebCore::SVGPathSegArcAbs::create):
              (WebCore::SVGPathSegArcAbs::pathSegType):
              (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegArcRel::create):
              (WebCore::SVGPathSegArcRel::pathSegType):
              (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
              * svg/SVGPathSegArcAbs.idl:
              * svg/SVGPathSegArcRel.idl:
              * svg/SVGPathSegClosePath.cpp: Added.
              * svg/SVGPathSegClosePath.h:
              (WebCore::SVGPathSegClosePath::create):
              (WebCore::SVGPathSegClosePath::SVGPathSegClosePath):
              * svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
              (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
              * svg/SVGPathSegCurvetoCubic.h:
              (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
              (WebCore::SVGPathSegCurvetoCubic::setX):
              (WebCore::SVGPathSegCurvetoCubic::x):
              (WebCore::SVGPathSegCurvetoCubic::setY):
              (WebCore::SVGPathSegCurvetoCubic::y):
              (WebCore::SVGPathSegCurvetoCubic::setX1):
              (WebCore::SVGPathSegCurvetoCubic::x1):
              (WebCore::SVGPathSegCurvetoCubic::setY1):
              (WebCore::SVGPathSegCurvetoCubic::y1):
              (WebCore::SVGPathSegCurvetoCubic::setX2):
              (WebCore::SVGPathSegCurvetoCubic::x2):
              (WebCore::SVGPathSegCurvetoCubic::setY2):
              (WebCore::SVGPathSegCurvetoCubic::y2):
              (WebCore::SVGPathSegCurvetoCubicAbs::create):
              (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
              (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegCurvetoCubicRel::create):
              (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
              (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
              * svg/SVGPathSegCurvetoCubicAbs.idl:
              * svg/SVGPathSegCurvetoCubicRel.idl:
              * svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
              (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
              * svg/SVGPathSegCurvetoCubicSmooth.h:
              (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
              (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
              (WebCore::SVGPathSegCurvetoCubicSmooth::x):
              (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
              (WebCore::SVGPathSegCurvetoCubicSmooth::y):
              (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
              (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
              (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
              (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
              (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
              (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
              (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
              (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
              (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
              * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
              * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
              * svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
              (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
              * svg/SVGPathSegCurvetoQuadratic.h:
              (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
              (WebCore::SVGPathSegCurvetoQuadratic::setX):
              (WebCore::SVGPathSegCurvetoQuadratic::x):
              (WebCore::SVGPathSegCurvetoQuadratic::setY):
              (WebCore::SVGPathSegCurvetoQuadratic::y):
              (WebCore::SVGPathSegCurvetoQuadratic::setX1):
              (WebCore::SVGPathSegCurvetoQuadratic::x1):
              (WebCore::SVGPathSegCurvetoQuadratic::setY1):
              (WebCore::SVGPathSegCurvetoQuadratic::y1):
              (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
              (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
              (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegCurvetoQuadraticRel::create):
              (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
              (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
              * svg/SVGPathSegCurvetoQuadraticAbs.idl:
              * svg/SVGPathSegCurvetoQuadraticRel.idl:
              * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
              * svg/SVGPathSegCurvetoQuadraticSmooth.h:
              (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
              (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
              * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
              * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
              * svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
              (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
              * svg/SVGPathSegLineto.h:
              (WebCore::SVGPathSegLinetoAbs::create):
              (WebCore::SVGPathSegLinetoAbs::pathSegType):
              (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegLinetoRel::create):
              (WebCore::SVGPathSegLinetoRel::pathSegType):
              (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
              * svg/SVGPathSegLinetoAbs.idl:
              * svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
              (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
              * svg/SVGPathSegLinetoHorizontal.h:
              (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
              (WebCore::SVGPathSegLinetoHorizontal::setX):
              (WebCore::SVGPathSegLinetoHorizontal::x):
              (WebCore::SVGPathSegLinetoHorizontalAbs::create):
              (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
              (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegLinetoHorizontalRel::create):
              (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
              (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
              * svg/SVGPathSegLinetoHorizontalAbs.idl:
              * svg/SVGPathSegLinetoHorizontalRel.idl:
              * svg/SVGPathSegLinetoRel.idl:
              * svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
              (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
              * svg/SVGPathSegLinetoVertical.h:
              (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
              (WebCore::SVGPathSegLinetoVertical::setY):
              (WebCore::SVGPathSegLinetoVertical::y):
              (WebCore::SVGPathSegLinetoVerticalAbs::create):
              (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
              (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegLinetoVerticalRel::create):
              (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
              (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
              * svg/SVGPathSegLinetoVerticalAbs.idl:
              * svg/SVGPathSegLinetoVerticalRel.idl:
              * svg/SVGPathSegList.cpp:
              (WebCore::SVGPathSegList::SVGPathSegList):
              * svg/SVGPathSegList.h:
              (WebCore::SVGPathSegList::create):
              * svg/SVGPathSegList.idl:
              * svg/SVGPathSegListBuilder.cpp:
              (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
              (WebCore::SVGPathSegListBuilder::moveTo):
              (WebCore::SVGPathSegListBuilder::lineTo):
              (WebCore::SVGPathSegListBuilder::lineToHorizontal):
              (WebCore::SVGPathSegListBuilder::lineToVertical):
              (WebCore::SVGPathSegListBuilder::curveToCubic):
              (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
              (WebCore::SVGPathSegListBuilder::curveToQuadratic):
              (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
              (WebCore::SVGPathSegListBuilder::arcTo):
              (WebCore::SVGPathSegListBuilder::closePath):
              * svg/SVGPathSegListBuilder.h:
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
              (WebCore::SVGPathSegListBuilder::cleanup):
              * svg/SVGPathSegListSource.cpp:
              (WebCore::SVGPathSegListSource::SVGPathSegListSource):
              (WebCore::SVGPathSegListSource::parseSVGSegmentType):
              (WebCore::SVGPathSegListSource::nextCommand):
              (WebCore::SVGPathSegListSource::parseMoveToSegment):
              (WebCore::SVGPathSegListSource::parseLineToSegment):
              (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
              * svg/SVGPathSegListSource.h:
              (WebCore::SVGPathSegListSource::create):
              * svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
              (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
              (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
              * svg/SVGPathSegMoveto.h:
              (WebCore::SVGPathSegMovetoAbs::create):
              (WebCore::SVGPathSegMovetoAbs::pathSegType):
              (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
              (WebCore::SVGPathSegMovetoRel::create):
              (WebCore::SVGPathSegMovetoRel::pathSegType):
              (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
              * svg/SVGPathSegMovetoAbs.idl:
              * svg/SVGPathSegMovetoRel.idl:
              * svg/SVGPathSegWithContext.h: Removed.
              * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed.
              * svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed.
              * svg/properties/SVGPathSegListPropertyTearOff.h: Removed.
      2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r72288.
              http://trac.webkit.org/changeset/72288
              https://bugs.webkit.org/show_bug.cgi?id=49730
      
              'krit attempted to do that, but revert got stuck' (Requested
              by antonm on #webkit).
      
              * WebView/WebRenderLayer.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb648061
    • zimmermann@webkit.org's avatar
      2010-11-18 Nikolas Zimmermann <nzimmermann@rim.com> · 0921770d
      zimmermann@webkit.org authored
              Reviewed by Dirk Schulze.
      
              Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49580
      
              SVGPathElement.cloneNode loses generated pathSegList
              https://bugs.webkit.org/show_bug.cgi?id=43388
      
              SVG Path elements are not correctly updated through pathSegList manipulation on relative values
              https://bugs.webkit.org/show_bug.cgi?id=30219
      
              Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
              https://bugs.webkit.org/show_bug.cgi?id=19741
      
              SVGPathElement should only build SVGPathSeg* list on demand
              https://bugs.webkit.org/show_bug.cgi?id=10827
      
              Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
                     svg/dom/SVGPathSegList-appendItem.xhtml
                     svg/dom/SVGPathSegList-clear-and-initialize.xhtml
                     svg/dom/SVGPathSegList-cloning.html
                     svg/dom/SVGPathSegList-insertItemBefore.xhtml
                     svg/dom/SVGPathSegList-removeItem.xhtml
                     svg/dom/SVGPathSegList-replaceItem.xhtml
                     svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
                     svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
                     svg/dom/SVGPathSegList-segment-modification.svg
      
              Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
              Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
              and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
              themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
              and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
      
              Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
              to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
              if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
              the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
              Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
              String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
      
              As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
              concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
      
              * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * CMakeLists.txt: Ditto.
              * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
              * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
              * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
              * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
              * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
              * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
              (WebCore::setDOMException):
              * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
              * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
              (WebCore::toJS):
              * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
              * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
              * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
              * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
              * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
              * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
              (WebCore::operator<<):
              * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
              * svg/SVGAnimatedPathData.cpp: Removed.
              * svg/SVGAnimatedPathData.h: Removed.
              * svg/SVGAnimatedPathData.idl: Removed.
              * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
              (WebCore::SVGPathElement::SVGPathElement):
              (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
              (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
              (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
              (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
              (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
              (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
              (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
              (WebCore::SVGPathElement::synchronizeD): Added.
              (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
              (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
              (WebCore::SVGPathElement::animatedPathSegList): Ditto.
              (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
              (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
              (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
              * svg/SVGPathElement.h: Add new accessors...
              (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
              (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
              * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
              * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
              (WebCore::globalSVGPathSegListBuilder):
              (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildPathFromByteStream):
              (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
              (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
              (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
              (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
              (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
              * svg/SVGPathParserFactory.h:
              * svg/SVGPathSeg.cpp: Removed.
              * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
              (WebCore::SVGPathSeg::SVGPathSeg):
              * svg/SVGPathSeg.idl: Reindented.
              * svg/SVGPathSegArc.cpp: Removed.
              * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
              * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegArcRel.idl: Ditto.
              * svg/SVGPathSegClosePath.cpp: Removed.
              * svg/SVGPathSegClosePath.h:
              * svg/SVGPathSegCurvetoCubic.cpp: Removed.
              * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
              * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
              * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
              * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
              * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
              * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
              * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
              * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
              * svg/SVGPathSegLineto.cpp: Removed.
              * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
              * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
              * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoVertical.cpp: Removed.
              * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
              * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
              * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
              (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
              (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
              * svg/SVGPathSegList.h:
              (WebCore::SVGPathSegList::SVGPathSegList):
              * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
              * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
              (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
              (WebCore::SVGPathSegListBuilder::moveTo):
              (WebCore::SVGPathSegListBuilder::lineTo):
              (WebCore::SVGPathSegListBuilder::lineToHorizontal):
              (WebCore::SVGPathSegListBuilder::lineToVertical):
              (WebCore::SVGPathSegListBuilder::curveToCubic):
              (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
              (WebCore::SVGPathSegListBuilder::curveToQuadratic):
              (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
              (WebCore::SVGPathSegListBuilder::arcTo):
              (WebCore::SVGPathSegListBuilder::closePath):
              * svg/SVGPathSegListBuilder.h: Ditto.
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
              (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
              (WebCore::SVGPathSegListBuilder::cleanup):
              * svg/SVGPathSegListSource.cpp: Ditto.
              (WebCore::SVGPathSegListSource::SVGPathSegListSource):
              (WebCore::SVGPathSegListSource::parseSVGSegmentType):
              (WebCore::SVGPathSegListSource::nextCommand):
              (WebCore::SVGPathSegListSource::parseMoveToSegment):
              (WebCore::SVGPathSegListSource::parseLineToSegment):
              (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
              * svg/SVGPathSegListSource.h: Ditto.
              (WebCore::SVGPathSegListSource::create):
              * svg/SVGPathSegMoveto.cpp: Removed.
              * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
              * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
              * svg/SVGPathSegMovetoRel.idl: Ditto.
              * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
              (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
              (WebCore::SVGPathSegWithContext::animatedProperty):
              (WebCore::SVGPathSegWithContext::setContextAndRole):
              (WebCore::SVGPathSegWithContext::commitChange):
              (WebCore::SVGPathSegSingleCoordinate::x):
              (WebCore::SVGPathSegSingleCoordinate::setX):
              (WebCore::SVGPathSegSingleCoordinate::y):
              (WebCore::SVGPathSegSingleCoordinate::setY):
              (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
              * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
              (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
              * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
              (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
              (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
              (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
              (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
              (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
              * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
              (WebCore::SVGPathSegListPropertyTearOff::create):
              (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
              (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
              (WebCore::SVGPathSegListPropertyTearOff::initialize):
              (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
              (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
              (WebCore::SVGPathSegListPropertyTearOff::appendItem):
              (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
              (WebCore::SVGPathSegListPropertyTearOff::commitChange):
              (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
      
      2010-11-18  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Dirk Schulze.
      
              Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49580
      
              Add several new tests covering SVGPathSegList usage.
      
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Added.
              * platform/mac/svg/custom/svg-curve-with-relative-cordinates-expected.txt:
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-cloning-expected.txt: Added.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.checksum: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png: Added.
              * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.txt: Added.
              * svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg: Added.
              * svg/dom/SVGPathSegList-appendItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-appendItem.xhtml: Added.
              * svg/dom/SVGPathSegList-clear-and-initialize-expected.txt: Added.
              * svg/dom/SVGPathSegList-clear-and-initialize.xhtml: Added.
              * svg/dom/SVGPathSegList-cloning.html: Added.
              * svg/dom/SVGPathSegList-insertItemBefore-expected.txt: Added.
              * svg/dom/SVGPathSegList-insertItemBefore.xhtml: Added.
              * svg/dom/SVGPathSegList-removeItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-removeItem.xhtml: Added.
              * svg/dom/SVGPathSegList-replaceItem-expected.txt: Added.
              * svg/dom/SVGPathSegList-replaceItem.xhtml: Added.
              * svg/dom/SVGPathSegList-segment-modification.svg: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization-expected.txt: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml: Added.
              * svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml: Added.
              * svg/dom/fuzz-path-parser-expected.txt:
              * svg/dom/path-parser-expected.txt:
              * svg/dom/script-tests/path-parser.js:
              ():
              * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
              * svg/dom/svglist-exception-on-out-bounds-error.html:
              * svg/dom/svgpath-out-of-bounds-getPathSeg-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0921770d
  10. 16 Nov, 2010 1 commit
  11. 14 Nov, 2010 1 commit
  12. 12 Nov, 2010 2 commits
    • commit-queue@webkit.org's avatar
      2010-11-12 James Simonsen <simonjam@chromium.org> · 6000d4c1
      commit-queue@webkit.org authored
              Reviewed by Darin Fisher.
      
              [Web Timing] Rename interfaces:
              - Navigation -> PerformanceNavigation
              - Timing -> PerformanceTiming
              https://bugs.webkit.org/show_bug.cgi?id=48919
      
              * fast/dom/Window/window-properties-performance-expected.txt: Class names changed.
      2010-11-12  James Simonsen  <simonjam@chromium.org>
      
              Reviewed by Darin Fisher.
      
              [Web Timing] Rename interfaces:
              - Navigation -> PerformanceNavigation
              - Timing -> PerformanceTiming
              https://bugs.webkit.org/show_bug.cgi?id=48919
      
              * DerivedSources.cpp:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * page/Performance.cpp:
              (WebCore::Performance::navigation):
              (WebCore::Performance::timing):
              * page/Performance.h:
              * page/Performance.idl:
              * page/PerformanceNavigation.cpp: Renamed from WebCore/page/Navigation.cpp.
              (WebCore::PerformanceNavigation::PerformanceNavigation):
              (WebCore::PerformanceNavigation::frame):
              (WebCore::PerformanceNavigation::disconnectFrame):
              (WebCore::PerformanceNavigation::type):
              (WebCore::PerformanceNavigation::redirectCount):
              * page/PerformanceNavigation.h: Renamed from WebCore/page/Navigation.h.
              (WebCore::PerformanceNavigation::create):
              * page/PerformanceNavigation.idl: Renamed from WebCore/page/Navigation.idl.
              * page/PerformanceTiming.cpp: Renamed from WebCore/page/Timing.cpp.
              (WebCore::toIntegerMilliseconds):
              (WebCore::getPossiblySkewedTimeInKnownRange):
              (WebCore::PerformanceTiming::PerformanceTiming):
              (WebCore::PerformanceTiming::frame):
              (WebCore::PerformanceTiming::disconnectFrame):
              (WebCore::PerformanceTiming::navigationStart):
              (WebCore::PerformanceTiming::unloadEventEnd):
              (WebCore::PerformanceTiming::redirectStart):
              (WebCore::PerformanceTiming::redirectEnd):
              (WebCore::PerformanceTiming::fetchStart):
              (WebCore::PerformanceTiming::domainLookupStart):
              (WebCore::PerformanceTiming::domainLookupEnd):
              (WebCore::PerformanceTiming::connectStart):
              (WebCore::PerformanceTiming::connectEnd):
              (WebCore::PerformanceTiming::requestStart):
              (WebCore::PerformanceTiming::requestEnd):
              (WebCore::PerformanceTiming::responseStart):
              (WebCore::PerformanceTiming::responseEnd):
              (WebCore::PerformanceTiming::domLoading):
              (WebCore::PerformanceTiming::domInteractive):
              (WebCore::PerformanceTiming::domContentLoaded):
              (WebCore::PerformanceTiming::domComplete):
              (WebCore::PerformanceTiming::loadEventStart):
              (WebCore::PerformanceTiming::loadEventEnd):
              (WebCore::PerformanceTiming::documentLoader):
              (WebCore::PerformanceTiming::documentTiming):
              (WebCore::PerformanceTiming::documentLoadTiming):
              (WebCore::PerformanceTiming::resourceLoadTiming):
              (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
              * page/PerformanceTiming.h: Renamed from WebCore/page/Timing.h.
              (WebCore::PerformanceTiming::create):
              * page/PerformanceTiming.idl: Renamed from WebCore/page/Timing.idl.
      2010-11-12  James Simonsen  <simonjam@chromium.org>
      
              Reviewed by Darin Fisher.
      
              [Web Timing] Rename interfaces:
              - Navigation -> PerformanceNavigation
              - Timing -> PerformanceTiming
              https://bugs.webkit.org/show_bug.cgi?id=48919
      
              * src/WebPerformance.cpp:
              (WebKit::WebPerformance::navigationType):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6000d4c1
    • dglazkov@chromium.org's avatar
      2010-11-05 Dimitri Glazkov <dglazkov@chromium.org> · 22000f6d
      dglazkov@chromium.org authored
              Reviewed by Darin Adler.
      
              Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              Added more test coverage around events crossing shadow DOM boundaries and tweaked existing tests.
      
              * fast/events/shadow-boundary-crossing-2-expected.txt: Added.
              * fast/events/shadow-boundary-crossing-2.html: Added.
              * fast/events/shadow-boundary-crossing.html: Tuned to better reflect its point:
                  the event should indeed fire (it used to be swallowed), but its target
                  should be a non-shadow node.
              * media/audio-delete-while-slider-thumb-clicked.html :  Tweaked to actually click on
                  the scrubber thumb (it was off by 2 pixels).
      2010-11-05  Dimitri Glazkov  <dglazkov@chromium.org>
      
              Reviewed by Darin Adler.
      
              Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              Test: fast/events/shadow-boundary-crossing-2.html
      
              This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
              for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
      
              This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
              appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
      
              * Android.mk: Added EventContext, WindowEventContext files.
              * CMakeLists.txt: Ditto.
              * GNUmakefile.am: Ditto.
              * WebCore.gypi: Ditto.
              * WebCore.pro: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * dom/ContainerNode.cpp:
              (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
              * dom/EventContext.cpp: Added.
              * dom/EventContext.h: Added.
              * dom/Node.cpp:
              (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
              (WebCore::Node::createRendererIfNeeded): Ditto.
              (WebCore::Node::parentOrHostNode): Added new helper method.
              (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
              (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
              (WebCore::Node::getEventAncestors): Renamed and refactored to collect a vector of EventContexts.
              (WebCore::Node::topEventContext): Added.
              (WebCore::eventHasListeners): Changed to use EventContexts.
              (WebCore::Node::dispatchGenericEvent): Ditto.
              * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
                  and changed signature of eventAncestors to use EventContexts.
              * dom/Text.cpp:
              (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
              * dom/WindowEventContext.cpp: Added.
              * dom/WindowEventContext.h: Added.
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
              * rendering/RenderTextControlMultiLine.cpp:
              (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Removed event invocation that's
                  no longer necessary.
              * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
              is deleted.
              * rendering/TextControlInnerElements.cpp:
              (WebCore::TextControlInnerTextElement::defaultEventHandler): Flipped the condition back
                  from where it was prior to r60418.
              * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
              * svg/SVGElement.h: Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22000f6d
  13. 11 Nov, 2010 1 commit
    • zimmermann@webkit.org's avatar
      2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> · bbd697ce
      zimmermann@webkit.org authored
              Reviewed by Dirk Schulze.
      
              Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49311
      
              Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept.
              Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now.
      
              Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg
                     svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg
                     svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg
                     svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg
                     svg/W3C-SVG-1.1-SE/types-dom-01-b.svg
                     svg/W3C-SVG-1.1-SE/types-dom-02-f.svg
                     svg/W3C-SVG-1.1-SE/types-dom-03-b.svg
                     svg/W3C-SVG-1.1-SE/types-dom-04-b.svg
                     svg/W3C-SVG-1.1-SE/types-dom-05-b.svg
                     svg/dom/SVGMatrix.html
                     svg/dom/SVGTransform.html
                     svg/dom/SVGTransformList.html
      
              * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp.
              * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp.
              * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. 
              * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build.
              * WebCore.gypi: Ditto.
              * WebCore.pro: Ditto.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp
              * bindings/js/JSSVGMatrixCustom.cpp: Removed.
              * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept.
              * bindings/scripts/CodeGeneratorJS.pm: Ditto.
              * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
              * bindings/scripts/CodeGeneratorV8.pm: Ditto.
              * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed.
              * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling.
              * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
              * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes.
              (WebCore::transformListFor):
              (WebCore::SVGAnimateTransformElement::resetToBaseValue):
              (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
              (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
              * svg/SVGAnimatedTransformList.h: Added.
              * svg/SVGGradientElement.cpp: Ditto.
              (WebCore::SVGGradientElement::SVGGradientElement):
              (WebCore::SVGGradientElement::parseMappedAttribute):
              * svg/SVGGradientElement.h: Ditto.
              * svg/SVGLinearGradientElement.cpp: Ditto.
              (WebCore::SVGLinearGradientElement::collectGradientAttributes):
              * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements.
              (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix.
              (WebCore::SVGMatrix::scale): Ditto.
              (WebCore::SVGMatrix::scaleNonUniform): Ditto.
              (WebCore::SVGMatrix::rotate): Ditto.
              (WebCore::SVGMatrix::flipX): Ditto.
              (WebCore::SVGMatrix::flipY): Ditto.
              (WebCore::SVGMatrix::skewX): Ditto.
              (WebCore::SVGMatrix::skewY): Ditto.
              (WebCore::SVGMatrix::multiply): Ditto.
              (WebCore::SVGMatrix::inverse): Ditto.
              (WebCore::SVGMatrix::rotateFromVector): Dittto.
              * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
              * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes.
              (WebCore::SVGPatternElement::SVGPatternElement):
              (WebCore::SVGPatternElement::parseMappedAttribute):
              (WebCore::SVGPatternElement::collectPatternAttributes):
              * svg/SVGPatternElement.h: Ditto.
              * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme.
              * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes.
              (WebCore::SVGRadialGradientElement::collectGradientAttributes):
              * svg/SVGSVGElement.cpp: Ditto.
              (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
              (WebCore::SVGSVGElement::viewBoxToViewTransform):
              * svg/SVGSVGElement.h: Ditto.
              * svg/SVGStyledTransformableElement.cpp: Ditto.
              (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
              (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
              (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
              * svg/SVGStyledTransformableElement.h: Ditto.
              * svg/SVGTextElement.cpp: Ditto.
              (WebCore::SVGTextElement::SVGTextElement):
              (WebCore::SVGTextElement::parseMappedAttribute):
              (WebCore::SVGTextElement::animatedLocalTransform):
              * svg/SVGTextElement.h: Ditto.
              * svg/SVGTransform.cpp: Modernize code, inlined some getters.
              (WebCore::SVGTransform::SVGTransform):
              (WebCore::SVGTransform::setMatrix):
              * svg/SVGTransform.h: Reindent header.
              (WebCore::SVGTransform::type):
              (WebCore::SVGTransform::svgMatrix):
              (WebCore::SVGTransform::matrix):
              (WebCore::SVGTransform::angle):
              (WebCore::SVGTransform::rotationCenter):
              (WebCore::SVGTransform::isValid):
              (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly.
              (WebCore::operator!=):
              * svg/SVGTransform.idl:
              * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>.
              (WebCore::SVGTransformList::createSVGTransformFromMatrix):
              (WebCore::SVGTransformList::consolidate):
              (WebCore::SVGTransformList::concatenate):
              (WebCore::SVGTransformList::valueAsString):
              * svg/SVGTransformList.h:
              (WebCore::SVGTransformList::SVGTransformList):
              * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
              * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes.
              (WebCore::SVGTransformable::parseTransformAttribute):
              * svg/SVGTransformable.h: Ditto.
              * svg/SVGViewSpec.cpp: Ditto.
              (WebCore::SVGViewSpec::SVGViewSpec):
              (WebCore::SVGViewSpec::setTransform):
              (WebCore::SVGViewSpec::parseViewSpec):
              * svg/SVGViewSpec.h: Ditto.
              (WebCore::SVGViewSpec::transform):
              * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected.
              * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros.
              * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects.
              (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
              (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
              (WebCore::SVGAnimatedTransformListPropertyTearOff::create):
              (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
              * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected.
              * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method.
              * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList.
              * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types
                                                                     that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff).
              (WebCore::SVGStaticPropertyWithParentTearOff::create):
              (WebCore::SVGStaticPropertyWithParentTearOff::commitChange):
              (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
              * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix.
              (WebCore::SVGTransformListPropertyTearOff::create):
              (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
              (WebCore::SVGTransformListPropertyTearOff::consolidate):
              (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
      2010-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Dirk Schulze.
      
              Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49311
      
              Add tests covering StrictTypeChecking and RequiresAllArguments=Raise for SVGMatrix/SVGPoint.
              Imported several new tests from SVG 1.1 2nd Edition, regarding SVG DOM primitives.
      
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.checksum: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added.
              * svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg: Added.
              * svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg: Added.
              * svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg: Added.
              * svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg: Added.
              * svg/W3C-SVG-1.1-SE/types-dom-01-b.svg: Added.
              * svg/W3C-SVG-1.1-SE/types-dom-02-f.svg: Added.
              * svg/W3C-SVG-1.1-SE/types-dom-03-b.svg: Added.
              * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Added.
              * svg/W3C-SVG-1.1-SE/types-dom-05-b.svg: Added.
              * svg/dom/SVGMatrix-expected.txt: Added.
              * svg/dom/SVGMatrix.html: Added.
              * svg/dom/SVGPoint-expected.txt:
              * svg/dom/SVGTransform-expected.txt: Added.
              * svg/dom/SVGTransform.html: Added.
              * svg/dom/SVGTransformList-expected.txt: Added.
              * svg/dom/SVGTransformList.html: Added.
              * svg/dom/script-tests/SVGMatrix.js: Added.
              * svg/dom/script-tests/SVGPoint.js:
              * svg/dom/script-tests/SVGTransform.js: Added.
              * svg/dom/script-tests/SVGTransformList.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bbd697ce
  14. 09 Nov, 2010 1 commit
  15. 08 Nov, 2010 3 commits
    • japhet@chromium.org's avatar
      2010-11-08 Nate Chapin <japhet@chromium.org> · 22e5436c
      japhet@chromium.org authored
              Reviewed by Alexey Proskuryakov.
      
              Move connection-per-host counting and request prioritization out
              of Loader and down to the ResourceLoader level.
      
              https://bugs.webkit.org/show_bug.cgi?id=27165
      
              Refactor only, so no new tests.
      
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::suspendPostAttachCallbacks):
              (WebCore::ContainerNode::resumePostAttachCallbacks):
              * loader/DocumentThreadableLoader.cpp:
              (WebCore::DocumentThreadableLoader::loadRequest):
              * loader/MainResourceLoader.cpp:
              (WebCore::MainResourceLoader::loadNow):
              * loader/NetscapePlugInStreamLoader.cpp:
              (WebCore::NetscapePlugInStreamLoader::create):
              * loader/NetscapePlugInStreamLoader.h:
              * loader/ResourceLoadScheduler.cpp: Added.
              (WebCore::ResourceLoadScheduler::hostForURL):
              (WebCore::resourceLoadScheduler): Returns the single ResourceLoadScheduler instance
              (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
              (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
              (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
              (WebCore::ResourceLoadScheduler::addMainResourceLoad):
              (WebCore::ResourceLoadScheduler::scheduleLoad):
              (WebCore::ResourceLoadScheduler::remove):
              (WebCore::ResourceLoadScheduler::crossOriginRedirectReceived):
              (WebCore::ResourceLoadScheduler::servePendingRequests):
              (WebCore::ResourceLoadScheduler::suspendPendingRequests):
              (WebCore::ResourceLoadScheduler::resumePendingRequests):
              (WebCore::ResourceLoadScheduler::scheduleServePendingRequests):
              (WebCore::ResourceLoadScheduler::requestTimerFired):
              (WebCore::ResourceLoadScheduler::assertLoaderBeingCounted):
              (WebCore::ResourceLoadScheduler::HostInformation::assertLoaderBeingCounted):
              (WebCore::ResourceLoadScheduler::HostInformation::HostInformation):
              (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
              (WebCore::ResourceLoadScheduler::HostInformation::schedule):
              (WebCore::ResourceLoadScheduler::HostInformation::addLoadInProgress):
              (WebCore::ResourceLoadScheduler::HostInformation::remove):
              (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
              * loader/ResourceLoadScheduler.h: Added.
              (WebCore::ResourceLoadScheduler::HostInformation::name):
              (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
              (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
              * loader/ResourceLoader.cpp:
              (WebCore::ResourceLoader::releaseResources): Remove this from ResourceLoadScheduler's counting.
              (WebCore::ResourceLoader::load):
              (WebCore::ResourceLoader::start): Create the ResourceHandle, called by ResourceLoadScheduler.
              (WebCore::ResourceLoader::willSendRequest): Ensure ResourceLoadScheduler counts redirects
                  correctly.
              * loader/ResourceLoader.h:
              (WebCore::ResourceLoader::url):
              * loader/icon/IconLoader.cpp:
              (WebCore::IconLoader::startLoading):
              * loader/loader.cpp: Move scheduling to ResourceLoadScheduler, remove Host subclass
                  and make Loader the SubresourceLoaderClient instead.
              (WebCore::determinePriority):
              (WebCore::Loader::load): Schedule the creation of the ResourceHandle, rather than
                  doing it immediately.
              (WebCore::Loader::cancelRequests):
              (WebCore::Loader::didFinishLoading):
              (WebCore::Loader::didFail):
              (WebCore::Loader::didReceiveResponse):
              (WebCore::Loader::didReceiveData):
              (WebCore::Loader::didReceiveCachedMetadata):
              * loader/loader.h:
              * page/EventSource.cpp:
              (WebCore::EventSource::connect):
              (WebCore::EventSource::endRequest):
              * plugins/PluginStream.cpp:
              (WebCore::PluginStream::start):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::XMLHttpRequest):
              (WebCore::XMLHttpRequest::~XMLHttpRequest):
              (WebCore::XMLHttpRequest::createRequest):
              (WebCore::XMLHttpRequest::didFail):
              (WebCore::XMLHttpRequest::didFinishLoading):
              * xml/XMLHttpRequest.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22e5436c
    • yurys@chromium.org's avatar
      2010-11-08 Yury Semikhatsky <yurys@chromium.org> · 02ff0d6c
      yurys@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: decouple ScriptArguments from ScriptCallStack
              https://bugs.webkit.org/show_bug.cgi?id=48058
      
              ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
              The factory functions that allow to create ScriptCallStack from VM-specific
              objects are defined in ScriptCallStackFactory.cpp.
      
              ScriptArguments class is used for passing arguments from JS code to the native
              part.
      
              No new tests. This refactoring is covered with existing Console tests.
      
              * Android.jscbindings.mk:
              * Android.v8bindings.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSBindingsAllInOne.cpp:
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::profile):
              (WebCore::JSConsole::profileEnd):
              * bindings/js/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/js/ScriptCallStack.cpp.
              (WebCore::createScriptCallStack):
              (WebCore::createScriptArguments):
              (WebCore::ScriptCallStack::stackTrace):
              * bindings/js/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
              * bindings/js/ScriptState.cpp:
              (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
              (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
              (WebCore::ScriptStateProtectedPtr::get):
              * bindings/js/ScriptState.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorV8.pm:
              * bindings/scripts/test/JS/JSTestObj.cpp:
              (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
              * bindings/scripts/test/V8/V8TestObj.cpp:
              (WebCore::TestObjInternal::customArgsAndExceptionCallback):
              * bindings/v8/ScriptCallFrame.h: Removed.
              * bindings/v8/ScriptCallStack.h: Removed.
              * bindings/v8/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/v8/ScriptCallStack.cpp.
              (WebCore::toScriptCallFrame):
              (WebCore::toScriptCallFramesVector):
              (WebCore::createScriptCallStack):
              (WebCore::createScriptArguments):
              (WebCore::ScriptCallStack::stackTrace):
              * bindings/v8/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
              * bindings/v8/ScriptController.cpp:
              (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
              * bindings/v8/ScriptState.h:
              (WebCore::ScriptStateProtectedPtr::get):
              * bindings/v8/V8ConsoleMessage.cpp:
              (WebCore::V8ConsoleMessage::handler):
              (WebCore::V8ConsoleMessage::dispatchNow):
              * bindings/v8/V8ConsoleMessage.h:
              * bindings/v8/custom/V8ConsoleCustom.cpp:
              (WebCore::V8Console::traceCallback):
              (WebCore::V8Console::assertCallback):
              (WebCore::V8Console::profileCallback):
              (WebCore::V8Console::profileEndCallback):
              * dom/NodeFilter.h:
              * inspector/ConsoleMessage.cpp:
              (WebCore::ConsoleMessage::ConsoleMessage):
              (WebCore::ConsoleMessage::addToFrontend):
              (WebCore::ConsoleMessage::updateRepeatCountInConsole):
              (WebCore::ConsoleMessage::isEqual):
              * inspector/ConsoleMessage.h:
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::addMessageToConsole):
              (WebCore::InspectorController::startGroup):
              * inspector/InspectorController.h:
              * inspector/ScriptArguments.cpp: Copied from WebCore/bindings/v8/ScriptCallFrame.cpp.
              (WebCore::ScriptArguments::ScriptArguments):
              (WebCore::ScriptArguments::~ScriptArguments):
              (WebCore::ScriptArguments::argumentAt):
              (WebCore::ScriptArguments::globalState):
              (WebCore::ScriptArguments::getFirstArgumentAsString):
              (WebCore::ScriptArguments::isEqual):
              * inspector/ScriptArguments.h: Copied from WebCore/bindings/js/ScriptCallFrame.h.
              (WebCore::ScriptArguments::argumentCount):
              * inspector/ScriptCallFrame.cpp: Renamed from WebCore/bindings/v8/ScriptCallFrame.cpp.
              (WebCore::ScriptCallFrame::ScriptCallFrame):
              (WebCore::ScriptCallFrame::~ScriptCallFrame):
              (WebCore::ScriptCallFrame::isEqual):
              (WebCore::ScriptCallFrame::buildInspectorObject):
              * inspector/ScriptCallFrame.h: Renamed from WebCore/bindings/js/ScriptCallFrame.h.
              (WebCore::ScriptCallFrame::functionName):
              (WebCore::ScriptCallFrame::sourceURL):
              (WebCore::ScriptCallFrame::lineNumber):
              * inspector/ScriptCallStack.cpp: Renamed from WebCore/bindings/js/ScriptCallFrame.cpp.
              (WebCore::ScriptCallStack::ScriptCallStack):
              (WebCore::ScriptCallStack::~ScriptCallStack):
              (WebCore::ScriptCallStack::at):
              (WebCore::ScriptCallStack::size):
              (WebCore::ScriptCallStack::isEqual):
              (WebCore::ScriptCallStack::buildInspectorObject):
              * inspector/ScriptCallStack.h: Renamed from WebCore/bindings/js/ScriptCallStack.h.
              * page/Console.cpp:
              (WebCore::Console::addMessage):
              (WebCore::Console::debug):
              (WebCore::Console::error):
              (WebCore::Console::info):
              (WebCore::Console::log):
              (WebCore::Console::dir):
              (WebCore::Console::dirxml):
              (WebCore::Console::trace):
              (WebCore::Console::assertCondition):
              (WebCore::Console::count):
              (WebCore::Console::markTimeline):
              (WebCore::Console::profile):
              (WebCore::Console::profileEnd):
              (WebCore::Console::timeEnd):
              (WebCore::Console::group):
              (WebCore::Console::groupCollapsed):
              (WebCore::Console::shouldCaptureFullStackTrace):
              (WebCore::Console::warn):
              * page/Console.h:
              (WebCore::Console::profiles):
              * page/Console.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02ff0d6c
    • zimmermann@webkit.org's avatar
      2010-11-08 Nikolas Zimmermann <nzimmermann@rim.com> · d26a72c1
      zimmermann@webkit.org authored
              Reviewed by Dirk Schulze.
      
              Convert SVGPoint/SVGPointList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49067
      
              Remove SVGAnimatedPoints interface, not reachable through bindings anyway, it was just another MI interface, that
              now has been integrated into SVGPolylineElement/SVGPolygonElement, simplfying the generation and avoiding virtual
              calls in SVGPolylineElement/SVGPolygonElement.
      
              Remove the need to use manual XML <-> SVG DOM synchronization. The points/animatedPoints methods now create
              SVGListPropertyTearOffs, thus using the same synchronization/expose-to-bindings concept like all other
              animated properties.
      
              Convert SVGPoint/SVGPointList to use the new SVGPropertyTearOff concept, adapted all code, as SVGPointList
              is now a plain Vector<FloatPoint>. Enable StrictTypeChecking for SVGPoint.
      
              Test: svg/dom/SVGPoint.html
      
              * Android.derived.v8bindings.mk: Remove SVGAnimatedPoints (and IDL generation).
              * Android.mk: Ditto.
              * CMakeLists.txt: Ditto.
              * DerivedSources.make: Ditto.
              * GNUmakefile.am: Ditto. Add SVGStaticPropertyTearOff.h to build.
              * WebCore.gypi: Ditto.
              * WebCore.order: Remove SVGAnimatedPoints symbols.
              * WebCore.pro: Remove SVGAnimatedPoints (and IDL generation). Add SVGStaticPropertyTearOff.h to build.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * bindings/objc/DOMSVG.h: Remove DOMSVGAnimatedPoints include.
              * bindings/scripts/CodeGenerator.pm: Adapt code converting SVGPoint/SVGPointList to use the new SVGPropertyTearOff concepts.
              * bindings/scripts/CodeGeneratorJS.pm: Ditto.
              * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
              * bindings/scripts/CodeGeneratorV8.pm: Ditto.
              * rendering/SVGRenderTreeAsText.cpp: Adapt for SVGPolyElement API change, use pointList() instead of points() (which is only used for bindings now).
              (WebCore::operator<<):
              * svg/SVGAllInOne.cpp: Remove SVGAnimatedPoints.cpp.
              * svg/SVGAnimateElement.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
              (WebCore::SVGAnimateElement::calculateAnimatedValue):
              (WebCore::SVGAnimateElement::calculateFromAndToValues):
              (WebCore::SVGAnimateElement::applyResultsToTarget):
              * svg/SVGAnimateElement.h:  Ditto.
              * svg/SVGAnimatedPoints.cpp: Removed.
              * svg/SVGAnimatedPoints.h: Removed.
              * svg/SVGAnimatedPoints.idl: Removed.
              * svg/SVGParserUtilities.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
              (WebCore::pointsListFromSVGData):
              * svg/SVGParserUtilities.h: Ditto.
              * svg/SVGPoint.idl: Remove PODType marker, and add StrictTypeChecking for x/y attributes.
              * svg/SVGPointList.cpp: SVGPointList is now a plain Vector<FloatPoint>, rewrite.
              (WebCore::SVGPointList::valueAsString):
              (WebCore::SVGPointList::createAnimated):
              * svg/SVGPointList.h: Ditto.
              (WebCore::SVGPointList::SVGPointList):
              * svg/SVGPolyElement.cpp: Remove manual SVG <-> XML DOM synchronization. Now handles through the SVGAnimatedPropertyTearOff concept.
              (WebCore::SVGPolyElement::parseMappedAttribute):
              (WebCore::SVGPolyElement::svgAttributeChanged):
              (WebCore::SVGPolyElement::synchronizeProperty):
              (WebCore::SVGPolyElement::synchronizePoints):
              (WebCore::SVGPolyElement::points):
              (WebCore::SVGPolyElement::animatedPoints):
              * svg/SVGPolyElement.h: Reindented.
              (WebCore::SVGPolyElement::pointList):
              (WebCore::SVGPolyElement::isValid):
              (WebCore::SVGPolyElement::supportsMarkers):
              * svg/SVGPolygonElement.cpp: Adapt for SVGPointList API change.
              (WebCore::SVGPolygonElement::toPathData):
              * svg/SVGPolygonElement.idl: Remove SVGAnimatedPoints inheritance.
              * svg/SVGPolylineElement.cpp: Adapt for SVGPointList API change.
              (WebCore::SVGPolylineElement::toPathData):
              * svg/SVGPolylineElement.idl: Remove SVGAnimatedPoints inheritance.
              * svg/SVGSVGElement.cpp:
              (WebCore::SVGSVGElement::setCurrentTranslate): Use updateCurrentTranslate().
              (WebCore::SVGSVGElement::updateCurrentTranslate): Added, only used by the bindings, after changing a value of SVGStaticPropertyTearOff object.
              * svg/SVGSVGElement.h:
              (WebCore::SVGSVGElement::currentTranslate): Return reference to m_translation.
              * svg/properties/SVGPropertyTearOff.h: Made constructors protected, as SVGStaticPropertyTearOff inherits from it.
              (WebCore::SVGPropertyTearOff::commitChange):
              * svg/properties/SVGPropertyTraits.h: Add SVGPointList handing.
              * svg/properties/SVGStaticPropertyTearOff.h: Added. Used for SVGProperty types returned by attributes, that are not associated with a SVGAnimatedProperty. (SVGSVGElement::currentTranslate).
              (WebCore::SVGStaticPropertyTearOff::create):
              (WebCore::SVGStaticPropertyTearOff::commitChange):
              (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):
      
      2010-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Dirk Schulze.
      
              Convert SVGPoint/SVGPointList to the new SVGPropertyTearOff concept
              https://bugs.webkit.org/show_bug.cgi?id=49067
      
              * platform/mac/svg/custom/use-property-synchronization-crash-expected.txt: Cloned <polyline> now reports parsing problems as well.
              * svg/custom/polyline-points-crash-expected.txt: Update expectation.
              * svg/custom/polyline-points-crash.html: appendItem(null) now throws, catch exception.
              * svg/dom/points-parser.html: Fix failure reporting, use correct variable name.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d26a72c1
  16. 07 Nov, 2010 3 commits
    • abarth@webkit.org's avatar
      2010-11-07 Adam Barth <abarth@webkit.org> · 94d2d9fd
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * public/WebCache.h:
              * src/WebCache.cpp:
              (WebKit::ToResourceTypeStat):
              (WebKit::WebCache::setCapacities):
              (WebKit::WebCache::clear):
              (WebKit::WebCache::getUsageStats):
              (WebKit::WebCache::getResourceTypeStats):
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * Api/qwebpage.cpp:
              * Api/qwebsettings.cpp:
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * webkit/webkitwebview.cpp:
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * WebCache.cpp:
              (WebCache::statistics):
              * WebFrame.cpp:
              * WebView.cpp:
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * WebView.cpp:
              (wxWebView::SetCachePolicy):
              * WebView.h:
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * Misc/WebCache.mm:
              (+[WebCache statistics]):
              * WebCoreSupport/WebDeviceOrientationClient.mm:
              (WebDeviceOrientationClient::setController):
              * WebView/WebView.mm:
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              So sayeth the diagram.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * css/CSSImageValue.cpp:
              * dom/ContainerNode.cpp:
              * history/PageCache.cpp:
              * inspector/InspectorCSSStore.h:
              * inspector/InspectorResourceAgent.cpp:
              * loader/FrameLoader.cpp:
              * loader/archive/cf/LegacyWebArchive.cpp:
              * loader/cache/Cache.cpp: Removed.
              * loader/cache/Cache.h: Removed.
              * loader/cache/CachedCSSStyleSheet.cpp:
              (WebCore::CachedCSSStyleSheet::allClientsRemoved):
              * loader/cache/CachedFont.cpp:
              * loader/cache/CachedFont.h:
              * loader/cache/CachedImage.cpp:
              (WebCore::CachedImage::destroyDecodedData):
              * loader/cache/CachedImage.h:
              * loader/cache/CachedResource.cpp:
              * loader/cache/CachedResource.h:
              * loader/cache/CachedResourceLoader.cpp:
              * loader/cache/CachedResourceLoader.h:
              * loader/cache/CachedScript.cpp:
              (WebCore::CachedScript::destroyDecodedData):
              * loader/cache/MemoryCache.cpp: Copied from WebCore/loader/cache/Cache.cpp.
              (WebCore::cache):
              (WebCore::MemoryCache::MemoryCache):
              (WebCore::MemoryCache::requestResource):
              (WebCore::MemoryCache::requestUserCSSStyleSheet):
              (WebCore::MemoryCache::revalidateResource):
              (WebCore::MemoryCache::revalidationSucceeded):
              (WebCore::MemoryCache::revalidationFailed):
              (WebCore::MemoryCache::resourceForURL):
              (WebCore::MemoryCache::deadCapacity):
              (WebCore::MemoryCache::liveCapacity):
              (WebCore::MemoryCache::pruneLiveResources):
              (WebCore::MemoryCache::pruneDeadResources):
              (WebCore::MemoryCache::setCapacities):
              (WebCore::MemoryCache::makeResourcePurgeable):
              (WebCore::MemoryCache::evict):
              (WebCore::MemoryCache::addCachedResourceLoader):
              (WebCore::MemoryCache::removeCachedResourceLoader):
              (WebCore::MemoryCache::lruListFor):
              (WebCore::MemoryCache::removeFromLRUList):
              (WebCore::MemoryCache::insertInLRUList):
              (WebCore::MemoryCache::resourceAccessed):
              (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
              (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
              (WebCore::MemoryCache::addToLiveResourcesSize):
              (WebCore::MemoryCache::removeFromLiveResourcesSize):
              (WebCore::MemoryCache::adjustSize):
              (WebCore::MemoryCache::TypeStatistic::addResource):
              (WebCore::MemoryCache::getStatistics):
              (WebCore::MemoryCache::setDisabled):
              (WebCore::MemoryCache::dumpStats):
              (WebCore::MemoryCache::dumpLRULists):
              * loader/cache/MemoryCache.h: Copied from WebCore/loader/cache/Cache.h.
              (WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction):
              * loader/loader.cpp:
              * page/EventSource.cpp:
              * page/Settings.h:
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::createRequest):
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * WebProcess/WebProcess.cpp:
              * WebProcess/mac/WebProcessMac.mm:
              * WebProcess/win/WebProcessWin.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94d2d9fd
    • eric@webkit.org's avatar
      2010-11-07 Eric Seidel <eric@webkit.org> · e06abe1c
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              Move the rest of the cache-related files into loader/cache
              https://bugs.webkit.org/show_bug.cgi?id=49156
      
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * loader/CachePolicy.h: Removed.
              * loader/CachedCSSStyleSheet.cpp: Removed.
              * loader/CachedCSSStyleSheet.h: Removed.
              * loader/CachedFont.cpp: Removed.
              * loader/CachedFont.h: Removed.
              * loader/CachedImage.cpp: Removed.
              * loader/CachedImage.h: Removed.
              * loader/CachedResource.cpp: Removed.
              * loader/CachedResource.h: Removed.
              * loader/CachedResourceClient.h: Removed.
              * loader/CachedResourceClientWalker.cpp: Removed.
              * loader/CachedResourceClientWalker.h: Removed.
              * loader/CachedResourceHandle.cpp: Removed.
              * loader/CachedResourceHandle.h: Removed.
              * loader/CachedResourceLoader.cpp: Removed.
              * loader/CachedResourceLoader.h: Removed.
              * loader/CachedScript.cpp: Removed.
              * loader/CachedScript.h: Removed.
              * loader/CachedXSLStyleSheet.cpp: Removed.
              * loader/CachedXSLStyleSheet.h: Removed.
              * loader/cache/CachePolicy.h: Copied from WebCore/loader/CachePolicy.h.
              * loader/cache/CachedCSSStyleSheet.cpp: Copied from WebCore/loader/CachedCSSStyleSheet.cpp.
              * loader/cache/CachedCSSStyleSheet.h: Copied from WebCore/loader/CachedCSSStyleSheet.h.
              * loader/cache/CachedFont.cpp: Copied from WebCore/loader/CachedFont.cpp.
              * loader/cache/CachedFont.h: Copied from WebCore/loader/CachedFont.h.
              * loader/cache/CachedImage.cpp: Copied from WebCore/loader/CachedImage.cpp.
              * loader/cache/CachedImage.h: Copied from WebCore/loader/CachedImage.h.
              * loader/cache/CachedResource.cpp: Copied from WebCore/loader/CachedResource.cpp.
              * loader/cache/CachedResource.h: Copied from WebCore/loader/CachedResource.h.
              * loader/cache/CachedResourceClient.h: Copied from WebCore/loader/CachedResourceClient.h.
              * loader/cache/CachedResourceClientWalker.cpp: Copied from WebCore/loader/CachedResourceClientWalker.cpp.
              * loader/cache/CachedResourceClientWalker.h: Copied from WebCore/loader/CachedResourceClientWalker.h.
              * loader/cache/CachedResourceHandle.cpp: Copied from WebCore/loader/CachedResourceHandle.cpp.
              * loader/cache/CachedResourceHandle.h: Copied from WebCore/loader/CachedResourceHandle.h.
              * loader/cache/CachedResourceLoader.cpp: Copied from WebCore/loader/CachedResourceLoader.cpp.
              * loader/cache/CachedResourceLoader.h: Copied from WebCore/loader/CachedResourceLoader.h.
              * loader/cache/CachedScript.cpp: Copied from WebCore/loader/CachedScript.cpp.
              * loader/cache/CachedScript.h: Copied from WebCore/loader/CachedScript.h.
              * loader/cache/CachedXSLStyleSheet.cpp: Copied from WebCore/loader/CachedXSLStyleSheet.cpp.
              * loader/cache/CachedXSLStyleSheet.h: Copied from WebCore/loader/CachedXSLStyleSheet.h.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e06abe1c
    • eric@webkit.org's avatar
      2010-11-07 Eric Seidel <eric@webkit.org> · fdb38fb8
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              Move Cache.* into loader/cache in as a start to cleaning up loader/
              https://bugs.webkit.org/show_bug.cgi?id=49153
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * loader/cache/Cache.cpp: Renamed from WebCore/loader/Cache.cpp.
              (WebCore::cache):
              (WebCore::Cache::Cache):
              (WebCore::createResource):
              (WebCore::Cache::requestResource):
              (WebCore::Cache::requestUserCSSStyleSheet):
              (WebCore::Cache::revalidateResource):
              (WebCore::Cache::revalidationSucceeded):
              (WebCore::Cache::revalidationFailed):
              (WebCore::Cache::resourceForURL):
              (WebCore::Cache::deadCapacity):
              (WebCore::Cache::liveCapacity):
              (WebCore::Cache::pruneLiveResources):
              (WebCore::Cache::pruneDeadResources):
              (WebCore::Cache::setCapacities):
              (WebCore::Cache::makeResourcePurgeable):
              (WebCore::Cache::evict):
              (WebCore::Cache::addCachedResourceLoader):
              (WebCore::Cache::removeCachedResourceLoader):
              (WebCore::fastLog2):
              (WebCore::Cache::lruListFor):
              (WebCore::Cache::removeFromLRUList):
              (WebCore::Cache::insertInLRUList):
              (WebCore::Cache::resourceAccessed):
              (WebCore::Cache::removeFromLiveDecodedResourcesList):
              (WebCore::Cache::insertInLiveDecodedResourcesList):
              (WebCore::Cache::addToLiveResourcesSize):
              (WebCore::Cache::removeFromLiveResourcesSize):
              (WebCore::Cache::adjustSize):
              (WebCore::Cache::TypeStatistic::addResource):
              (WebCore::Cache::getStatistics):
              (WebCore::Cache::setDisabled):
              (WebCore::Cache::dumpStats):
              (WebCore::Cache::dumpLRULists):
              * loader/cache/Cache.h: Renamed from WebCore/loader/Cache.h.
              (WebCore::Cache::LRUList::LRUList):
              (WebCore::Cache::TypeStatistic::TypeStatistic):
              (WebCore::Cache::loader):
              (WebCore::Cache::disabled):
              (WebCore::Cache::setPruneEnabled):
              (WebCore::Cache::prune):
              (WebCore::Cache::setDeadDecodedDataDeletionInterval):
              (WebCore::Cache::deadDecodedDataDeletionInterval):
              (WebCore::Cache::remove):
              (WebCore::Cache::shouldMakeResourcePurgeableOnEviction):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fdb38fb8
  17. 06 Nov, 2010 1 commit
    • rniwa@webkit.org's avatar
      2010-11-04 Ryosuke Niwa <rniwa@webkit.org> · 7e06f4ab
      rniwa@webkit.org authored
              Reviewed by Darin Adler.
      
              Bug 46335 - Add EditingStyle
              https://bugs.webkit.org/show_bug.cgi?id=46335
      
              Added EditingStyle to WebCore/editing.  This class is intended to encapsulate getPropertiesNotIn, removeNonEditingProperties,
              editingStyleAtPosition, and prepareEditingStyleToApplyAt in ApplyStyleCommand.cpp once deployed everywhere.
              Deployed it in typing styles.
      
              No new tests are added since this is a refactoring in progress.
      
              * CMakeLists.txt: Added EditingStyle.cpp
              * GNUmakefile.am: Added EditingStyle.cpp and EditingStyle.h
              * WebCore.gypi: Ditto.
              * WebCore.pro: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::moveParagraphs): Calls editingStyleIncludingTypingStyle.
              (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses EditingStyle.
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
              (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
              * editing/DeleteSelectionCommand.h:
              * editing/EditingStyle.cpp: Added.
              (WebCore::editingStyleFromComputedStyle): Added.
              (WebCore::EditingStyle::EditingStyle): Added.
              (WebCore::EditingStyle::init): Added; a clone of ApplyStyleCommand::editingStyleAtPosition.
              (WebCore::EditingStyle::removeTextFillAndStrokeColorsIfNeeded): Extracted from init.
              (WebCore::EditingStyle::replaceFontSizeByKeywordIfPossible): Extracted from init.
              (WebCore::EditingStyle::isEmpty): Added.
              (WebCore::EditingStyle::setStyle): Added.
              (WebCore::EditingStyle::clear): Added.
              (WebCore::EditingStyle::removeBlockProperties): Added.
              (WebCore::EditingStyle::prepareToApplyAt): Added.
              (WebCore::editingStyleIncludingTypingStyle): Added.
              * editing/EditingStyle.h: Added.
              (WebCore::EditingStyle::create): Added.
              (WebCore::EditingStyle::style): Added.
              * editing/RemoveFormatCommand.cpp:
              (WebCore::RemoveFormatCommand::doApply): Uses EditingStyle.
              * editing/SelectionController.h:
              (WebCore::SelectionController::typingStyle): Uses EditingStyle.
              (WebCore::SelectionController::clearTypingStyle): Uses EditingStyle.
              (WebCore::SelectionController::setTypingStyle): Uses EditingStyle.
              * rendering/style/RenderStyle.h: Added EditingStyle as a friend.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e06f4ab
  18. 04 Nov, 2010 2 commits
    • commit-queue@webkit.org's avatar
      2010-11-04 Kenichi Ishibashi <bashi@google.com> · e4ef6e21
      commit-queue@webkit.org authored
              Reviewed by Kent Tamura.
      
              [HTML5][Forms] Support for <output> element
              https://bugs.webkit.org/show_bug.cgi?id=29363
      
              Adds tests for the DOMSettableTokenList and the output element.
      
              * fast/dom/HTMLOutputElement/dom-settable-token-list-expected.txt: Added.
              * fast/dom/HTMLOutputElement/dom-settable-token-list.html: Added.
              * fast/dom/HTMLOutputElement/htmloutputelement-expected.txt: Added.
              * fast/dom/HTMLOutputElement/htmloutputelement-reset-event-expected.txt: Added.
              * fast/dom/HTMLOutputElement/htmloutputelement-reset-event.html: Added.
              * fast/dom/HTMLOutputElement/htmloutputelement-validity-expected.txt: Added.
              * fast/dom/HTMLOutputElement/htmloutputelement-validity.html: Added.
              * fast/dom/HTMLOutputElement/htmloutputelement-value-expected.txt: Added.
              * fast/dom/HTMLOutputElement/htmloutputelement-value.html: Added.
              * fast/dom/HTMLOutputElement/htmloutputelement.html: Added.
              * fast/dom/HTMLOutputElement/script-tests/dom-settable-token-list.js: Added.
              (createElement):
              * fast/dom/HTMLOutputElement/script-tests/htmloutputelement-reset-event.js: Added.
              * fast/dom/HTMLOutputElement/script-tests/htmloutputelement-validity.js: Added.
              * fast/dom/HTMLOutputElement/script-tests/htmloutputelement-value.js: Added.
              * fast/dom/Window/window-properties-expected.txt: Updated expectation.
              * fast/dom/Window/window-property-descriptors-expected.txt: Updated expectation.
              * fast/dom/prototype-inheritance-2-expected.txt: Updated expectation.
              * fast/dom/prototype-inheritance-expected.txt: Updated expectation.
              * fast/js/global-constructors-expected.txt: Updated expectation.
              * platform/chromium/fast/dom/prototype-inheritance-expected.txt: Updated expectation.
              * platform/gtk/fast/dom/Window/window-properties-expected.txt: Updated expectation.
              * platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt: Updated expectation.
              * platform/gtk/fast/dom/prototype-inheritance-expected.txt: Updated expectation.
              * platform/gtk/fast/js/global-constructors-expected.txt: Updated expectation.
              * platform/qt/fast/dom/Window/window-properties-expected.txt: Updated expectation.
              * platform/qt/fast/dom/Window/window-property-descriptors-expected.txt: Updated expectation.
              * platform/qt/fast/dom/prototype-inheritance-expected.txt: Updated expectation.
              * platform/qt/fast/js/global-constructors-expected.txt: Updated expectation.
              * platform/win/fast/dom/Window/window-property-descriptors-expected.txt: Updated expectation.
              * platform/win/fast/dom/prototype-inheritance-2-expected.txt: Updated expectation.
              * platform/win/fast/dom/prototype-inheritance-expected.txt: Updated expectation.
              * platform/win/fast/js/global-constructors-expected.txt: Updated expectation.
      2010-11-04  Kenichi Ishibashi  <bashi@google.com>
      
              Reviewed by Kent Tamura.
      
              [HTML5][Forms] Support for <output> element
              https://bugs.webkit.org/show_bug.cgi?id=29363
      
              Support for <output> element.
      
              Tests: fast/dom/HTMLOutputElement/dom-settable-token-list.html
                     fast/dom/HTMLOutputElement/htmloutputelement-reset-event.html
                     fast/dom/HTMLOutputElement/htmloutputelement-validity.html
                     fast/dom/HTMLOutputElement/htmloutputelement-value.html
                     fast/dom/HTMLOutputElement/htmloutputelement.html
      
              * Android.derived.jscbindings.mk: Added JSHTMLOutputElement.h.
              * Android.derived.v8bindings.mk: Added V8HTMLOutputElement.h.
              * Android.jscbindings.mk: Added JSHTMLOutputElementCustom.cpp.
              * Android.mk: Added HTMLOutputElement.cpp.
              * Android.v8bindings.mk: Added V8HTMLOutputElementCustom.cpp.
              * CMakeLists.txt: Added HTMLOutputElement.{idl,cpp} and JSHTMLOutputElementCustom.cpp.
              * DerivedSources.cpp: Added JSHTMLOutputElement.cpp.
              * DerivedSources.make: Added HTMLOutputElement entry.
              * GNUmakefile.am: Added JSHTMLOutputElement.{cpp,h}
              * WebCore.gypi: Added HTMLOutputElement.{idl,cpp,h}, JSHTMLOutputElementCustom.cpp and V8HTMLOutputElementCustom.cpp
              * WebCore.pri: Added HTMLOutputElement.idl.
              * WebCore.pro: Added V8HTMLOutputElementCustom.cpp, JSHTMLOutputElementCustom.cpp and HTMLOutputElement.cpp.
              * WebCore.vcproj/WebCore.vcproj: Added entries for JSHTMLOutputElement.{cpp,h} and JSHTMLOutputElementCustom.cpp.
              * WebCore.xcodeproj/project.pbxproj: Added entries for JSHTMLOutputElementCustom.cpp, HTMLOutputElement.{cpp,h,idl}, JSHTMLOutputElement.{cpp,h}
              * bindings/js/JSBindingsAllInOne.cpp: Added JSHTMLOutputElementCustom.cpp.
              * bindings/js/JSHTMLOutputElementCustom.cpp: Added.
              (WebCore::JSHTMLOutputElement::htmlFor):
              (WebCore::JSHTMLOutputElement::setHtmlFor):
              * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Modified.
              (WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Returns null if the index is out of range.
              * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Added.
              (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
              (WebCore::V8HTMLOutputElement::htmlForAccessorSetter):
              * css/html.css: Added a default style of output element.
              (output):
              * html/DOMSettableTokenList.cpp: Fix bugs.
              (WebCore::DOMSettableTokenList::item): Returns null string if the index is out of range.
              (WebCore::DOMSettableTokenList::addInternal): Added check m_tokens.isNull().
              (WebCore::DOMSettableTokenList::setValue): Set the value case sensitive.
              * html/HTMLOutputElement.cpp: Added.
              (WebCore::HTMLOutputElement::HTMLOutputElement):
              (WebCore::HTMLOutputElement::create):
              (WebCore::HTMLOutputElement::formControlType):
              (WebCore::HTMLOutputElement::parseMappedAttribute):
              (WebCore::HTMLOutputElement::htmlFor):
              (WebCore::HTMLOutputElement::setFor):
              (WebCore::HTMLOutputElement::setForm):
              (WebCore::HTMLOutputElement::childrenChanged):
              (WebCore::HTMLOutputElement::reset):
              (WebCore::HTMLOutputElement::value):
              (WebCore::HTMLOutputElement::setValue):
              (WebCore::HTMLOutputElement::defaultValue):
              (WebCore::HTMLOutputElement::setDefaultValue):
              (WebCore::HTMLOutputElement::setTextContentInternal):
              * html/HTMLOutputElement.h: Added.
              (WebCore::HTMLOutputElement::isEnumeratable):
              (WebCore::HTMLOutputElement::willValidate):
              * html/HTMLOutputElement.idl: Added.
              * html/HTMLTagNames.in: Added "output".
              * page/DOMWindow.idl: Added an attribute for HTMLOutputElement.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4ef6e21
    • tkent@chromium.org's avatar
      Framework to show form validation message for invalid controls · 6ded062c
      tkent@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=31718
      
      Reviewed by Dimitri Glazkov.
      
      HTMLFormElement::validateInteractively() shows a validation message for
      an invalid control by HTMLFormControlElement::updateVisibleValidationMessage(),
      and the message is hidden when the invalid control looses focus, becomes
      valid, detached, or the form is submitted again.
      
      Introduce ValidationMessage class to manage visible form validation
      message. It has no implementation to show/hide a message yet.
      
      No new tests. New behavior is disabled by default, and is timing-dependent.
      
      * Android.mk: Add ValidationMessage.
      * CMakeLists.txt: ditto.
      * GNUmakefile.am: ditto.
      * WebCore.gypi: ditto.
      * WebCore.pro: ditto.
      * WebCore.vcproj/WebCore.vcproj: ditto.
      * WebCore.xcodeproj/project.pbxproj: ditto.
      * html/HTMLFormControlElement.cpp:
      (WebCore::HTMLFormControlElement::detach): Hides a validation message.
      (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
         Hides a validation message if validation is not needed.
      (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
      (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
      (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
        Hides a validation message or updates the validation message.
      (WebCore::HTMLFormControlElement::dispatchBlurEvent):
        Hides a validation message.
      (WebCore::HTMLFormControlElement::visibleValidationMessage):
      * html/HTMLFormControlElement.h:
      * html/HTMLFormElement.cpp:
      (WebCore::HTMLFormElement::validateInteractively):
       - Hide existing validation messages before showing new message.
       - Show new validation message.
      * html/ValidationMessage.cpp: Added.
      (WebCore::ValidationMessage::ValidationMessage):
      (WebCore::ValidationMessage::~ValidationMessage):
      (WebCore::ValidationMessage::create):
      (WebCore::ValidationMessage::setMessage):
      (WebCore::ValidationMessage::hideMessage):
      * html/ValidationMessage.h: Added.
      (WebCore::ValidationMessage::message):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ded062c
  19. 03 Nov, 2010 2 commits
    • dglazkov@chromium.org's avatar
      2010-11-03 Dimitri Glazkov <dglazkov@chromium.org> · 08804846
      dglazkov@chromium.org authored
              Reverting r71244. Broke default event handling inside text fields.
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              * fast/events/shadow-boundary-crossing.html: Reverted changes.
              * media/audio-delete-while-slider-thumb-clicked.html: Reverted changes.
      2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
      
              Reverting r71244, r71248 and r71250. Broke default event handling inside text fields.
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * dom/ContainerNode.cpp:
              (WebCore::notifyChildInserted):
              * dom/DOMAllInOne.cpp:
              * dom/EventContext.cpp: Removed.
              * dom/EventContext.h: Removed.
              * dom/Node.cpp:
              (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
              (WebCore::Node::createRendererIfNeeded):
              (WebCore::Node::eventParentNode):
              (WebCore::Node::enclosingLinkEventParentOrSelf):
              (WebCore::eventTargetAsSVGElementInstance):
              (WebCore::eventTargetRespectingSVGTargetRules):
              (WebCore::Node::eventAncestors):
              (WebCore::Node::dispatchGenericEvent):
              * dom/Node.h:
              * dom/Text.cpp:
              (WebCore::Text::createRenderer):
              * dom/WindowEventContext.cpp: Removed.
              * dom/WindowEventContext.h: Removed.
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::getEventListenersForNode):
              * inspector/InspectorInstrumentation.cpp:
              (WebCore::eventHasListeners):
              (WebCore::InspectorInstrumentation::willDispatchEventImpl):
              * inspector/InspectorInstrumentation.h:
              (WebCore::InspectorInstrumentation::willDispatchEvent):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::updateMouseEventTargetNode):
              * rendering/ShadowElement.h:
              (WebCore::ShadowElement::shadowParent):
              (WebCore::ShadowElement::shadowParentNode):
              * svg/SVGElement.cpp:
              (WebCore::SVGElement::eventParentNode):
              * svg/SVGElement.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08804846
    • dglazkov@chromium.org's avatar
      2010-11-03 Dimitri Glazkov <dglazkov@chromium.org> · a6a30a39
      dglazkov@chromium.org authored
              Reviewed by Darin Adler.
      
              Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              Tuned shadow-boundary-crossing.html to better reflect its point: the event should indeed fire (it used to be swallowed),
              but its target should be a non-shadow node.
      
              Tweaked audio-delete-while-slider-thumb-clicked.html to actually click on
              the scrubber thumb (it was off by 2 pixels).
      
              * fast/events/shadow-boundary-crossing.html: Modified the test.
              * media/audio-delete-while-slider-thumb-clicked.html : Ditto.
      2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
      
              Reviewed by Darin Adler.
      
              Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
              for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
      
              This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
              appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
      
              * Android.mk: Added EventContext, WindowEventContext files.
              * CMakeLists.txt: Ditto.
              * GNUmakefile.am: Ditto.
              * WebCore.gypi: Ditto.
              * WebCore.pro: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * WebCore.vcproj/WebCore.vcproj: Ditto.
              * dom/ContainerNode.cpp:
              (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
              * dom/EventContext.cpp: Added.
              * dom/EventContext.h: Added.
              * dom/Node.cpp:
              (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
              (WebCore::Node::createRendererIfNeeded): Ditto.
              (WebCore::Node::parentOrHostNode): Added new helper method.
              (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
              (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
              (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
              (WebCore::Node::topEventContext): Added.
              (WebCore::eventHasListeners): Changed to use EventContexts.
              (WebCore::Node::dispatchGenericEvent): Ditto.
              * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
                  and changed signature of eventAncestors to use EventContexts.
              * dom/Text.cpp:
              (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
              * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
              is deleted.
              * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
              * svg/SVGElement.h: Ditto.
              * dom/WindowEventContext.cpp: Added.
              * dom/WindowEventContext.h: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a6a30a39
  20. 01 Nov, 2010 2 commits
    • pfeldman@chromium.org's avatar
      2010-11-01 Pavel Feldman <pfeldman@chromium.org> · 3e75f054
      pfeldman@chromium.org authored
              Reviewed by Timothy Hatcher.
      
              Web Inspector: remove old resources panel.
              https://bugs.webkit.org/show_bug.cgi?id=45657
      
              * CMakeLists.txt:
              * English.lproj/localizedStrings.js:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSInjectedScriptHostCustom.cpp:
              * inspector/InjectedScriptHost.cpp:
              * inspector/Inspector.idl:
              * inspector/InspectorCSSStore.cpp:
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::~InspectorController):
              (WebCore::InspectorController::connectFrontend):
              (WebCore::InspectorController::releaseFrontendLifetimeAgents):
              (WebCore::InspectorController::populateScriptObjects):
              (WebCore::InspectorController::unbindAllResources):
              (WebCore::InspectorController::didCommitLoad):
              (WebCore::InspectorController::frameDetachedFromParent):
              (WebCore::InspectorController::didLoadResourceFromMemoryCache):
              (WebCore::InspectorController::identifierForInitialRequest):
              (WebCore::InspectorController::willSendRequest):
              (WebCore::InspectorController::markResourceAsCached):
              (WebCore::InspectorController::didReceiveResponse):
              (WebCore::InspectorController::didReceiveContentLength):
              (WebCore::InspectorController::didFinishLoading):
              (WebCore::InspectorController::didFailLoading):
              (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
              (WebCore::InspectorController::scriptImported):
              (WebCore::InspectorController::didCreateWebSocket):
              (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
              (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
              (WebCore::InspectorController::didCloseWebSocket):
              * inspector/InspectorController.h:
              * inspector/InspectorFrontendHost.cpp:
              * inspector/InspectorResource.cpp: Removed.
              * inspector/InspectorResource.h: Removed.
              * inspector/InspectorResourceAgent.cpp:
              (WebCore::InspectorResourceAgent::setOverrideContent):
              * inspector/InspectorResourceAgent.h:
              * inspector/front-end/ConsoleView.js:
              (WebInspector.ConsoleView.prototype.addMessage):
              (WebInspector.ConsoleView.prototype.clearMessages):
              * inspector/front-end/ExtensionServer.js:
              (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
              * inspector/front-end/Images/resourcesSilhouette.png: Removed.
              * inspector/front-end/Resource.js:
              * inspector/front-end/ResourceManager.js:
              (WebInspector.ResourceManager.getContent):
              * inspector/front-end/ResourcesPanel.js: Removed.
              * inspector/front-end/Settings.js:
              * inspector/front-end/StoragePanel.js:
              (WebInspector.StoragePanel):
              (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
              * inspector/front-end/WebKit.qrc:
              * inspector/front-end/inspector.html:
              * inspector/front-end/inspector.js:
              (WebInspector._createPanels):
              (WebInspector.get networkResources):
              (WebInspector.forAllResources):
              (WebInspector.resourceForURL):
              (WebInspector.doLoadedDone.populateInspectorState):
              (WebInspector.openResource):
              (WebInspector.domContentEventFired):
              (WebInspector.loadEventFired):
              (WebInspector.reset):
              (WebInspector._choosePanelToShowSourceLine):
      
      2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
      
              Reviewed by Timothy Hatcher.
      
              Web Inspector: remove old resources panel.
              https://bugs.webkit.org/show_bug.cgi?id=45657
      
              * src/WebDevToolsAgentImpl.cpp:
              (WebKit::WebDevToolsAgentImpl::setApuAgentEnabled):
              * src/WebDevToolsAgentImpl.h:
      
      2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
      
              Reviewed by Timothy Hatcher.
      
              Web Inspector: remove old resources panel.
              https://bugs.webkit.org/show_bug.cgi?id=45657
      
              * http/tests/inspector/inspector-test2.js:
              * http/tests/inspector/resource-har-conversion.html:
              * http/tests/inspector/resource-parameters.html:
              * inspector/audits-panel-functional.html:
              * inspector/extensions-test.js:
              * inspector/report-protocol-errors-expected.txt:
              * inspector/report-protocol-errors.html:
              * inspector/styles-source-offsets.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e75f054
    • morrita@google.com's avatar
      2010-10-26 MORITA Hajime <morrita@google.com> · dc25904a
      morrita@google.com authored
              Reviewed by Kent Tamura.
      
              Refactoring: Spellchecking related static functions could form a class
              https://bugs.webkit.org/show_bug.cgi?id=48287
      
              Extracted spellcheck related static functions to TextCheckingHelper class,
              which has EditorClient and Range as its member.
      
              No new tests. Just a refactoring.
      
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * editing/EditingAllInOne.cpp
              * editing/Editor.cpp:
              (WebCore::Editor::advanceToNextMisspelling):
              (WebCore::Editor::isSelectionUngrammatical):
              (WebCore::Editor::guessesForUngrammaticalSelection):
              (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
              (WebCore::Editor::markMisspellingsAfterTypingToPosition):
              (WebCore::Editor::markMisspellingsOrBadGrammar):
              (WebCore::Editor::markMisspellings):
              (WebCore::Editor::markBadGrammar):
              (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
              (WebCore::Editor::changeBackToReplacedString):
              * editing/Editor.h:
              * editing/TextCheckingHelper.cpp: Added.
              (WebCore::TextCheckingHelper::TextCheckingHelper):
              (WebCore::TextCheckingHelper::~TextCheckingHelper):
              (WebCore::TextCheckingHelper::paragraphAlignedRange):
              (WebCore::TextCheckingHelper::findFirstMisspelling):
              (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
              (WebCore::TextCheckingHelper::findFirstGrammarDetail):
              (WebCore::TextCheckingHelper::findFirstBadGrammar):
              (WebCore::TextCheckingHelper::isUngrammatical):
              (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
              (WebCore::TextCheckingHelper::markAllMisspellings):
              (WebCore::TextCheckingHelper::markAllBadGrammar):
              * editing/TextCheckingHelper.h: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc25904a
  21. 30 Oct, 2010 2 commits
    • dglazkov@chromium.org's avatar
      2010-10-30 Dimitri Glazkov <dglazkov@chromium.org> · e51c64e0
      dglazkov@chromium.org authored
              Unreviewed, rolling out r70984.
              http://trac.webkit.org/changeset/70984
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              Made media/audio-delete-while-slider-thumb-clicked.html crash.
      
              * fast/events/shadow-boundary-crossing.html:
      2010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>
      
              Unreviewed, rolling out r70984.
              http://trac.webkit.org/changeset/70984
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              Made media/audio-delete-while-slider-thumb-clicked.html crash.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.xcodeproj/project.pbxproj:
              * dom/ContainerNode.cpp:
              (WebCore::notifyChildInserted):
              * dom/EventContext.cpp: Removed.
              * dom/EventContext.h: Removed.
              * dom/Node.cpp:
              (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
              (WebCore::Node::createRendererIfNeeded):
              (WebCore::Node::eventParentNode):
              (WebCore::Node::enclosingLinkEventParentOrSelf):
              (WebCore::eventTargetAsSVGElementInstance):
              (WebCore::eventTargetRespectingSVGTargetRules):
              (WebCore::Node::eventAncestors):
              (WebCore::Node::dispatchGenericEvent):
              * dom/Node.h:
              * dom/Text.cpp:
              (WebCore::Text::createRenderer):
              * dom/WindowEventContext.cpp: Removed.
              * dom/WindowEventContext.h: Removed.
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::getEventListenersForNode):
              * inspector/InspectorInstrumentation.cpp:
              (WebCore::eventHasListeners):
              (WebCore::InspectorInstrumentation::willDispatchEventImpl):
              * inspector/InspectorInstrumentation.h:
              (WebCore::InspectorInstrumentation::willDispatchEvent):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::updateMouseEventTargetNode):
              * svg/SVGElement.cpp:
              (WebCore::SVGElement::eventParentNode):
              * svg/SVGElement.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e51c64e0
    • dglazkov@chromium.org's avatar
      2010-10-30 Dimitri Glazkov <dglazkov@chromium.org> · 55a42461
      dglazkov@chromium.org authored
              Reviewed by Darin Adler.
      
              Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              Tuned the test to better reflect its point: the event should indeed fire (it used to be swallowed),
              but its target should be a non-shadow node.
      
              * fast/events/shadow-boundary-crossing.html: Modified the test.
      2010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>
      
              Reviewed by Darin Adler.
      
              Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
              https://bugs.webkit.org/show_bug.cgi?id=46015
      
              This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
              for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
      
              This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
              appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
      
              * Android.mk: Added EventContext, WindowEventContext files.
              * CMakeLists.txt: Ditto.
              * GNUmakefile.am: Ditto.
              * WebCore.gypi: Ditto.
              * WebCore.pro: Ditto.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
              * dom/ContainerNode.cpp:
              (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
              * dom/EventContext.cpp: Added.
              * dom/EventContext.h: Added.
              * dom/Node.cpp:
              (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
              (WebCore::Node::createRendererIfNeeded): Ditto.
              (WebCore::Node::parentOrHostNode): Added new helper method.
              (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
              (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
              (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
              (WebCore::Node::topEventContext): Added.
              (WebCore::eventHasListeners): Changed to use EventContexts.
              (WebCore::Node::dispatchGenericEvent): Ditto.
              * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
                  and changed signature of eventAncestors to use EventContexts.
              * dom/Text.cpp:
              (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
              * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
              * svg/SVGElement.h: Ditto.
              * dom/WindowEventContext.cpp: Added.
              * dom/WindowEventContext.h: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55a42461
  22. 29 Oct, 2010 3 commits
    • mrowe@apple.com's avatar
      Roll out r70847 as it causes crashes when typing text in both Safari and Mail:... · 856d3c12
      mrowe@apple.com authored
      Roll out r70847 as it causes crashes when typing text in both Safari and Mail: <http://webkit.org/b/48708>.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      856d3c12
    • commit-queue@webkit.org's avatar
      2010-10-29 Kavita Kanetkar <kkanetkar@chromium.org> · 39b6c6d1
      commit-queue@webkit.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: FileSystem integration
              https://bugs.webkit.org/show_bug.cgi?id=45982
      
              Adding filesystem support for Inspector under storage tab. This fetches root paths for
              temporary and persistent filesystems and allows "reveal folder in OS" option that
              launches native file browser. Currently this feature is disabled for non-chromium platforms.
      
              * CMakeLists.txt:
              * English.lproj/localizedStrings.js:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * inspector/CodeGeneratorInspector.pm:
              * inspector/Inspector.idl:
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::connectFrontend):
              (WebCore::InspectorController::releaseFrontendLifetimeAgents):
              * inspector/InspectorController.h:
              (WebCore::InspectorController::fileSystemAgent):
              * inspector/InspectorFileSystemAgent.cpp: Added.
              * inspector/InspectorFileSystemAgent.h: Added.
              * inspector/front-end/FileSystemView.js: Added.
              * inspector/front-end/Settings.js:
              * inspector/front-end/StoragePanel.js:
              (WebInspector.StoragePanel):
              (WebInspector.StoragePanel.prototype.reset):
              (WebInspector.StoragePanel.prototype.addFileSystem):
              (WebInspector.StoragePanel.prototype.showFileSystem):
              (WebInspector.StoragePanel.prototype.updateFileSystemPath):
              (WebInspector.StoragePanel.prototype.updateFileSystemError):
              (WebInspector.FileSystemTreeElement):
              (WebInspector.FileSystemTreeElement.prototype.onselect):
              * inspector/front-end/WebKit.qrc:
              * inspector/front-end/inspector.css:
              (.file-system-storage-tree-item .icon):
              * inspector/front-end/inspector.html:
              * inspector/front-end/inspector.js:
              (WebInspector.updateResource):
              (WebInspector._addFileSystemOrigin):
              (WebInspector.didGetFileSystemPath):
              (WebInspector.didGetFileSystemError):
              (WebInspector.reset):
              * platform/AsyncFileSystem.h:
              (WebCore::AsyncFileSystem::root):
              * platform/FileSystem.h:
              * platform/chromium/ChromiumBridge.h:
              * platform/chromium/FileSystemChromium.cpp:
              (WebCore::revealFolderInOS):
      2010-10-29  Kavita Kanetkar  <kkanetkar@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              Web Inspector: FileSystem integration
              https://bugs.webkit.org/show_bug.cgi?id=45982
      
              * public/WebFileUtilities.h:
              (WebKit::WebFileUtilities::revealFolderInOS):
              * src/ChromiumBridge.cpp:
              (WebCore::ChromiumBridge::revealFolderInOS):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70956 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      39b6c6d1
    • jianli@chromium.org's avatar
      Support readAsArrayBuffer in FileReader and FileReaderSync · a8c47de0
      jianli@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=47691
      
      Reviewed by David Levin.
      
      WebCore:
      
      Merge the similar code in FileReader and FileReaderSync into
      FileReaderLoader.
      
      Test cases have been added to read-file-test-cases.js.
      
      * Android.jscbindings.mk:
      * CMakeLists.txt:
      * GNUmakefile.am:
      * WebCore.gypi:
      * WebCore.pro:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/v8/custom/V8FileReaderCustom.cpp: Added.
      * fileapi/FileReader.cpp:
      (WebCore::FileReader::FileReader):
      (WebCore::FileReader::readAsArrayBuffer):
      (WebCore::FileReader::readAsBinaryString):
      (WebCore::FileReader::readAsText):
      (WebCore::FileReader::readAsDataURL):
      (WebCore::FileReader::readInternal):
      (WebCore::FileReader::doAbort):
      (WebCore::FileReader::terminate):
      (WebCore::FileReader::start):
      (WebCore::FileReader::didStartLoading):
      (WebCore::FileReader::didReceiveData):
      (WebCore::FileReader::didFinishLoading):
      (WebCore::FileReader::didFail):
      (WebCore::FileReader::fireEvent):
      (WebCore::FileReader::arrayBufferResult):
      (WebCore::FileReader::stringResult):
      * fileapi/FileReader.h:
      (WebCore::FileReader::readType):
      * fileapi/FileReader.idl:
      * fileapi/FileReaderLoader.cpp: Added.
      * fileapi/FileReaderLoader.h: Added.
      * fileapi/FileReaderLoaderClient.h: Added.
      * fileapi/FileReaderSync.cpp:
      (WebCore::FileReaderSync::FileReaderSync):
      (WebCore::FileReaderSync::readAsArrayBuffer):
      (WebCore::FileReaderSync::readAsBinaryString):
      (WebCore::FileReaderSync::readAsText):
      (WebCore::FileReaderSync::readAsDataURL):
      (WebCore::FileReaderSync::startLoading):
      * fileapi/FileReaderSync.h:
      * fileapi/FileReaderSync.idl:
      * html/canvas/ArrayBuffer.cpp:
      (WebCore::ArrayBuffer::create):
      * html/canvas/ArrayBuffer.h:
      * loader/ThreadableLoaderClient.h:
      
      LayoutTests:
      
      * fast/files/read-file-async-expected.txt:
      * fast/files/resources/read-common.js:
      (readBlobAsArrayBuffer):
      (_readBlobAsArrayBufferAsync):
      (_readBlobAsArrayBufferSync):
      (_readBlobAsBinaryStringSync):
      (_readBlobAsTextSync):
      (_readBlobAsDataURLSync):
      (logResult):
      (loaded):
      (_toString):
      (_isASCIIString):
      (_toHexadecimal):
      (_getElementAt):
      * fast/files/resources/read-file-test-cases.js:
      (testReadingNonExistentFileAsArrayBuffer):
      (testReadingEmptyFileAsArrayBuffer):
      (testReadingUTF8EncodedFileAsArrayBuffer):
      (testReadingBinaryFileAsArrayBuffer):
      (testMultipleReads):
      * fast/files/workers/resources/worker-read-file-sync.js:
      (testMultipleReadsSync):
      * fast/files/workers/worker-read-blob-sync-expected.txt:
      * fast/files/workers/worker-read-file-async-expected.txt:
      * fast/files/workers/worker-read-file-sync-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8c47de0