<?xml version="1.0"?>
<statsTarget><link>http://cia.vc/stats/project/webkit</link><counters><counter name="forever" lastEventTime="1338146485" firstEventTime="1136857366">101973</counter><counter name="lastMonth" lastEventTime="1335830258" firstEventTime="1333239504">2799</counter><counter name="thisMonth" lastEventTime="1338146485" firstEventTime="1335832263">2915</counter><counter name="lastWeek" lastEventTime="1337556729" firstEventTime="1336958830">793</counter><counter name="yesterday" lastEventTime="1338068409" firstEventTime="1337990739">62</counter><counter name="thisWeek" lastEventTime="1338146485" firstEventTime="1337559088">899</counter><counter name="today" lastEventTime="1338146485" firstEventTime="1338079324">16</counter></counters><metadata><item name="subtitle"><value type="text/plain">None</value></item><item name="description"><value type="text/plain">WebKit is the system framework used on Mac OS X by Safari, Dashboard, Mail.app, and many other OS X applications. It is based on the KHTML engine from KDE.</value></item><item name="links-filter"><value type="text/plain">None</value></item><item name="title"><value type="text/plain">WebKit</value></item><item name="url"><value type="text/plain">http://webkit.org</value></item><item name="related-filter"><value type="text/plain">None</value></item></metadata><recentMessages><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Source</module></source><body><commit><revision>118627</revision><author>commit-queue@webkit.org</author><log>[BlackBerry] Crash when deleting WebPageCompositor
https://bugs.webkit.org/show_bug.cgi?id=87589

Patch by Arvid Nilsson &lt;anilsson@rim.com&gt; on 2012-05-27
Reviewed by Rob Buis.

The WebPageCompositorPrivate is reference counted, so it may outlive
either the WebPage or the WebPageCompositor, depending on who releases
its reference first.

Fixed by disconnecting the objects properly, regardless of who goes
away first.

Reviewed internally by Mike Lattanzio.

PR #156444

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setCompositor):
(BlackBerry::WebKit::WebPagePrivate::destroyCompositor):
* Api/WebPageCompositor.cpp:
(BlackBerry::WebKit::WebPageCompositor::~WebPageCompositor):
(BlackBerry::WebKit::WebPageCompositor::client):
* Api/WebPageCompositor_p.h:
(BlackBerry::WebKit::WebPageCompositorPrivate::setPage): </log><diffLines>100</diffLines><files><file action="modify">WebKit/blackberry/Api/WebPage.cpp</file><file action="modify">WebKit/blackberry/Api/WebPageCompositor.cpp</file><file action="modify">WebKit/blackberry/Api/WebPageCompositor_p.h</file><file action="modify">WebKit/blackberry/ChangeLog</file></files></commit></body><timestamp>1338146485</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Source</module></source><body><commit><revision>118626</revision><author>commit-queue@webkit.org</author><log>[BlackBerry] BackingStore accesses tiles even though it's not active
https://bugs.webkit.org/show_bug.cgi?id=87563

Patch by Arvid Nilsson &lt;anilsson@rim.com&gt; on 2012-04-18
Reviewed by Antonio Gomes.

There are many scenarios that can call render and cause tile access,
and they used to be rerouted to the direct rendering code when the
backing store was not active. This was thanks to an implicit check for
isActive() by virtue of calling shouldDirectRenderingToWindow() from
render().

If we're using OpenGL for compositing the backing store contents
however, direct rendering is always disabled and we jump right into the
tile based rendering code.

Fixed by adding an explicit check for isActive() in render(), now that
the implicit check in shouldDirectRenderingToWindow() is conditional on
having raster usage.

Since PR136381/bug83131, when OpenGL compositing is used, and the
backing store is not active, it is not in charge of drawing the root
layer. Instead, we switch off the paintingGoesToWindow flag on the root
RenderLayer so no invalidates will reach the ChromeClient or the
BackingStore any more. Instead, invalidations will cause the root
accelerated compositing layer to be repainted. Any BackingStore render
calls while in this state are pointless, and can safely do an early
return.

Reviewed internally by Jakob Petsovits.

PR #150403

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::render): </log><diffLines>69</diffLines><files><file action="modify">WebKit/blackberry/Api/BackingStore.cpp</file><file action="modify">WebKit/blackberry/ChangeLog</file></files></commit></body><timestamp>1338145695</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Source</module></source><body><commit><revision>118625</revision><author>commit-queue@webkit.org</author><log>[BlackBerry] Web page fails to render after clicking link with target=_blank
https://bugs.webkit.org/show_bug.cgi?id=87562

Patch by Arvid Nilsson &lt;anilsson@rim.com&gt; on 2012-04-12
Reviewed by Antonio Gomes.

Clicking such a link opens a new tab. The compositor was briefly in
charge of drawing the root layer while the backing store was inactive
and the user was looking at the other tab. The problem was that the
compositor believed it was still painting the root layer even after the
backing store became active again. The flag was not properly cleared
when turning off compositing.

Fixed by returning false from drawsRootLayer() if we don't have a root
layer.

Reviewed internally by Filip Spacek.

PR #149342

* Api/WebPageCompositor.cpp:
(BlackBerry::WebKit::WebPageCompositorPrivate::drawsRootLayer): </log><diffLines>50</diffLines><files><file action="modify">WebKit/blackberry/Api/WebPageCompositor.cpp</file><file action="modify">WebKit/blackberry/ChangeLog</file></files></commit></body><timestamp>1338144273</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Source</module></source><body><commit><revision>118624</revision><author>ddkilzer@apple.com</author><log>Use xcrun to find gperf path on platforms that use Xcode
&lt;http://webkit.org/b/87587&gt;

Reviewed by Dan Bernstein.

* WebCore.xcodeproj/project.pbxproj:
(Generate Derived Sources): Set GPERF environment variable using
xcrun.
* css/makeprop.pl: Use GPERF environment variable if set, else
&quot;gperf&quot;.
* css/makevalues.pl: Ditto.
* make-hash-tools.pl: Ditto.  </log><diffLines>111</diffLines><files><file action="modify">WebCore/ChangeLog</file><file action="modify">WebCore/WebCore.xcodeproj/project.pbxproj</file><file action="modify">WebCore/css/makeprop.pl</file><file action="modify">WebCore/css/makevalues.pl</file><file action="modify">WebCore/make-hash-tools.pl</file></files></commit></body><timestamp>1338134533</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Tools</module></source><body><commit><revision>118623</revision><author>dbarton@mathscribe.com</author><log>[watchlist] Add myself &amp; a rule for MathML
https://bugs.webkit.org/show_bug.cgi?id=87586

Reviewed by Adam Barth.

* Scripts/webkitpy/common/config/watchlist:  </log><diffLines>42</diffLines><files><file action="modify">ChangeLog</file><file action="modify">Scripts/webkitpy/common/config/watchlist</file></files></commit></body><timestamp>1338120424</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project></source><body><commit><revision>118622</revision><author>commit-queue@webkit.org</author><log>[FileAPI] FileReader should fire progress event when blob has been completely read into memory
https://bugs.webkit.org/show_bug.cgi?id=87585

Patch by Li Yin &lt;li.yin@intel.com&gt; on 2012-05-27
Reviewed by Kentaro Hara.

From Spec: http://www.w3.org/TR/FileAPI/#dfn-progress-event
One progress event will fire when blob has been completely read into memory.
Firefox, Opera and IE follows the spec.
Webkit based browser doesn't do that, it only fires progress event at interval of 50ms.
WebKit should add the behavior to make the conformance with the spec.

Source/WebCore:

Tests: fast/files/file-reader-event-listener.html

* fileapi/FileReader.cpp:
(WebCore::FileReader::didFinishLoading):

LayoutTests:

* fast/files/file-reader-event-listener-expected.txt:
* fast/files/file-reader-event-listener.html: </log><diffLines>116</diffLines><files><file action="modify">trunk/LayoutTests/ChangeLog</file><file action="modify">trunk/LayoutTests/fast/files/file-reader-event-listener-expected.txt</file><file action="modify">trunk/LayoutTests/fast/files/file-reader-event-listener.html</file><file action="modify">trunk/Source/WebCore/ChangeLog</file><file action="modify">trunk/Source/WebCore/fileapi/FileReader.cpp</file></files></commit></body><timestamp>1338120025</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Tools</module></source><body><commit><revision>118621</revision><author>ddkilzer@apple.com</author><log>Use xcrun to find path to nm for Mac port
&lt;http://webkit.org/b/87588&gt;

Reviewed by Dan Bernstein.

* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort.nm_command): Add. Tries to find a path for the nm
command using xcrun.  Falls back to returning 'nm'.
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort.nm_command): Add. Returns 'nm'.
(WebKitPort._webcore_symbols_string): Call self.nm_command(). </log><diffLines>77</diffLines><files><file action="modify">ChangeLog</file><file action="modify">Scripts/webkitpy/layout_tests/port/mac.py</file><file action="modify">Scripts/webkitpy/layout_tests/port/webkit.py</file></files></commit></body><timestamp>1338117512</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project></source><body><commit><revision>118620</revision><author>commit-queue@webkit.org</author><log>[FileAPI] The result attribute of FileReader shuold use null to replace empty string
https://bugs.webkit.org/show_bug.cgi?id=87578

Patch by Li Yin &lt;li.yin@intel.com&gt; on 2012-05-26
Reviewed by Kentaro Hara.

Source/WebCore:

From Spec: http://www.w3.org/TR/FileAPI/#filedata-attr
Before read method has been called or an error in reading has occurred,
the result attribute should be null, not empty string.

Currently, Firefox, Opera and IE 10 follows the spec, but Webkit based
browser don't.
WebKit should change the returned value empty string into null to keep
conformance with the spec.

Tests: fast/files/read-file-async.html
       fast/files/blob-slice-test.html
       fast/files/read-blob-async.html
       fast/files/workers/worker-read-blob-async.html
       fast/files/workers/worker-read-file-async.html

* fileapi/FileReader.cpp:
(WebCore::FileReader::stringResult):

LayoutTests:

From Spec: http://www.w3.org/TR/FileAPI/#filedata-attr
Before read method has been called or an error in reading has occurred,
the result attribute should be null, not empty string.
WebKit should change the returned value empty string into null to keep
conformance with the spec.

* fast/files/blob-slice-test-expected.txt:
* fast/files/read-blob-async-expected.txt:
* fast/files/read-file-async-expected.txt:
* fast/files/resources/read-common.js:
(logResult):
* fast/files/workers/worker-read-blob-async-expected.txt:
* fast/files/workers/worker-read-file-async-expected.txt: </log><diffLines>305</diffLines><files><file action="modify">trunk/LayoutTests/ChangeLog</file><file action="modify">trunk/LayoutTests/fast/files/blob-slice-test-expected.txt</file><file action="modify">trunk/LayoutTests/fast/files/read-blob-async-expected.txt</file><file action="modify">trunk/LayoutTests/fast/files/read-file-async-expected.txt</file><file action="modify">trunk/LayoutTests/fast/files/resources/read-common.js</file><file action="modify">trunk/LayoutTests/fast/files/workers/worker-read-blob-async-expected.txt</file><file action="modify">trunk/LayoutTests/fast/files/workers/worker-read-file-async-expected.txt</file><file action="modify">trunk/Source/WebCore/ChangeLog</file><file action="modify">trunk/Source/WebCore/fileapi/FileReader.cpp</file></files></commit></body><timestamp>1338099442</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Source</module></source><body><commit><revision>118619</revision><author>aestes@apple.com</author><log>Fix the build when NETSCAPE_PLUGIN_API is disabled by marking a
parameter as unused.

* plugins/PluginData.cpp:
(WebCore::PluginData::initPlugins): </log><diffLines>32</diffLines><files><file action="modify">WebCore/ChangeLog</file><file action="modify">WebCore/plugins/PluginData.cpp</file></files></commit></body><timestamp>1338097362</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project></source><body><commit><revision>118618</revision><author>japhet@chromium.org</author><log>Source/WebCore: Cancel CachedResource loads when the last client is removed.
https://bugs.webkit.org/show_bug.cgi?id=35377

Reviewed by Darin Adler.

Test: http/tests/cache/cancel-in-progress-load.html

* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::errorLoadingResource):
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::allClientsRemoved):
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::allClientsRemoved):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::allClientsRemoved):
* loader/cache/CachedRawResource.cpp:
(WebCore):
* loader/cache/CachedRawResource.h:
(WebCore::CachedRawResource::shouldIgnoreHTTPStatusCodeErrors):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::allClientsRemoved):
(WebCore):
* loader/cache/CachedResource.h:
(CachedResource):
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::allClientsRemoved):

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

Reviewed by Darin Adler.

* http/tests/cache/cancel-in-progress-load-expected.txt: Added.
* http/tests/cache/cancel-in-progress-load.html: Added.
* http/tests/misc/write-while-waiting.html: Add waitUntilDone()/notifyDone().
    The slow script will now be cancelled when the script element is removed from the document.
    Without waitUntilDone(), LayoutTestController will immediately end the test upon cancellation
    of the last resource.  </log><diffLines>248</diffLines><files><file action="modify">trunk/LayoutTests/ChangeLog</file><file action="add">trunk/LayoutTests/http/tests/cache/cancel-in-progress-load-expected.txt</file><file action="add">trunk/LayoutTests/http/tests/cache/cancel-in-progress-load.html</file><file action="modify">trunk/LayoutTests/http/tests/misc/write-while-waiting.html</file><file action="modify">trunk/Source/WebCore/ChangeLog</file><file action="modify">trunk/Source/WebCore/loader/SubresourceLoader.cpp</file><file action="modify">trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp</file><file action="modify">trunk/Source/WebCore/loader/cache/CachedFont.cpp</file><file action="modify">trunk/Source/WebCore/loader/cache/CachedImage.cpp</file><file action="modify">trunk/Source/WebCore/loader/cache/CachedRawResource.cpp</file><file action="modify">trunk/Source/WebCore/loader/cache/CachedRawResource.h</file><file action="modify">trunk/Source/WebCore/loader/cache/CachedResource.cpp</file><file action="modify">trunk/Source/WebCore/loader/cache/CachedResource.h</file><file action="modify">trunk/Source/WebCore/loader/cache/CachedScript.cpp</file></files></commit></body><timestamp>1338095544</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project></source><body><commit><revision>118617</revision><author>simon.fraser@apple.com</author><log>fast/block/inline-children-root-linebox-crash.html asserts after r118567
https://bugs.webkit.org/show_bug.cgi?id=87544

Source/WebCore:

Reviewed by Darin Adler.

RenderInline::offsetFromContainer() set offsetDependsOnPoint to true based
on the container's flipped writing mode. However, offsetFromContainer() would
then overwrite that, since it only checked for columns.

Fix by having RenderInline::offsetFromContainer() check for flipping on
the container. This fixes the assertion.

The new testcase exercises fixes another issue; unlike mapLocalToAbsolute(),
RenderGeometryMap::absoluteRect() didn't pass the rect center point through
the mapping, which resulted in a different result in some flipping cases.

Test: compositing/geometry/flipped-blocks-inline-mapping.html

* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::absoluteRect):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::offsetFromContainer):
(WebCore::RenderInline::pushMappingToContainer):

LayoutTests:

Reviewed by Darin Adler.

Remove fast/block/inline-children-root-linebox-crash.html from the skipped
list.

New, more complex writing mode flipping test with compositing.

* compositing/geometry/flipped-blocks-inline-mapping-expected.txt: Added.
* compositing/geometry/flipped-blocks-inline-mapping.html: Added.
* platform/mac/Skipped:  </log><diffLines>168</diffLines><files><file action="modify">trunk/LayoutTests/ChangeLog</file><file action="add">trunk/LayoutTests/compositing/geometry/flipped-blocks-inline-mapping-expected.txt</file><file action="add">trunk/LayoutTests/compositing/geometry/flipped-blocks-inline-mapping.html</file><file action="modify">trunk/LayoutTests/platform/mac/Skipped</file><file action="modify">trunk/Source/WebCore/ChangeLog</file><file action="modify">trunk/Source/WebCore/rendering/RenderGeometryMap.cpp</file><file action="modify">trunk/Source/WebCore/rendering/RenderInline.cpp</file></files></commit></body><timestamp>1338095371</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Source</module></source><body><commit><revision>118616</revision><author>ggaren@apple.com</author><log>WebKit should be lazy-finalization-safe (esp. the DOM) v2
https://bugs.webkit.org/show_bug.cgi?id=87581

Reviewed by Oliver Hunt.

../JavaScriptCore: 

* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::callDestructor):
* heap/WeakBlock.h:
* heap/WeakSetInlines.h:
(JSC::WeakBlock::finalize): Since we don't guarantee destruction order,
it's not valid to access GC pointers like the Structure pointer during
finalization. We NULL out the structure pointer in debug builds to try
to make this programming mistake more obvious.

* API/JSCallbackConstructor.cpp:
(JSC::JSCallbackConstructor::destroy):
* API/JSCallbackObject.cpp:
(JSC::::destroy):
(JSC::JSCallbackObjectData::finalize):
* runtime/Arguments.cpp:
(JSC::Arguments::destroy):
* runtime/DateInstance.cpp:
(JSC::DateInstance::destroy):
* runtime/Error.cpp:
(JSC::StrictModeTypeErrorFunction::destroy):
* runtime/Executable.cpp:
(JSC::ExecutableBase::destroy):
(JSC::NativeExecutable::destroy):
(JSC::ScriptExecutable::destroy):
(JSC::EvalExecutable::destroy):
(JSC::ProgramExecutable::destroy):
(JSC::FunctionExecutable::destroy):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::destroy):
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::destroy):
* runtime/JSStaticScopeObject.cpp:
(JSC::JSStaticScopeObject::destroy):
* runtime/JSString.cpp:
(JSC::JSString::destroy):
* runtime/JSVariableObject.cpp:
(JSC::JSVariableObject::destroy):
* runtime/NameInstance.cpp:
(JSC::NameInstance::destroy):
* runtime/RegExp.cpp:
(JSC::RegExp::destroy):
* runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::destroy):
* runtime/Structure.cpp:
(JSC::Structure::destroy):
* runtime/StructureChain.cpp:
(JSC::StructureChain::destroy): Use static_cast instead of jsCast because
jsCast does Structure-based validation, and our Structure is not guaranteed
to be alive when we get finalized.

../WebCore: 

* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::destroy):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::destroy):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::destroy):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNodeOwner::finalize):
* bindings/js/JSWorkerContextBase.cpp:
(WebCore::JSWorkerContextBase::destroy):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObject::destroy):
(WebCore::JSTestActiveDOMObjectOwner::finalize):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetter::destroy):
(WebCore::JSTestCustomNamedGetterOwner::finalize):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::destroy):
(WebCore::JSTestEventConstructorOwner::finalize):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::destroy):
(WebCore::JSTestEventTargetOwner::finalize):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::destroy):
(WebCore::JSTestExceptionOwner::finalize):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::destroy):
(WebCore::JSTestInterfaceOwner::finalize):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListener::destroy):
(WebCore::JSTestMediaQueryListListenerOwner::finalize):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::destroy):
(WebCore::JSTestNamedConstructorOwner::finalize):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::destroy):
(WebCore::JSTestObjOwner::finalize):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::destroy):
(WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::destroy):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMethod::destroy):
* bridge/qt/qt_runtime_qt4.cpp:
(JSC::Bindings::QtRuntimeMethod::destroy):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::destroy):
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::destroy):
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::destroy):
* bridge/runtime_root.cpp:
(JSC::Bindings::RootObject::finalize): Use static_cast instead of jsCast because
jsCast does Structure-based validation, and our Structure is not guaranteed
to be alive when we get finalized.

../WebKit2: 

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::destroy):
(WebKit::JSNPObject::leakNPObject):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::finalize): Use static_cast instead of jsCast because
jsCast does Structure-based validation, and our Structure is not guaranteed
to be alive when we get finalized.  </log><diffLines>956</diffLines><files><file action="modify">JavaScriptCore/API/JSCallbackConstructor.cpp</file><file action="modify">JavaScriptCore/API/JSCallbackObject.cpp</file><file action="modify">JavaScriptCore/ChangeLog</file><file action="modify">JavaScriptCore/heap/MarkedBlock.cpp</file><file action="modify">JavaScriptCore/heap/WeakBlock.h</file><file action="modify">JavaScriptCore/heap/WeakSetInlines.h</file><file action="modify">JavaScriptCore/runtime/Arguments.cpp</file><file action="modify">JavaScriptCore/runtime/DateInstance.cpp</file><file action="modify">JavaScriptCore/runtime/Error.cpp</file><file action="modify">JavaScriptCore/runtime/Executable.cpp</file><file action="modify">JavaScriptCore/runtime/JSGlobalObject.cpp</file><file action="modify">JavaScriptCore/runtime/JSPropertyNameIterator.cpp</file><file action="modify">JavaScriptCore/runtime/JSStaticScopeObject.cpp</file><file action="modify">JavaScriptCore/runtime/JSString.cpp</file><file action="modify">JavaScriptCore/runtime/JSVariableObject.cpp</file><file action="modify">JavaScriptCore/runtime/NameInstance.cpp</file><file action="modify">JavaScriptCore/runtime/RegExp.cpp</file><file action="modify">JavaScriptCore/runtime/RegExpConstructor.cpp</file><file action="modify">JavaScriptCore/runtime/Structure.cpp</file><file action="modify">JavaScriptCore/runtime/StructureChain.cpp</file><file action="modify">WebCore/ChangeLog</file><file action="modify">WebCore/bindings/js/JSDOMGlobalObject.cpp</file><file action="modify">WebCore/bindings/js/JSDOMWindowBase.cpp</file><file action="modify">WebCore/bindings/js/JSDOMWindowShell.cpp</file><file action="modify">WebCore/bindings/js/JSNodeCustom.cpp</file><file action="modify">WebCore/bindings/js/JSWorkerContextBase.cpp</file><file action="modify">WebCore/bindings/scripts/CodeGeneratorJS.pm</file><file action="modify">WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp</file><file action="modify">WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp</file><file action="modify">WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp</file><file action="modify">WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp</file><file action="modify">WebCore/bindings/scripts/test/JS/JSTestException.cpp</file><file action="modify">WebCore/bindings/scripts/test/JS/JSTestInterface.cpp</file><file action="modify">WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp</file><file action="modify">WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp</file><file action="modify">WebCore/bindings/scripts/test/JS/JSTestObj.cpp</file><file action="modify">WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp</file><file action="modify">WebCore/bridge/objc/objc_runtime.mm</file><file action="modify">WebCore/bridge/qt/qt_runtime.cpp</file><file action="modify">WebCore/bridge/qt/qt_runtime_qt4.cpp</file><file action="modify">WebCore/bridge/runtime_array.cpp</file><file action="modify">WebCore/bridge/runtime_method.cpp</file><file action="modify">WebCore/bridge/runtime_object.cpp</file><file action="modify">WebCore/bridge/runtime_root.cpp</file><file action="modify">WebKit2/ChangeLog</file><file action="modify">WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp</file><file action="modify">WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp</file></files></commit></body><timestamp>1338088019</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Source</module></source><body><commit><revision>118615</revision><author>mjs@apple.com</author><log>REGRESSION (r116720): Subframe PDF scrolls extremely slowly
https://bugs.webkit.org/show_bug.cgi?id=87557
&lt;rdar://problem/11499408&gt;

Reviewed by Anders Carlsson.
        
It's not possible to make an automated test for this.

* WebProcess/Plugins/PDF/BuiltInPDFView.mm:
(WebKit::BuiltInPDFView::wantsWheelEvents): Return true instead of false and delete
misleading comment. While the built-in PDF view would get added to the set of scrollable
areas anyway, there are some code paths that check wantsWheelEvents explicitly, so it seems
necessary to reutrn true.  </log><diffLines>41</diffLines><files><file action="modify">WebKit2/ChangeLog</file><file action="modify">WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.mm</file></files></commit></body><timestamp>1338086096</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Tools</module></source><body><commit><revision>118614</revision><author>dbarton@mathscribe.com</author><log>Move myself to committers.   </log><diffLines>22</diffLines><files><file action="modify">Scripts/webkitpy/common/config/committers.py</file></files></commit></body><timestamp>1338083499</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>LayoutTests</module></source><body><commit><revision>118613</revision><author>dbarton@mathscribe.com</author><log>My first commit - set svn:mime-type to image/png on one .png file.

* platform/mac/mathml/presentation/mroot-pref-width-expected.png:   </log><diffLines>22</diffLines><files><file action="modify">ChangeLog</file><file>platform/mac/mathml/presentation/mroot-pref-width-expected.png</file></files></commit></body><timestamp>1338080822</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project></source><body><commit><revision>118612</revision><author>simon.fraser@apple.com</author><log>Clip rects assertion when hovering div with transform
https://bugs.webkit.org/show_bug.cgi?id=87580

Source/WebCore:

Reviewed by Eric Seidel.

Hit testing used to use temporary clip rects in composited documents,
until r118562. Now that we cache clip rects for hit testing, we need
to clear the cache on descendant layers when a layer gains or loses
a transform.

Test: fast/layers/clip-rects-assertion.html

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

LayoutTests:

Reviewed by Eric Seidel.

Test that changes transform on hover style, testing for clipRect-related
assertions.

* fast/layers/clip-rects-assertion-expected.txt: Added.
* fast/layers/clip-rects-assertion.html: Added.  </log><diffLines>132</diffLines><files><file action="modify">trunk/LayoutTests/ChangeLog</file><file action="add">trunk/LayoutTests/fast/layers/clip-rects-assertion-expected.txt</file><file action="add">trunk/LayoutTests/fast/layers/clip-rects-assertion.html</file><file action="modify">trunk/Source/WebCore/ChangeLog</file><file action="modify">trunk/Source/WebCore/rendering/RenderLayer.cpp</file></files></commit></body><timestamp>1338079324</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Source</module></source><body><commit><revision>118611</revision><author>mitz@apple.com</author><log>&lt;rdar://problem/11439771&gt; WebProcess sends many synchronous messages to the UI process while scrolling beneath ScrollView::contentsToScreen()
https://bugs.webkit.org/show_bug.cgi?id=87571

Reviewed by Anders Carlsson.

fakeMouseEventTimerFired() uses the last known mouse position for the fake mouse event, but
calls contentsToScreen() to compute a corresponding position in screen coordinates. Avoid
this by also recording the last known mouse position in screen coordinates, and using that
value.

* page/EventHandler.cpp:
(WebCore::EventHandler::clear): Added resetting m_currentMouseGlobalPosition.
(WebCore::EventHandler::handleMousePressEvent): Added updating m_currentMouseGlobalPosition
when updating m_currentMousePosition.
(WebCore::EventHandler::handleMouseDoubleClickEvent): Ditto.
(WebCore::EventHandler::handleMouseMoveEvent): Ditto.
(WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
(WebCore::EventHandler::fakeMouseMoveEventTimerFired): Changed to use m_currentMouseGlobalPosition
in the fake event instead of calling contentsToScreen().
* page/EventHandler.h: Added m_currentMouseGlobalPosition data member.   </log><diffLines>101</diffLines><files><file action="modify">WebCore/ChangeLog</file><file action="modify">WebCore/page/EventHandler.cpp</file><file action="modify">WebCore/page/EventHandler.h</file></files></commit></body><timestamp>1338068409</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Source</module></source><body><commit><revision>118610</revision><author>philn@webkit.org</author><log>[GStreamer] Remove ImageGStreamerCG implementation
https://bugs.webkit.org/show_bug.cgi?id=87559

The ImageGStreamerCG abstraction is being removed until I manage to
port my gst-mac WebKit branch over to the WebKit2 mac port. No
need to update the XCode project because this file is not
referenced there anyway.

Reviewed by Martin Robinson.

* platform/graphics/gstreamer/ImageGStreamer.h:
(ImageGStreamer):
* platform/graphics/gstreamer/ImageGStreamerCG.mm: Removed. </log><diffLines>109</diffLines><files><file action="modify">WebCore/ChangeLog</file><file action="modify">WebCore/platform/graphics/gstreamer/ImageGStreamer.h</file><file action="remove">WebCore/platform/graphics/gstreamer/ImageGStreamerCG.mm</file></files></commit></body><timestamp>1338062461</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project></source><body><commit><revision>118609</revision><author>rwlbuis@webkit.org</author><log>Bug 15799: textPath element does not re-render when referenced path changes
https://bugs.webkit.org/show_bug.cgi?id=15799

Patch by Rob Buis &lt;rwlbuis@webkit.org&gt; on 2012-05-26
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Support textPath updating to changes on the referenced path. To make this possible
use the target reference functionality also used by SVGFEImageElement.

Tests: svg/custom/textPath-change-id-expected.svg
       svg/custom/textPath-change-id-pattern-expected.svg
       svg/custom/textPath-change-id-pattern.svg
       svg/custom/textPath-change-id.svg
       svg/custom/textPath-change-id2-expected.svg
       svg/custom/textPath-change-id2-pattern-expected.svg
       svg/custom/textPath-change-id2-pattern.svg
       svg/custom/textPath-change-id2.svg
       svg/custom/textPath-change-reference-expected.svg
       svg/custom/textPath-change-reference-pattern-expected.svg
       svg/custom/textPath-change-reference-pattern.svg
       svg/custom/textPath-change-reference-using-baseval-expected.svg
       svg/custom/textPath-change-reference-using-baseval-pattern-expected.svg
       svg/custom/textPath-change-reference-using-baseval-pattern.svg
       svg/custom/textPath-change-reference-using-baseval.svg
       svg/custom/textPath-change-reference.svg
       svg/custom/textPath-change-reference2-expected.svg
       svg/custom/textPath-change-reference2-pattern-expected.svg
       svg/custom/textPath-change-reference2-pattern.svg
       svg/custom/textPath-change-reference2-using-baseval-expected.svg
       svg/custom/textPath-change-reference2-using-baseval-pattern-expected.svg
       svg/custom/textPath-change-reference2-using-baseval-pattern.svg
       svg/custom/textPath-change-reference2-using-baseval.svg
       svg/custom/textPath-change-reference2.svg
       svg/custom/textPath-insert-path-expected.svg
       svg/custom/textPath-insert-path-pattern-expected.svg
       svg/custom/textPath-insert-path-pattern.svg
       svg/custom/textPath-insert-path.svg
       svg/custom/textPath-modify-child-expected.svg
       svg/custom/textPath-modify-child-pattern-expected.svg
       svg/custom/textPath-modify-child-pattern.svg
       svg/custom/textPath-modify-child.svg
       svg/custom/textPath-path-change-expected.svg
       svg/custom/textPath-path-change-pattern-expected.svg
       svg/custom/textPath-path-change-pattern.svg
       svg/custom/textPath-path-change-using-svg-dom-expected.svg
       svg/custom/textPath-path-change-using-svg-dom-pattern-expected.svg
       svg/custom/textPath-path-change-using-svg-dom-pattern.svg
       svg/custom/textPath-path-change-using-svg-dom.svg
       svg/custom/textPath-path-change.svg
       svg/custom/textPath-path-change2-expected.svg
       svg/custom/textPath-path-change2-pattern-expected.svg
       svg/custom/textPath-path-change2-pattern.svg
       svg/custom/textPath-path-change2.svg
       svg/custom/textPath-remove-path-expected.svg
       svg/custom/textPath-remove-path-pattern-expected.svg
       svg/custom/textPath-remove-path-pattern.svg
       svg/custom/textPath-remove-path.svg
       svg/custom/textPath-set-id-expected.svg
       svg/custom/textPath-set-id.svg
       svg/custom/textPath-startoffset-expected.svg
       svg/custom/textPath-startoffset-pattern-expected.svg
       svg/custom/textPath-startoffset-pattern.svg
       svg/custom/textPath-startoffset.svg

* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::~SVGTextPathElement):
(WebCore):
(WebCore::SVGTextPathElement::clearResourceReferences):
(WebCore::SVGTextPathElement::svgAttributeChanged):
(WebCore::SVGTextPathElement::buildPendingResource):
(WebCore::SVGTextPathElement::insertedInto):
(WebCore::SVGTextPathElement::removedFrom):
* svg/SVGTextPathElement.h:

LayoutTests:

- textPath-path-change-id.svg, react to change of id attribute on referenced path (makes the xlink:href valid).
- textPath-path-change-id2.svg, react to change of id attribute on referenced path (makes the xlink:href invalid).
- textPath-path-set-id.svg, react to setting of id attribute on referenced path (makes the xlink:href valid).
- textPath-change-reference.svg, &lt;textPath&gt; references existing &lt;path&gt;, change the xlink:href to a non-existing one.
- textPath-change-reference-using-baseval.svg, &lt;textPath&gt; references existing &lt;path&gt;, change the xlink:href to a non-existing one using SVG DOM.
- textPath-change-reference2.svg, &lt;textPath&gt; references non-existing &lt;path&gt;, change xlink:href to an existing one.
- textPath-change-reference2-using-baseval.svg, &lt;textPath&gt; references non-existing &lt;path&gt;, change xlink:href to an existing one using SVG DOM.
- textPath-insert-path.svg, &lt;textPath&gt; references non-existing &lt;path&gt;, &lt;path&gt; added dynamically.
- textPath-modify-child.svg, react to change on textPath content.
- textPath-path-change-using-svg-dom.svg, react to change on pathSegList of referenced path.
- textPath-path-change.svg, react to change on d attribute of referenced path.
- textPath-path-change2.svg, react to change on d attribute of path referenced by multiple &lt;textPath&gt;s.
- textPath-remove-path.svg, &lt;textPath&gt; references existing &lt;path&gt;, &lt;path&gt; is removed from DOM.
- textPath-startoffset.svg, react to startOffset attribute change on &lt;textPath&gt;.

These tests are duplicated for &lt;textPath&gt; inside a &lt;pattern&gt;.

* svg/custom/textPath-change-id-expected.svg: Added.
* svg/custom/textPath-change-id-pattern-expected.svg: Added.
* svg/custom/textPath-change-id-pattern.svg: Added.
* svg/custom/textPath-change-id.svg: Added.
* svg/custom/textPath-change-id2-expected.svg: Added.
* svg/custom/textPath-change-id2-pattern-expected.svg: Added.
* svg/custom/textPath-change-id2-pattern.svg: Added.
* svg/custom/textPath-change-id2.svg: Added.
* svg/custom/textPath-change-reference-expected.svg: Added.
* svg/custom/textPath-change-reference-pattern-expected.svg: Added.
* svg/custom/textPath-change-reference-pattern.svg: Added.
* svg/custom/textPath-change-reference-using-baseval-expected.svg: Added.
* svg/custom/textPath-change-reference-using-baseval-pattern-expected.svg: Added.
* svg/custom/textPath-change-reference-using-baseval-pattern.svg: Added.
* svg/custom/textPath-change-reference-using-baseval.svg: Added.
* svg/custom/textPath-change-reference.svg: Added.
* svg/custom/textPath-change-reference2-expected.svg: Added.
* svg/custom/textPath-change-reference2-pattern-expected.svg: Added.
* svg/custom/textPath-change-reference2-pattern.svg: Added.
* svg/custom/textPath-change-reference2-using-baseval-expected.svg: Added.
* svg/custom/textPath-change-reference2-using-baseval-pattern-expected.svg: Added.
* svg/custom/textPath-change-reference2-using-baseval-pattern.svg: Added.
* svg/custom/textPath-change-reference2-using-baseval.svg: Added.
* svg/custom/textPath-change-reference2.svg: Added.
* svg/custom/textPath-insert-path-expected.svg: Added.
* svg/custom/textPath-insert-path-pattern-expected.svg: Added.
* svg/custom/textPath-insert-path-pattern.svg: Added.
* svg/custom/textPath-insert-path.svg: Added.
* svg/custom/textPath-modify-child-expected.svg: Added.
* svg/custom/textPath-modify-child-pattern-expected.svg: Added.
* svg/custom/textPath-modify-child-pattern.svg: Added.
* svg/custom/textPath-modify-child.svg: Added.
* svg/custom/textPath-path-change-expected.svg: Added.
* svg/custom/textPath-path-change-pattern-expected.svg: Added.
* svg/custom/textPath-path-change-pattern.svg: Added.
* svg/custom/textPath-path-change-using-svg-dom-expected.svg: Added.
* svg/custom/textPath-path-change-using-svg-dom-pattern-expected.svg: Added.
* svg/custom/textPath-path-change-using-svg-dom-pattern.svg: Added.
* svg/custom/textPath-path-change-using-svg-dom.svg: Added.
* svg/custom/textPath-path-change.svg: Added.
* svg/custom/textPath-path-change2-expected.svg: Added.
* svg/custom/textPath-path-change2-pattern-expected.svg: Added.
* svg/custom/textPath-path-change2-pattern.svg: Added.
* svg/custom/textPath-path-change2.svg: Added.
* svg/custom/textPath-remove-path-expected.svg: Added.
* svg/custom/textPath-remove-path-pattern-expected.svg: Added.
* svg/custom/textPath-remove-path-pattern.svg: Added.
* svg/custom/textPath-remove-path.svg: Added.
* svg/custom/textPath-set-id-expected.svg: Added.
* svg/custom/textPath-set-id.svg: Added.
* svg/custom/textPath-startoffset-expected.svg: Added.
* svg/custom/textPath-startoffset-pattern-expected.svg: Added.
* svg/custom/textPath-startoffset-pattern.svg: Added.
* svg/custom/textPath-startoffset.svg: Added. </log><diffLines>1177</diffLines><files><file action="modify">trunk/LayoutTests/ChangeLog</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-id-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-id-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-id-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-id.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-id2-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-id2-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-id2-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-id2.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference-using-baseval-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference-using-baseval-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference-using-baseval-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference-using-baseval.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference2-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference2-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference2-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference2-using-baseval-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference2-using-baseval-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference2-using-baseval-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference2-using-baseval.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-change-reference2.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-insert-path-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-insert-path-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-insert-path-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-insert-path.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-modify-child-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-modify-child-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-modify-child-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-modify-child.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change-using-svg-dom-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change-using-svg-dom-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change-using-svg-dom-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change-using-svg-dom.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change2-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change2-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change2-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-path-change2.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-remove-path-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-remove-path-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-remove-path-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-remove-path.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-set-id-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-set-id.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-startoffset-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-startoffset-pattern-expected.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-startoffset-pattern.svg</file><file action="add">trunk/LayoutTests/svg/custom/textPath-startoffset.svg</file><file action="modify">trunk/Source/WebCore/ChangeLog</file><file action="modify">trunk/Source/WebCore/svg/SVGTextPathElement.cpp</file><file action="modify">trunk/Source/WebCore/svg/SVGTextPathElement.h</file></files></commit></body><timestamp>1338048278</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.18</version></generator><source><project>WebKit</project><module>Source</module></source><body><commit><revision>118608</revision><author>zimmermann@webkit.org</author><log>Avoid updateFromElement() usage in SVG
https://bugs.webkit.org/show_bug.cgi?id=87573

Stop relying on updateFromElement() - instead rely on addChild/removeChild, which
allows us to optimize the resources re-fetching. When a child is added to the tree
we don't need to remove existing resources from the SVGResourcesCache - the renderer
can't be in the cache yet. Similary, remove the entry from the cache earlier: as soon
as the renderer is removed from the tree, instead of waiting for willBeDestroyed().

No new tests, refactoring only.

* rendering/svg/RenderSVGBlock.cpp:
* rendering/svg/RenderSVGBlock.h:
(RenderSVGBlock):
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::addChild):
(WebCore):
(WebCore::RenderSVGContainer::removeChild):
* rendering/svg/RenderSVGContainer.h:
(RenderSVGContainer):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::addChild):
(WebCore::RenderSVGInline::removeChild):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGModelObject.cpp:
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::registerResource):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::addChild):
(WebCore):
(WebCore::RenderSVGRoot::removeChild):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::addChild):
(WebCore::RenderSVGText::removeChild):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientStyleChanged):
(WebCore::rendererCanHaveResources):
(WebCore):
(WebCore::SVGResourcesCache::clientWasAddedToTree):
(WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
* rendering/svg/SVGResourcesCache.h:
(SVGResourcesCache):
* svg/SVGStyledElement.cpp:
* svg/SVGStyledElement.h:
(SVGStyledElement): </log><diffLines>415</diffLines><files><file action="modify">WebCore/ChangeLog</file><file action="modify">WebCore/rendering/svg/RenderSVGBlock.cpp</file><file action="modify">WebCore/rendering/svg/RenderSVGBlock.h</file><file action="modify">WebCore/rendering/svg/RenderSVGContainer.cpp</file><file action="modify">WebCore/rendering/svg/RenderSVGContainer.h</file><file action="modify">WebCore/rendering/svg/RenderSVGInline.cpp</file><file action="modify">WebCore/rendering/svg/RenderSVGInline.h</file><file action="modify">WebCore/rendering/svg/RenderSVGModelObject.cpp</file><file action="modify">WebCore/rendering/svg/RenderSVGModelObject.h</file><file action="modify">WebCore/rendering/svg/RenderSVGResourceContainer.cpp</file><file action="modify">WebCore/rendering/svg/RenderSVGRoot.cpp</file><file action="modify">WebCore/rendering/svg/RenderSVGRoot.h</file><file action="modify">WebCore/rendering/svg/RenderSVGText.cpp</file><file action="modify">WebCore/rendering/svg/SVGResourcesCache.cpp</file><file action="modify">WebCore/rendering/svg/SVGResourcesCache.h</file><file action="modify">WebCore/svg/SVGStyledElement.cpp</file><file action="modify">WebCore/svg/SVGStyledElement.h</file></files></commit></body><timestamp>1338039249</timestamp></message></recentMessages></statsTarget>
