Timeline
May 27, 2012:
- 10:48 PM Changeset in webkit [118649] by
-
- 2 edits in trunk/Source/WTF
Fix an incorrect assertion in Vector::remove
https://bugs.webkit.org/show_bug.cgi?id=87612
Reviewed by Dan Bernstein.
- wtf/Vector.h: There's no good reason to disallow calling remove
with a size of 0, even when the position is at the end of the vector,
so changed the two-argument Vector::remove assertion to assert that
the position is <= size rather than < size.
- 10:13 PM Changeset in webkit [118648] by
-
- 3 edits4 adds in trunk
cut, copy or paste event won't be fired in Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87352
Reviewed by Dimitri Glazkov.
Source/WebCore:
cut, copy or paste event was not fired in Shadow DOM.
Since event re-targeting has been implemented, it should be safe to fire them in Shadow DOM now.
Tests: fast/dom/shadow/cppevent-in-shadow.html
fast/dom/shadow/cppevent-input-in-shadow.html
- editing/Editor.cpp:
(WebCore::Editor::findEventTargetFrom):
LayoutTests:
- fast/dom/shadow/cppevent-in-shadow-expected.txt: Added.
- fast/dom/shadow/cppevent-in-shadow.html: Added.
- fast/dom/shadow/cppevent-input-in-shadow-expected.txt: Added.
- fast/dom/shadow/cppevent-input-in-shadow.html: Added.
- 10:00 PM Changeset in webkit [118647] by
-
- 7 edits in trunk
[EFL] Enable blob support for the EFL port
https://bugs.webkit.org/show_bug.cgi?id=85363
Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-27
Reviewed by Hajime Morita.
.:
Enable Blob support by default for the EFL port.
- Source/cmake/OptionsEfl.cmake:
Tools:
Enable Blob support by default for the EFL port.
- Scripts/webkitperl/FeatureList.pm:
LayoutTests:
Unskip tests which require blob support to be enabled.
- platform/efl/Skipped:
- platform/efl/test_expectations.txt:
- 9:56 PM Changeset in webkit [118646] by
-
- 6 edits in trunk/Source/JavaScriptCore
Weak pointer finalization should be lazy
https://bugs.webkit.org/show_bug.cgi?id=87599
Reviewed by Darin Adler.
- heap/Heap.cpp:
(JSC::Heap::collect): Don't force immediate finalization -- it will
happen lazily.
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::sweep): Sweep a block's weak set when sweeping the
block. The weak set may not have been swept yet, and this is our last
chance to run weak finalizers before we recycle the memory they reference.
- heap/MarkedBlock.h:
- heap/MarkedSpace.cpp:
(JSC::MarkedBlock::sweepWeakSets):
- heap/MarkedSpace.h:
(JSC::MarkedSpace::sweepWeakSets): Nixed sweepWeakSets because it's unused
now.
- 9:39 PM Changeset in webkit [118645] by
-
- 5 edits in trunk
Support multiple shadow roots in event dispatching.
https://bugs.webkit.org/show_bug.cgi?id=87470
Reviewed by Dimitri Glazkov.
Source/WebCore:
The current implementation does not set event's target correctly
if an event happens on DOM tree with multiple shadow roots. So
this patch updates an event re-targeting algorithm so that it
works even if it is applied to multiple shadow roots.
Tests: fast/dom/shadow/shadow-dom-event-dispatching.html
- dom/ComposedShadowTreeWalker.cpp:
(WebCore::ComposedShadowTreeWalker::traverseParentIncludingInsertionPointAndShadowRoot):
- dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::ensureEventAncestors):
LayoutTests:
- fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
- fast/dom/shadow/shadow-dom-event-dispatching.html:
- 9:22 PM Changeset in webkit [118644] by
-
- 3 edits in trunk/Source/WebCore
Minor code cleaning for the interface of MainResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=87607
Reviewed by Darin Adler.
- loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
(WebCore::MainResourceLoader::handleSubstituteDataLoadSoon):
- loader/MainResourceLoader.h:
(MainResourceLoader):
-Add the OVERRIDE keyword for the methods inherited from ResourceLoader.
-Remove the useless declaration of handleDataLoad(ResourceRequest&), this method does not exist.
-Rename handleDataLoadNow() to handleSubstituteDataLoadNow() and make the method private. This should
only be used by handleSubstituteDataLoadSoon() and indirectly through the timer.
- 7:26 PM Changeset in webkit [118643] by
-
- 4 edits in trunk/Source
[WTF] Introduce UINT64_C to MathExtras.h
https://bugs.webkit.org/show_bug.cgi?id=87485
Reviewed by Kent Tamura.
Source/WebCore:
This patch introduces UINT64_C for all platforms to avoid using
conditional compilation.
No new tests. This patch doesn't change behavior.
- Modules/websockets/WebSocketFrame.cpp:
(WebCore::WebSocketFrame::parseFrame): Replace conditional compilation with UINT64_C.
Source/WTF:
- wtf/MathExtras.h:
- 7:05 PM Changeset in webkit [118642] by
-
- 5 copies1 add in releases/Apple/Safari 5.1.7
Added a tag for the Safari 5.1.7 release.
Safari 5.1.7 includes JavaScriptCore-x534.57.3, JavaScriptGlue-x534.57.2, WebCore-x534.57.2, WebKit-x534.57.2, and WebKit2-x534.57.2.
- 6:58 PM Changeset in webkit [118641] by
-
- 4 copies1 add in releases/Apple/OS X Lion Update 10.7.4
Added a tag for the OS X Lion Update 10.7.4 release.
OS X Lion v10.7.4 includes JavaScriptCore-7534.56.6, WebCore-7534.56.5, WebKit-7534.56.5, and WebKit2-7534.56.5.
- 6:56 PM Changeset in webkit [118640] by
-
- 2 edits in trunk
[CMake] Make WEBKIT_SET_EXTRA_COMPILER_FLAGS work with clang.
https://bugs.webkit.org/show_bug.cgi?id=87597
Reviewed by Daniel Bates.
Building with clang requires at least the -fPIC option being
passed correctly, just like it is needed with gcc. clang is also
compatible with most of gcc's compiler options, so we only need to
check for clang besides g++ in the macro definition.
- Source/cmake/WebKitHelpers.cmake: Check for "Clang" and use
CMAKE_COMPILER_IS_GNUCXX for the previous check, as it is shorter
and achieves the same effect.
- 6:53 PM Changeset in webkit [118639] by
-
- 2 edits in trunk/Source/WebCore
Use StringBuilder in WebKitCSSTransformValue::customCssText() to allow code reuse with CSS Variables.
https://bugs.webkit.org/show_bug.cgi?id=87462
Reviewed by Dimitri Glazkov.
Factor out strings into a const char* array, and use a StringBuilder instead of String concatenation.
This will allow future code to re-use the array of transform names, and StringBuilder is generally faster.
Covered by existing CSS transform tests.
- css/WebKitCSSTransformValue.cpp:
(WebCore):
(WebCore::WebKitCSSTransformValue::customCssText):
- 6:52 PM Changeset in webkit [118638] by
-
- 5 copies1 add in releases/Apple/Safari 5.1.5
Added a tag for the Safari 5.1.5 release.
Safari 5.1.5 includes JavaScriptCore-x534.55.2, JavaScriptGlue-x534.55.2, WebCore-x534.55.3, WebKit-x534.55.3, and WebKit2-x534.55.3.
- 6:49 PM Changeset in webkit [118637] by
-
- 5 copies1 add in releases/Apple/Safari 5.1.4
Added a tag for the Safari 5.1.4 release.
Safari 5.1.4 includes JavaScriptCore-x534.54.15, JavaScriptGlue-x534.54.5, WebCore-x534.54.17, WebKit-x534.54.16, and WebKit2-x534.54.16.
- 6:44 PM Changeset in webkit [118636] by
-
- 4 copies1 add in releases/Apple/OS X Lion Update 10.7.3
Added a tag for the OS X Lion Update 10.7.3 release.
OS X Lion v10.7.3 includes JavaScriptCore-x534.53.8, WebCore-x534.53.11, WebKit-x534.53.11, and WebKit2-x534.53.11.
- 6:24 PM Changeset in webkit [118635] by
-
- 5 copies1 add in releases/Apple/Safari 5.1.2
Added a tag for the Safari 5.1.2 release.
Safari 5.1.2 includes JavaScriptCore-x534.52.7, JavaScriptGlue-x534.51.13, WebCore-x534.52.11, WebKit-x534.52.7, and WebKit2-x534.52.7.
- 6:17 PM Changeset in webkit [118634] by
-
- 5 copies1 add in releases/Apple/Safari 5.1.1
Added a tag for the Safari 5.1.1 release.
Safari 5.1.1 includes JavaScriptCore-x534.51.21, JavaScriptGlue-x534.51.13, WebCore-x534.51.22, WebKit-x534.51.22, and WebKit2-x534.51.22.
- 5:28 PM Changeset in webkit [118633] by
-
- 3 edits in trunk/LayoutTests
fast/dom/shadow/content-element-in-media.html is wrong.
https://bugs.webkit.org/show_bug.cgi?id=81310
Modifying to check() to dump expected and actual text at the same
absolute position, because DumpRenderTree dumps absolute x,y-position
information for a layer which contains RenderVideo. For example,
backgroundClip at (8,163), clip at (8, 163) and so on.
Patch by Takashi Sakamoto <tasak@google.com> on 2012-05-27
Reviewed by Hajime Morita.
- fast/dom/resources/shadow-test-driver.js:
(check):
Disabled actual block when dumping expected block as text, and vice
versa.
- platform/chromium/test_expectations.txt:
Removed BUGWK81310.
- 5:23 PM Changeset in webkit [118632] by
-
- 2 edits in trunk/Source/WebCore
[BlackBerry] Update color for tap highlight and selection
https://bugs.webkit.org/show_bug.cgi?id=87606
Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-27
Reviewed by Antonio Gomes.
PR #154813
- platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::RenderThemeBlackBerry::platformTapHighlightColor):
(WebCore::RenderThemeBlackBerry::platformActiveSelectionBackgroundColor):
- 2:31 PM Changeset in webkit [118631] by
-
- 9 edits4 adds in trunk
When pages are loaded from AppCache with DeferredLoading, willSendRequest() is never called
https://bugs.webkit.org/show_bug.cgi?id=87582
Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-05-27
Reviewed by Darin Adler.
Source/WebCore:
Previously, there was a shortcut when a deferred MainResourceLoader is resumed: If the data
was coming from AppCache we could jump directly to startDataLoadTimer().
The problem with the shortcut is willSendRequest() is never called in that particular case
(substituteData + deferred-resume). The imbalance between willSendRequest() and didReceiveResponse()
causes problems.
This patch removes the shortcut so that MainResourceLoader::loadNow() is used regardless of
the deferred loading. The method MainResourceLoader::loadNow() handle the substituteData as if the loading
was not deferred.
Test: http/tests/appcache/load-from-appcache-defer-resume-crash.html
- loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::continueAfterNavigationPolicy):
(WebCore::MainResourceLoader::handleSubstituteDataLoadSoon):
Rename the method to be consistent with the attribute it uses, making the naming more explicit.
(WebCore::MainResourceLoader::loadNow):
(WebCore::MainResourceLoader::setDefersLoading):
- loader/MainResourceLoader.h:
(MainResourceLoader):
Tools:
Extend DumpRenderTree to support loading the main resource deferred with a delay. This makes it
possible to test pages in a similar way as they are loaded in Browsers.
- DumpRenderTree/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(setUseDeferredFrameLoadingCallback):
(LayoutTestController::staticFunctions):
- DumpRenderTree/LayoutTestController.h:
(LayoutTestController::useDeferredFrameLoading):
(LayoutTestController::setUseDeferredFrameLoading):
(LayoutTestController):
- DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]):
LayoutTests:
- http/tests/appcache/load-from-appcache-defer-resume-crash-expected.txt: Added.
- http/tests/appcache/load-from-appcache-defer-resume-crash.html: Added.
- http/tests/appcache/resources/load-from-appcache-defer-resume-bounce-back.html: Added.
- http/tests/appcache/resources/load-from-appcache-defer-resume-crash.manifest: Added.
- 12:51 PM Changeset in webkit [118630] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening after r118618.
- platform/gtk/test_expectations.txt:
- 12:48 PM Changeset in webkit [118629] by
-
- 2 edits in trunk/Source/WebKit/qt
[Qt] Trivial unreviewed build fix with newer Qt
- Api/qwebpage.cpp:
(QWebPage::javaScriptPrompt): Don't use deprecated QString/QChar functions.
- 12:27 PM Changeset in webkit [118628] by
-
- 2 edits in trunk/Tools
[watchlist] Improve MathML rule
https://bugs.webkit.org/show_bug.cgi?id=87592
Reviewed by Adam Barth.
The old rule "filename": r".*mathml" works fine because "filename" is a prefix match,
but if this changed the rule would be slow. We protect against this, clarify the rule,
and make it more similar to existing rules.
- Scripts/webkitpy/common/config/watchlist:
- 7:54 AM Changeset in webkit [118627] by
-
- 4 edits in trunk/Source/WebKit/blackberry
[BlackBerry] Crash when deleting WebPageCompositor
https://bugs.webkit.org/show_bug.cgi?id=87589
Patch by Arvid Nilsson <anilsson@rim.com> 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):
- 7:41 AM Changeset in webkit [118626] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[BlackBerry] BackingStore accesses tiles even though it's not active
https://bugs.webkit.org/show_bug.cgi?id=87563
Patch by Arvid Nilsson <anilsson@rim.com> 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):
- 7:17 AM Changeset in webkit [118625] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[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 <anilsson@rim.com> 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):
- 4:35 AM Changeset in webkit [118624] by
-
- 5 edits in trunk/Source/WebCore
Use xcrun to find gperf path on platforms that use Xcode
<http://webkit.org/b/87587>
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
"gperf".
- css/makevalues.pl: Ditto.
- make-hash-tools.pl: Ditto.
- 12:40 AM Changeset in webkit [118623] by
-
- 2 edits in trunk/Tools
[watchlist] Add myself & a rule for MathML
https://bugs.webkit.org/show_bug.cgi?id=87586
Reviewed by Adam Barth.
- Scripts/webkitpy/common/config/watchlist:
- 12:35 AM Applications using WebKit edited by
- (diff)
- 12:34 AM Applications using WebKit edited by
- (diff)
- 12:34 AM Changeset in webkit [118622] by
-
- 5 edits in trunk
[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 <li.yin@intel.com> 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:
May 26, 2012:
- 11:52 PM Changeset in webkit [118621] by
-
- 3 edits in trunk/Tools
Use xcrun to find path to nm for Mac port
<http://webkit.org/b/87588>
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().
- 6:51 PM Changeset in webkit [118620] by
-
- 9 edits in trunk
[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 <li.yin@intel.com> 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:
- 6:16 PM Changeset in webkit [118619] by
-
- 2 edits in trunk/Source/WebCore
Fix the build when NETSCAPE_PLUGIN_API is disabled by marking a
parameter as unused.
- plugins/PluginData.cpp:
(WebCore::PluginData::initPlugins):
- 5:46 PM Changeset in webkit [118618] by
-
- 12 edits2 adds in trunk
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.
- 5:43 PM Changeset in webkit [118617] by
-
- 5 edits2 adds in trunk
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:
- 3:40 PM Changeset in webkit [118616] by
-
- 47 edits in trunk/Source
WebKit should be lazy-finalization-safe (esp. the DOM) v2
https://bugs.webkit.org/show_bug.cgi?id=87581
Reviewed by Oliver Hunt.
- 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.
- 3:08 PM Changeset in webkit [118615] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r116720): Subframe PDF scrolls extremely slowly
https://bugs.webkit.org/show_bug.cgi?id=87557
<rdar://problem/11499408>
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.
- 2:25 PM Changeset in webkit [118614] by
-
- 1 edit in trunk/Tools/Scripts/webkitpy/common/config/committers.py
Move myself to committers.
- 1:35 PM Changeset in webkit [118613] by
-
- 2 edits in trunk/LayoutTests
My first commit - set svn:mime-type to image/png on one .png file.
- platform/mac/mathml/presentation/mroot-pref-width-expected.png:
- 1:15 PM Changeset in webkit [118612] by
-
- 3 edits2 adds in trunk
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.
- 10:32 AM WebKit Team edited by
- (diff)
- 10:14 AM Changeset in webkit [118611] by
-
- 3 edits in trunk/Source/WebCore
<rdar://problem/11439771> 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.
- 8:34 AM Changeset in webkit [118610] by
-
- 2 edits1 delete in trunk/Source/WebCore
[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.
- 4:38 AM Changeset in webkit [118609] by
-
- 4 edits54 adds in trunk
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 <rwlbuis@webkit.org> 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, <textPath> references existing <path>, change the xlink:href to a non-existing one.
- textPath-change-reference-using-baseval.svg, <textPath> references existing <path>, change the xlink:href to a non-existing one using SVG DOM.
- textPath-change-reference2.svg, <textPath> references non-existing <path>, change xlink:href to an existing one.
- textPath-change-reference2-using-baseval.svg, <textPath> references non-existing <path>, change xlink:href to an existing one using SVG DOM.
- textPath-insert-path.svg, <textPath> references non-existing <path>, <path> 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 <textPath>s.
- textPath-remove-path.svg, <textPath> references existing <path>, <path> is removed from DOM.
- textPath-startoffset.svg, react to startOffset attribute change on <textPath>.
These tests are duplicated for <textPath> inside a <pattern>.
- 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.
- 2:08 AM Changeset in webkit [118608] by
-
- 17 edits in trunk/Source/WebCore
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):
- 12:16 AM Changeset in webkit [118607] by
-
- 2 edits2 adds in trunk/LayoutTests
Unreviewed GTK gardening after r118577 and r118585.
- platform/gtk/http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt: Added.
- platform/gtk/http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt: Added.
- platform/gtk/test_expectations.txt: