profile/ivi/webkit-efl.git
12 years agoMacro assembler branch8 & 16 methods vary in treatment of upper bits
barraclough@apple.com [Tue, 27 Sep 2011 23:32:23 +0000 (23:32 +0000)]
Macro assembler branch8 & 16 methods vary in treatment of upper bits
https://bugs.webkit.org/show_bug.cgi?id=68301

Reviewed by Sam Weinig.

Fix for branch16 - remove it!
No performance impact.

* assembler/MacroAssembler.h:
* assembler/MacroAssemblerARM.h:
* assembler/MacroAssemblerARMv7.h:
* assembler/MacroAssemblerMIPS.h:
* assembler/MacroAssemblerSH4.h:
* assembler/MacroAssemblerX86Common.h:
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::jumpIfCharNotEquals):
(JSC::Yarr::YarrGenerator::generatePatternCharacterOnce):
(JSC::Yarr::YarrGenerator::generatePatternCharacterFixed):
(JSC::Yarr::YarrGenerator::generatePatternCharacterGreedy):
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterNonGreedy):

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

12 years agoSlightly improve performance of CSSStyleApplyProperty handler lookup.
macpherson@chromium.org [Tue, 27 Sep 2011 23:24:53 +0000 (23:24 +0000)]
Slightly improve performance of CSSStyleApplyProperty handler lookup.
https://bugs.webkit.org/show_bug.cgi?id=68868

Reviewed by Eric Seidel.

No new tests as no functionality changed.

* css/CSSStyleApplyProperty.h:
(WebCore::CSSStyleApplyProperty::propertyHandler):
Make propertyHandler() public and remove redirecting functions.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
Perform property handler lookup once and reuse the result.

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

12 years agoChromium baselines for fast/multicol/float-paginate-empty-lines.html
mihaip@chromium.org [Tue, 27 Sep 2011 23:11:49 +0000 (23:11 +0000)]
Chromium baselines for fast/multicol/float-paginate-empty-lines.html
after r96149 and 96162.

* platform/chromium-linux/fast/multicol/float-paginate-empty-lines-expected.png: Added.
* platform/chromium-mac/fast/multicol/float-paginate-empty-lines-expected.png: Added.
* platform/chromium-win/fast/multicol/float-paginate-empty-lines-expected.png: Added.
* platform/chromium-win/fast/multicol/float-paginate-empty-lines-expected.txt: Added.

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

12 years ago[V8] element.dataset.nonExistingKey should return undefined.
tkent@chromium.org [Tue, 27 Sep 2011 23:05:01 +0000 (23:05 +0000)]
[V8] element.dataset.nonExistingKey should return undefined.
https://bugs.webkit.org/show_bug.cgi?id=68877

Reviewed by Nate Chapin.

Source/WebCore:

* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::V8DOMStringMap::namedPropertyGetter): Uses v8StringOrUndefined() instead of v8String().

LayoutTests:

* fast/dom/dataset-expected.txt: Updated.
* fast/dom/script-tests/dataset.js: Add a test case.

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

12 years agoChromium rebaseline after r96155.
mihaip@chromium.org [Tue, 27 Sep 2011 22:53:56 +0000 (22:53 +0000)]
Chromium rebaseline after r96155.

* platform/chromium-cg-mac/svg/custom/pattern-excessive-malloc-expected.png: Added.
* platform/chromium-linux/svg/custom/oversized-pattern-scale-expected.png: Added.
* platform/chromium-mac/svg/custom/transformed-pattern-clamp-svg-root-expected.png: Added.
* platform/chromium-win/svg/custom/oversized-pattern-scale-expected.png: Added.
* platform/chromium-win/svg/custom/pattern-excessive-malloc-expected.png:
* platform/chromium-win/svg/custom/transformed-pattern-clamp-svg-root-expected.png: Added.
* platform/chromium/svg/custom/oversized-pattern-scale-expected.png: Added.
* platform/mac/svg/custom/pattern-excessive-malloc-expected.txt: Removed.
* platform/qt/svg/custom/pattern-excessive-malloc-expected.txt: Removed.

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

12 years agoSource/JavaScriptCore: Add static version of JSCell::getCallData
mhahnenberg@apple.com [Tue, 27 Sep 2011 22:46:51 +0000 (22:46 +0000)]
Source/JavaScriptCore: Add static version of JSCell::getCallData
https://bugs.webkit.org/show_bug.cgi?id=68741

Reviewed by Darin Adler.

In this patch we just extract the bodies of the virtual getCallData methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods.  This is an intermediate step in trying to
move the virtual-ness of getCallData into our own method table stored in
ClassInfo.  We need to convert the methods to static methods because static methods
can be represented as function pointers rather than pointers to member functions, and
function pointers are smaller and faster to call than pointers to member functions.

* API/JSCallbackFunction.cpp:
(JSC::JSCallbackFunction::getCallDataVirtual):
(JSC::JSCallbackFunction::getCallData):
* API/JSCallbackFunction.h:
* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::::getCallDataVirtual):
(JSC::::getCallData):
* API/JSObjectRef.cpp:
(JSObjectIsFunction):
(JSObjectCallAsFunction):
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::getCallDataVirtual):
(JSC::ArrayConstructor::getCallData):
* runtime/ArrayConstructor.h:
* runtime/BooleanConstructor.cpp:
(JSC::BooleanConstructor::getCallDataVirtual):
(JSC::BooleanConstructor::getCallData):
* runtime/BooleanConstructor.h:
* runtime/DateConstructor.cpp:
(JSC::DateConstructor::getCallDataVirtual):
(JSC::DateConstructor::getCallData):
* runtime/DateConstructor.h:
* runtime/Error.cpp:
(JSC::StrictModeTypeErrorFunction::getCallDataVirtual):
(JSC::StrictModeTypeErrorFunction::getCallData):
* runtime/ErrorConstructor.cpp:
(JSC::ErrorConstructor::getCallDataVirtual):
(JSC::ErrorConstructor::getCallData):
* runtime/ErrorConstructor.h:
* runtime/FunctionConstructor.cpp:
(JSC::FunctionConstructor::getCallDataVirtual):
(JSC::FunctionConstructor::getCallData):
* runtime/FunctionConstructor.h:
* runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::getCallDataVirtual):
(JSC::FunctionPrototype::getCallData):
* runtime/FunctionPrototype.h:
* runtime/InternalFunction.h:
* runtime/JSCell.cpp:
(JSC::JSCell::getCallDataVirtual):
(JSC::JSCell::getCallData):
* runtime/JSCell.h:
(JSC::getCallData):
* runtime/JSFunction.cpp:
(JSC::JSFunction::getCallDataVirtual):
(JSC::JSFunction::getCallData):
* runtime/JSFunction.h:
* runtime/JSONObject.cpp:
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::toJSON):
(JSC::Stringifier::appendStringifiedValue):
* runtime/JSObject.cpp:
(JSC::JSObject::put):
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::getCallDataVirtual):
(JSC::NativeErrorConstructor::getCallData):
* runtime/NativeErrorConstructor.h:
* runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::getCallDataVirtual):
(JSC::NumberConstructor::getCallData):
* runtime/NumberConstructor.h:
* runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::getCallDataVirtual):
(JSC::ObjectConstructor::getCallData):
* runtime/ObjectConstructor.h:
* runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
(JSC::jsIsObjectType):
(JSC::jsIsFunctionType):
* runtime/PropertySlot.cpp:
(JSC::PropertySlot::functionGetter):
* runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::getCallDataVirtual):
(JSC::RegExpConstructor::getCallData):
* runtime/RegExpConstructor.h:
* runtime/StringConstructor.cpp:
(JSC::StringConstructor::getCallDataVirtual):
(JSC::StringConstructor::getCallData):
* runtime/StringConstructor.h:

Source/JavaScriptGlue: Add static version of JSCell::getCallData
https://bugs.webkit.org/show_bug.cgi?id=68741

Reviewed by Darin Adler.

In this patch we just extract the bodies of the virtual getCallData methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods.  This is an intermediate step in trying to
move the virtual-ness of getCallData into our own method table stored in
ClassInfo.  We need to convert the methods to static methods because static methods
can be represented as function pointers rather than pointers to member functions, and
function pointers are smaller and faster to call than pointers to member functions.

* JSValueWrapper.cpp:
(JSValueWrapper::JSObjectCallFunction):
* UserObjectImp.cpp:
(UserObjectImp::getCallDataVirtual):
(UserObjectImp::getCallData):
* UserObjectImp.h:

Source/WebCore: Add static version of JSCell::visitChildren
https://bugs.webkit.org/show_bug.cgi?id=68404

Reviewed by Darin Adler.

No new tests.

In this patch we just extract the bodies of the virtual visitChildren methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods.  This is an intermediate step in trying to
move the virtual-ness of visitChildren into our own custom vtable stored in
ClassInfo.  We need to convert the methods to static methods in order to be
able to more easily store and refer to them in our custom vtable since normal
member methods store some implicit information in their types, making it
impossible to store them generically in ClassInfo.

* WebCore.exp.in:
* bindings/js/JSAttrCustom.cpp:
(WebCore::JSAttr::visitChildrenVirtual):
(WebCore::JSAttr::visitChildren):
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContext::visitChildrenVirtual):
(WebCore::JSAudioContext::visitChildren):
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::JSCSSRule::visitChildrenVirtual):
(WebCore::JSCSSRule::visitChildren):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
(WebCore::JSCSSStyleDeclaration::visitChildren):
* bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
(WebCore::JSCanvasRenderingContext::visitChildren):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildrenVirtual):
(WebCore::JSDOMGlobalObject::visitChildren):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::visitChildrenVirtual):
(WebCore::JSDOMWindow::visitChildren):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::visitChildrenVirtual):
(WebCore::JSDOMWindowShell::visitChildren):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSJavaScriptAudioNodeCustom.cpp:
(WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
(WebCore::JSJavaScriptAudioNode::visitChildren):
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::visitChildrenVirtual):
(WebCore::JSMessageChannel::visitChildren):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::visitChildrenVirtual):
(WebCore::JSMessagePort::visitChildren):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::visitChildrenVirtual):
(WebCore::JSNamedNodeMap::visitChildren):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::visitChildrenVirtual):
(WebCore::JSNode::visitChildren):
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::visitChildrenVirtual):
(WebCore::JSNodeFilter::visitChildren):
* bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::visitChildrenVirtual):
(WebCore::JSNodeIterator::visitChildren):
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::visitChildrenVirtual):
(WebCore::JSSVGElementInstance::visitChildren):
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorker::visitChildrenVirtual):
(WebCore::JSSharedWorker::visitChildren):
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::JSStyleSheet::visitChildrenVirtual):
(WebCore::JSStyleSheet::visitChildren):
* bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::visitChildrenVirtual):
(WebCore::JSTreeWalker::visitChildren):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
(WebCore::JSWebGLRenderingContext::visitChildren):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::visitChildrenVirtual):
(WebCore::JSWorkerContext::visitChildren):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::visitChildrenVirtual):
(WebCore::JSXMLHttpRequest::visitChildren):
* bindings/js/JSXPathResultCustom.cpp:
(WebCore::JSXPathResult::visitChildrenVirtual):
(WebCore::JSXPathResult::visitChildren):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::visitChildrenVirtual):
(WebCore::JSTestObj::visitChildren):
* bindings/scripts/test/JS/JSTestObj.h:
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
(JSC::Bindings::QtRuntimeObject::visitChildren):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
(JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
* bridge/qt/qt_runtime.h:
* workers/WorkerContext.h:

Source/WebKit/mac: Add static version of JSCell::getCallData
https://bugs.webkit.org/show_bug.cgi?id=68741

Reviewed by Darin Adler.

In this patch we just extract the bodies of the virtual getCallData methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods.  This is an intermediate step in trying to
move the virtual-ness of getCallData into our own method table stored in
ClassInfo.  We need to convert the methods to static methods because static methods
can be represented as function pointers rather than pointers to member functions, and
function pointers are smaller and faster to call than pointers to member functions.

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invokeDefault):

Source/WebKit2: Add static version of JSCell::getCallData
https://bugs.webkit.org/show_bug.cgi?id=68741

Reviewed by Darin Adler.

In this patch we just extract the bodies of the virtual getCallData methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods.  This is an intermediate step in trying to
move the virtual-ness of getCallData into our own method table stored in
ClassInfo.  We need to convert the methods to static methods because static methods
can be represented as function pointers rather than pointers to member functions, and
function pointers are smaller and faster to call than pointers to member functions.

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::JSNPMethod::getCallDataVirtual):
(WebKit::JSNPMethod::getCallData):
* WebProcess/Plugins/Netscape/JSNPMethod.h:
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::getCallDataVirtual):
(WebKit::JSNPObject::getCallData):
* WebProcess/Plugins/Netscape/JSNPObject.h:

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

12 years agoUnreviewed. Remove duplicate FilterOperation{s}.h that were
dino@apple.com [Tue, 27 Sep 2011 22:43:27 +0000 (22:43 +0000)]
Unreviewed. Remove duplicate FilterOperation{s}.h that were
accidentally added to the top level of the Xcode project.

* WebCore.xcodeproj/project.pbxproj:

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=68940
hyatt@apple.com [Tue, 27 Sep 2011 22:11:41 +0000 (22:11 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=68940

Narrow the float/lines pagination heuristic to only kick in if
the previous line broke cleanly and if the floats are occurring
at the start of the line.

Reviewed by Dan Bernstein.

Source/WebCore:

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::positionNewFloatOnLine):

LayoutTests:

* fast/regions/webkit-flow-float-pushed-to-last-region.html:
* platform/mac/fast/multicol/float-paginate-empty-lines-expected.txt: Added.
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt:

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

12 years agowebkit-patch doesn't like UTF-8 characters in reviewers names
commit-queue@webkit.org [Tue, 27 Sep 2011 22:04:21 +0000 (22:04 +0000)]
webkit-patch doesn't like UTF-8 characters in reviewers names
https://bugs.webkit.org/show_bug.cgi?id=63452

Patch by Tom Zakrajsek <tomz@codeaurora.org> on 2011-09-27
Reviewed by Eric Seidel.

* Scripts/webkit-patch:

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

12 years agoAdd a mechanism to test for the compositing tree mutated during painting
commit-queue@webkit.org [Tue, 27 Sep 2011 21:47:30 +0000 (21:47 +0000)]
Add a mechanism to test for the compositing tree mutated during painting
https://bugs.webkit.org/show_bug.cgi?id=68738

Patch by James Robinson <jamesr@chromium.org> on 2011-09-27
Reviewed by Adam Barth.

Source/WebCore:

Sets a static bool during GraphicsLayer::paintGraphicsLayerContents and ASSERT()s that we never create or
destroy a GraphicsLayer inside this function. Painting should never mutate the GraphicsLayer tree.

Test: compositing/video/video-with-invalid-source.html

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
(WebCore::GraphicsLayer::~GraphicsLayer):
(WebCore::GraphicsLayer::paintGraphicsLayerContents):

LayoutTests:

Adds a test that caused compositing to be disabled during painting before r95863 due to a video load failing.

* compositing/video/video-with-invalid-source-expected.txt: Added.
* compositing/video/video-with-invalid-source.html: Added.

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

12 years agotake padding/border on flexbox into account with direction:rtl
ojan@chromium.org [Tue, 27 Sep 2011 21:45:54 +0000 (21:45 +0000)]
take padding/border on flexbox into account with direction:rtl
https://bugs.webkit.org/show_bug.cgi?id=68846

Reviewed by David Hyatt.

Source/WebCore:

Use the logicalWidth of the flexbox instead of it's availableLogicalWidth
so that we include the flexbox's border and padding.

Also, change all uses of availableLogicalWidth to contentLogicalWidth.
The former takes multi-column into account. Multi-column flexboxes don't
make any sense, so there's no point in calling availableLogicalWidth.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
(WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
(WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
(WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
* rendering/RenderFlexibleBox.h:

LayoutTests:

* css3/flexbox/writing-modes-expected.txt:
* css3/flexbox/writing-modes.html:

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

12 years agoChromium test expectations update.
mihaip@chromium.org [Tue, 27 Sep 2011 21:25:17 +0000 (21:25 +0000)]
Chromium test expectations update.

Make new fast/canvas/canvas-composite.html GPU expectation more specific,
since on Leopard it was conflicting with an older one.

* platform/chromium/test_expectations.txt:

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

12 years agoUnreviewed, rolling out r96139.
commit-queue@webkit.org [Tue, 27 Sep 2011 21:19:16 +0000 (21:19 +0000)]
Unreviewed, rolling out r96139.
http://trac.webkit.org/changeset/96139
https://bugs.webkit.org/show_bug.cgi?id=68933

Broke table-percent-height.html on Mac bots (Requested by
mwenge2 on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

Source/WebCore:

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
* rendering/RenderBox.h:

LayoutTests:

* fast/replaced/table-percent-width-expected.txt: Removed.
* fast/replaced/table-percent-width.html: Removed.

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

12 years agoneed to rebseline these once new aa-gdi-text code lands in skia
reed@google.com [Tue, 27 Sep 2011 21:12:28 +0000 (21:12 +0000)]
need to rebseline these once new aa-gdi-text code lands in skia
https://bugs.webkit.org/show_bug.cgi?id=68920

Reviewed by Kenneth Russell.

* platform/chromium/test_expectations.txt:

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

12 years agoREGRESSION(65665): Pattern size being clamped to SVG size can prevent transformed...
timothy_horton@apple.com [Tue, 27 Sep 2011 21:06:17 +0000 (21:06 +0000)]
REGRESSION(65665): Pattern size being clamped to SVG size can prevent transformed elements from being fully covered by userSpaceOnUse patterns
https://bugs.webkit.org/show_bug.cgi?id=67700
<rdar://problem/10125102>

Reviewed by Darin Adler.

Clamp all resources to the same size, 4096x4096 (arbitrarily chosen), instead of to the size
of the <svg> element. This fixes the case where a transformed element displays part of a resource
outside of the size of the <svg> element.

When drawing an oversized pattern into its tile image, scale the content down to fit. When drawing
the tile image to the screen, scale it back up to fit the expected area. This will cause pixelation
when patterns are over the 4k limit.

Tests: svg/custom/transformed-pattern-clamp-svg-root.svg, svg/custom/oversized-pattern-scale.svg

* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource):
(WebCore::RenderSVGResourcePattern::createTileImage):
* rendering/svg/RenderSVGResourcePattern.h:
* rendering/svg/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
* rendering/svg/SVGImageBufferTools.h:

pattern-excessive-malloc is so excessive that it runs into the floating point precision barrier
when determining the scale to draw the pattern at; drop the size two orders of magnitude, which is
still very excessive but easier to draw with.

Add a test (transformed-pattern-clamp-svg-root.svg) that ensures that patterns on transformed
elements are displayed correctly, instead of being clamped to the size of the <svg> element.

Add a test (oversized-pattern-scale.svg) that ensures that oversized patterns are correctly drawn
into the pattern tile scaled down and then are scaled back up when drawn to the screen.

* platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/mac/svg/custom/pattern-excessive-malloc-expected.txt:
* platform/qt/svg/custom/pattern-excessive-malloc-expected.txt:
* svg/custom/pattern-excessive-malloc-expected.txt:
* svg/custom/pattern-excessive-malloc.svg:
* svg/custom/oversized-pattern-scale-expected.png: Added.
* svg/custom/oversized-pattern-scale-expected.txt: Added.
* svg/custom/oversized-pattern-scale.svg: Added.
* svg/custom/transformed-pattern-clamp-svg-root.svg: Added.
* svg/custom/transformed-pattern-clamp-svg-root-expected.png: Added.
* svg/custom/transformed-pattern-clamp-svg-root-expected.txt: Added.

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

12 years ago<rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()
mitz@apple.com [Tue, 27 Sep 2011 21:04:04 +0000 (21:04 +0000)]
<rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/dynamic/layer-no-longer-paginated.html

FrameView::layout() calls adjustViewSize() before calling RenderLayer::updateLayerPositions().
The former may trigger painting with a layer tree that is not entirely up-to-date. Specifically,
the isPaginated() state of a layer may be incorrect, leading to the assertion in this bug. Instead
of asserting, return early and count on the upcoming updateLayerPositions() to repaint as needed.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintPaginatedChildLayer): Replaced the assertion with an early return.

LayoutTests:

* fast/dynamic/layer-no-longer-paginated-expected.txt: Added.
* fast/dynamic/layer-no-longer-paginated.html: Added.

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

12 years agogarden-o-matic examine buttons shows both expected and unexpected failures
abarth@webkit.org [Tue, 27 Sep 2011 21:02:34 +0000 (21:02 +0000)]
garden-o-matic examine buttons shows both expected and unexpected failures
https://bugs.webkit.org/show_bug.cgi?id=68918

Reviewed by Dimitri Glazkov.

This was a copy/paste error when I refactored this classes to share
more code.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:

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

12 years agooffsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing...
ojan@chromium.org [Tue, 27 Sep 2011 20:55:00 +0000 (20:55 +0000)]
offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
https://bugs.webkit.org/show_bug.cgi?id=68304

Reviewed by David Hyatt.

Source/WebCore:

When grabbing the x/y values of the RenderBox, we need to take writing mode
flipping into account.

Test: fast/dom/offset-position-writing-modes.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::locationIncludingFlipping):
* rendering/RenderBox.h:
(WebCore::RenderBox::yFlippedForWritingMode):
(WebCore::RenderBox::xFlippedForWritingMode):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::offsetLeft):
(WebCore::RenderBoxModelObject::offsetTop):

LayoutTests:

* css3/flexbox/writing-modes-expected.txt:
* css3/flexbox/writing-modes.html:
* fast/dom/offset-position-writing-modes-expected.txt: Added.
* fast/dom/offset-position-writing-modes.html: Added.

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

12 years agoRapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
timothy_horton@apple.com [Tue, 27 Sep 2011 20:54:16 +0000 (20:54 +0000)]
Rapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
https://bugs.webkit.org/show_bug.cgi?id=68816
<rdar://problem/10186468>

Reviewed by Simon Fraser.

If a filter returns without writing into its result buffer, make sure to return an cleared buffer.

Test: svg/filters/feMorphology-zero-radius.svg

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

12 years agoCompositeEditCommand::prune should remove subtree at once
rniwa@webkit.org [Tue, 27 Sep 2011 20:51:24 +0000 (20:51 +0000)]
CompositeEditCommand::prune should remove subtree at once
https://bugs.webkit.org/show_bug.cgi?id=68866

Reviewed by Darin Adler.

Extracted the logic to find the highest ancestor to remove as highestNodeToRemoveInPruning from prune.
This reduces the number of node removals from O(n) to O(1) where n is the depth of the tree.

* editing/CompositeEditCommand.cpp:
(WebCore::hasARenderedDescendant): Takes excludedNode in addition to node. excludedNode is used to ignore
the child node from which we climbed up the tree in highestNodeToRemoveInPruning.
(WebCore::highestNodeToRemoveInPruning): Extracted from prune.
(WebCore::CompositeEditCommand::prune):
(WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=68922
hyatt@apple.com [Tue, 27 Sep 2011 20:39:57 +0000 (20:39 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=68922

Source/WebCore:

Paginated floats should not grow the height of a block when they don't end
up being tied to a line. Floats encountered in skipLeadingWhitespace that
paginate can't immediately grow the height of the block, since there may not
end up being any actual line content. We only want to push the height of the
block down if we have actual line content that we want to keep with the
float.

Make positionNewFloatOnLine check if the line is empty or not, and if it is,
it just puts the desired pagination strut into LineInfo. If and when actual
line content is encountered and setEmpty becomes false, we'll grow the block
height then.

Reviewed by Dan Bernstein.

Added fast/multicol/float-paginate-empty-lines.html and
fast/regions/webkit-flow-double-pagination-float-push.html.

* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineWidth::LineWidth):
(WebCore::LineWidth::fitsOnLine):
(WebCore::LineWidth::currentWidth):
(WebCore::LineWidth::uncommittedWidth):
(WebCore::LineWidth::committedWidth):
(WebCore::LineWidth::availableWidth):
(WebCore::LineWidth::addUncommittedWidth):
(WebCore::LineWidth::commit):
(WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
(WebCore::LineWidth::updateAvailableWidth):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
(WebCore::LineWidth::applyOverhang):
(WebCore::LineWidth::fitBelowFloats):
(WebCore::LineInfo::LineInfo):
(WebCore::LineInfo::floatPaginationStrut):
(WebCore::LineInfo::setEmpty):
(WebCore::LineInfo::setFloatPaginationStrut):
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):
(WebCore::RenderBlock::positionNewFloatOnLine):

LayoutTests:

Paginated floats should not grow the height of a block when they don't end
up being tied to a line.

Reviewed by Dan Bernstein.

* fast/multicol/float-paginate-empty-lines.html: Added.
* fast/regions/webkit-flow-double-pagination-float-push.html: Added.
* platform/mac/fast/multicol/float-paginate-empty-lines-expected.png: Added.
* platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.png: Added.
* platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.txt: Added.

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

12 years agoAdd Kaustubh Atrawalkar to the list of contributors.
rniwa@webkit.org [Tue, 27 Sep 2011 20:29:38 +0000 (20:29 +0000)]
Add Kaustubh Atrawalkar to the list of contributors.

* Scripts/webkitpy/common/config/committers.py:

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

12 years ago[Chromium] Fixed layout mode tests break subsequent tests
mihaip@chromium.org [Tue, 27 Sep 2011 20:24:15 +0000 (20:24 +0000)]
[Chromium] Fixed layout mode tests break subsequent tests
https://bugs.webkit.org/show_bug.cgi?id=68923

Reviewed by Adam Barth.

Reset fixed layout mode between tests, so that tests that run after
platform/chromium/fast/repaint/fixed-layout-360x240.html still have the
regular 800x600 non-fixed layout.

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::resetTestController):

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

12 years agoUnreviewed, rolling out r96131.
commit-queue@webkit.org [Tue, 27 Sep 2011 20:16:37 +0000 (20:16 +0000)]
Unreviewed, rolling out r96131.
http://trac.webkit.org/changeset/96131
https://bugs.webkit.org/show_bug.cgi?id=68927

It made 18+ tests crash on all platform (Requested by
Ossy_night on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

Source/JavaScriptCore:

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::throwException):
* interpreter/Interpreter.h:
* jsc.cpp:
(GlobalObject::finishCreation):
* parser/Parser.h:
(JSC::Parser::parse):
* runtime/CommonIdentifiers.h:
* runtime/Error.cpp:
(JSC::addErrorInfo):
* runtime/Error.h:

LayoutTests:

* fast/js/exception-properties-expected.txt:
* fast/js/script-tests/exception-properties.js:
* fast/js/script-tests/stack-trace.js: Removed.
* fast/js/stack-trace-expected.txt: Removed.
* fast/js/stack-trace.html: Removed.
* platform/chromium/test_expectations.txt:

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

12 years ago[Qt] QDesktopWebView load zero size view test missing
commit-queue@webkit.org [Tue, 27 Sep 2011 20:05:27 +0000 (20:05 +0000)]
[Qt] QDesktopWebView load zero size view test missing
https://bugs.webkit.org/show_bug.cgi?id=68655

Patch by Gopal Raghavan <gopal.1.raghavan@nokia.com> on 2011-09-27
Reviewed by Chang Shu.

Added test case to check load behavior with zero size view.

* UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Added.
* UIProcess/API/qt/tests/qmltests/qmltests.pro:

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

12 years agowatchlist: Add the filename pattern for definitions.
levin@chromium.org [Tue, 27 Sep 2011 19:55:27 +0000 (19:55 +0000)]
watchlist: Add the filename pattern for definitions.
https://bugs.webkit.org/show_bug.cgi?id=68917

Reviewed by Adam Barth.

* Scripts/webkitpy/common/watchlist/filenamepattern.py: Added.
* Scripts/webkitpy/common/watchlist/filenamepattern_unittest.py: Added.
* Scripts/webkitpy/common/watchlist/watchlist.py: Added the filename pattern
for definitions.
* Scripts/webkitpy/common/watchlist/watchlist_unittest.py: Added tests.
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py: Typo fix.

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

12 years agoDe-virtualize JSCell::getPrimitiveNumber
mhahnenberg@apple.com [Tue, 27 Sep 2011 19:53:49 +0000 (19:53 +0000)]
De-virtualize JSCell::getPrimitiveNumber
https://bugs.webkit.org/show_bug.cgi?id=68851

Reviewed by Darin Adler.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

Changed JSCell::getPrimitiveNumber to manually handle the dispatch for
JSCells (JSObject and JSString in this case).
* runtime/JSCell.cpp:
(JSC::JSCell::getPrimitiveNumber):
* runtime/JSCell.h:

Removed JSNotAnObject::getPrimitiveNumber since its return value doesn't
matter and it already implements defaultValue, so JSObject::getPrimitiveNumber
can cover the case for JSNotAnObject.
* runtime/JSNotAnObject.cpp:
* runtime/JSNotAnObject.h:

De-virtualized JSObject::getPrimitiveNumber and JSString::getPrimitiveNumber
and changed them to be const.  Also made JSString::getPrimitiveNumber public
because it needs to be called from JSCell::getPrimitiveNumber and also since it's
no longer virtual, we want people who have a more specific pointer (JSString*
instead of JSCell*) to not have to pay the cost of a virtual method call.
* runtime/JSObject.cpp:
(JSC::JSObject::getPrimitiveNumber):
* runtime/JSObject.h:
* runtime/JSString.cpp:
(JSC::JSString::getPrimitiveNumber):
* runtime/JSString.h:

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

12 years agoAdd 'filter' value to RenderStyle
dino@apple.com [Tue, 27 Sep 2011 19:49:09 +0000 (19:49 +0000)]
Add 'filter' value to RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=68471

Reviewed by Simon Fraser.

Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
is turned on. Similar to -webkit-transform, -webkit-filter is a
list of FilterOperations, each identifying what type of operation
it is. This change simply adds the basic objects, it does not
parse the property to generate the list.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/filters/FilterOperation.h: Added.
(WebCore::FilterOperation::~FilterOperation):
(WebCore::FilterOperation::operator!=):
(WebCore::FilterOperation::getOperationType):
(WebCore::FilterOperation::isSameType):
(WebCore::FilterOperation::FilterOperation):
(WebCore::ReferenceFilterOperation::create):
(WebCore::ReferenceFilterOperation::reference):
(WebCore::ReferenceFilterOperation::operator==):
(WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
(WebCore::BasicColorMatrixFilterOperation::create):
(WebCore::BasicColorMatrixFilterOperation::amount):
(WebCore::BasicColorMatrixFilterOperation::operator==):
(WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
(WebCore::BasicComponentTransferFilterOperation::create):
(WebCore::BasicComponentTransferFilterOperation::amount):
(WebCore::BasicComponentTransferFilterOperation::operator==):
(WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
(WebCore::GammaFilterOperation::create):
(WebCore::GammaFilterOperation::amplitude):
(WebCore::GammaFilterOperation::exponent):
(WebCore::GammaFilterOperation::offset):
(WebCore::GammaFilterOperation::operator==):
(WebCore::GammaFilterOperation::GammaFilterOperation):
(WebCore::BlurFilterOperation::create):
(WebCore::BlurFilterOperation::stdDeviationX):
(WebCore::BlurFilterOperation::stdDeviationY):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::BlurFilterOperation):
(WebCore::SharpenFilterOperation::create):
(WebCore::SharpenFilterOperation::radius):
(WebCore::SharpenFilterOperation::threshold):
(WebCore::SharpenFilterOperation::amount):
(WebCore::SharpenFilterOperation::operator==):
(WebCore::SharpenFilterOperation::SharpenFilterOperation):
(WebCore::DropShadowFilterOperation::create):
(WebCore::DropShadowFilterOperation::shadow):
(WebCore::DropShadowFilterOperation::operator==):
(WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
* platform/graphics/filters/FilterOperations.cpp: Added.
(WebCore::FilterOperations::FilterOperations):
(WebCore::FilterOperations::operator==):
* platform/graphics/filters/FilterOperations.h: Added.
(WebCore::FilterOperations::operator!=):
(WebCore::FilterOperations::clear):
(WebCore::FilterOperations::operations):
(WebCore::FilterOperations::size):
(WebCore::FilterOperations::at):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::filter):
(WebCore::InheritedFlags::hasFilter):
(WebCore::InheritedFlags::setFilter):
(WebCore::InheritedFlags::initialFilter):
* rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
* rendering/style/StyleFilterData.cpp: Added.
(WebCore::StyleFilterData::StyleFilterData):
(WebCore::StyleFilterData::operator==):
* rendering/style/StyleFilterData.h: Added.
(WebCore::StyleFilterData::create):
(WebCore::StyleFilterData::copy):
(WebCore::StyleFilterData::operator!=):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h: New filter DataRef.

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

12 years ago[chromium] LayerRenderChromium asserts about leaking textures.
jamesr@google.com [Tue, 27 Sep 2011 19:41:24 +0000 (19:41 +0000)]
[chromium] LayerRenderChromium asserts about leaking textures.
https://bugs.webkit.org/show_bug.cgi?id=68190

Reviewed by Kenneth Russell.

This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
to make sure we aren't leaking any textures.

* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::updateCompositorResources):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
(WebCore::LayerRendererChromium::contentsTextureAllocator):
* platform/graphics/chromium/LayerTextureUpdater.h:
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
(WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
(WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
* platform/graphics/chromium/ManagedTexture.cpp:
(WebCore::ManagedTexture::bindTexture):
(WebCore::ManagedTexture::framebufferTexture2D):
* platform/graphics/chromium/ManagedTexture.h:
* platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::memoryUseBytes):
(WebCore::TextureManager::deleteEvictedTextures):
(WebCore::TextureManager::evictAndDeleteAllTextures):
(WebCore::TextureManager::removeTexture):
(WebCore::TextureManager::allocateTexture):
(WebCore::TextureManager::requestTexture):
* platform/graphics/chromium/TextureManager.h:
(WebCore::TextureAllocator::~TextureAllocator):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
(WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
(WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
(WebCore::TrackingTextureAllocator::createTexture):
(WebCore::TrackingTextureAllocator::deleteTexture):
* platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
(WebCore::TrackingTextureAllocator::create):
(WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateCompositorResources):
(WebCore::VideoLayerChromium::updateTexture):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateCompositorResources):
* platform/graphics/chromium/WebGLLayerChromium.h:
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::draw):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
(WebCore::CCLayerTreeHost::commitToOnCCThread):
(WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::drawSurface):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
(WebCore::CCSingleThreadProxy::commitIfNeeded):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::commitOnCCThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):

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

12 years ago[EFL] Make ewk_view emit the "load,document,finished" signal.
commit-queue@webkit.org [Tue, 27 Sep 2011 19:34:35 +0000 (19:34 +0000)]
[EFL] Make ewk_view emit the "load,document,finished" signal.
https://bugs.webkit.org/show_bug.cgi?id=66782

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-27
Reviewed by Antonio Gomes.

Currently, only ewk_frame emits the "load,document,finished" signal
when FrameLoaderClientEfl::dispatchDidFinishDocumentLoad() calls
ewk_frame_load_document_finished().

However, in some cases it is not even possible to connect to the
"frame,created" signal to properly monitor the
"load,document,finished" signal, as the former is not emitted.
fast/frames/frame-unload-crash.html, for example, has a page with an
iframe inside an iframe, and this innermost iframe does not seem to be
loaded via FrameLoaderClientEfl::createFrame (which calls all the
machinery which then emits the "frame,created" signal).

We now make ewk_frame_load_document_finished() call the newly-created
ewk_view_load_document_finished() function, whose job is to emit the
"load,document,signal" with the frame as its parameter. This way, one
can just connect to the view and make sure all the signals will get
delivered.

* ewk/ewk_frame.cpp:
(ewk_frame_load_document_finished):
* ewk/ewk_private.h:
* ewk/ewk_view.cpp:
(ewk_view_load_document_finished):
* ewk/ewk_view.h:

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

12 years agoReviewed by David Hyatt.
robert@webkit.org [Tue, 27 Sep 2011 19:31:31 +0000 (19:31 +0000)]
Reviewed by David Hyatt.

Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
https://bugs.webkit.org/show_bug.cgi?id=29447

Source/WebCore:

If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.

Test: fast/replaced/table-percent-width.html

* rendering/RenderBox.cpp:
(WebCore::avoidSqueezingWidth):
(WebCore::avoidSqueezingHeight):
(WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
* rendering/RenderBox.h:

LayoutTests:

* fast/replaced/table-percent-width.html: Added.
* fast/replaced/table-percent-width-expected.txt: Added.

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=67858
simon.fraser@apple.com [Tue, 27 Sep 2011 19:00:56 +0000 (19:00 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=67858

Roll r96070 back in now that the crash has been fixed in r96130.

Source/WebCore:

Reviewed by Darin Adler.

When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
the scrollbar areas or the scroll corner, so the scrollbars appear to remain.

Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
on scrollbar creation appears to happen via updating the scrollbar style.

Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
stale scrollbars when run manually, even though the green squares are missing from the
pixel result (bug 67878).

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
(WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
(WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
compute the scroll corner rect while we still have scrollbars, and then invalidate it
explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
rect.)
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
compute it in the case where the scrollbars are going away.
* platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
invalidateScrollbar().
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
* rendering/RenderScrollbarPart.cpp: Ditto.
(WebCore::RenderScrollbarPart::imageChanged): Ditto.

LayoutTests:

* compositing/iframes/repaint-after-losing-scrollbars-expected.png:

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

12 years agoFix Chromium Mac build after r96130.
mihaip@chromium.org [Tue, 27 Sep 2011 18:44:15 +0000 (18:44 +0000)]
Fix Chromium Mac build after r96130.

* page/FrameView.cpp:
(WebCore::FrameView::layerForOverhangAreas):

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

12 years ago[GTK] Use WebKitWebContext in WebKitWebView
carlosgc@webkit.org [Tue, 27 Sep 2011 18:32:55 +0000 (18:32 +0000)]
[GTK] Use WebKitWebContext in WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=67990

Reviewed by Martin Robinson.

Use webkit_web_context_get_default() instead of
WKContextGetSharedProcessContext() and add API to create a view
with a given web context and to return the current context
associated to the view.

* GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextGetWKContext): Private API to get the WKContext
wrapped by the WebKitWebContext.
* UIProcess/API/gtk/WebKitWebContextPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Create the webpage using the web
context of the view.
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_init):
(webkit_web_view_class_init):
(webkit_web_view_new): Create a new view with the default context.
(webkit_web_view_new_with_context): Create a new view with the
given context.
(webkit_web_view_get_context): Return the context.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/tests/testwebview.c: Added.
(testWebViewDefaultContext):
(main):

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

12 years ago[v8] Code calling the typed array optimization script is fragile, depends on typed...
commit-queue@webkit.org [Tue, 27 Sep 2011 18:19:01 +0000 (18:19 +0000)]
[v8] Code calling the typed array optimization script is fragile, depends on typed array hierarchy.

Install the flag, which indicates whether or not the optimization
script was executed, on the global object.

https://bugs.webkit.org/show_bug.cgi?id=68890

Patch by Ulan Degenbaev <ulan@chromium.org> on 2011-09-27
Reviewed by Kenneth Russell.

* Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp:

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

12 years agoAutofocus on readonly inputs does not focus the element.
commit-queue@webkit.org [Tue, 27 Sep 2011 18:17:32 +0000 (18:17 +0000)]
Autofocus on readonly inputs does not focus the element.
https://bugs.webkit.org/show_bug.cgi?id=24092

Patch by Kaustubh Atrawalkar <kaustubh@motorola.com> on 2011-09-27
Reviewed by Ryosuke Niwa.

Source/WebCore:

Readonly input elements should be autofocusable. Removed the check.

Tests: fast/forms/autofocus-readonly-attribute.html

* html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):

LayoutTests:

* fast/forms/autofocus-readonly-attribute-expected.txt: Added.
* fast/forms/autofocus-readonly-attribute.html: Added.

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

12 years ago[GTK] Add WebKitWebContext to GTK API
carlosgc@webkit.org [Tue, 27 Sep 2011 18:06:06 +0000 (18:06 +0000)]
[GTK] Add WebKitWebContext to GTK API
https://bugs.webkit.org/show_bug.cgi?id=67931

Reviewed by Philippe Normand.

Initial implementation of WebKitWebContext for WebKit2 GTK API.

* GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitWebContext.cpp: Added.
(webkitWebContextFinalize):
(webkit_web_context_init):
(webkit_web_context_class_init):
(createDefaultWebContext):
(webkit_web_context_get_default):
* UIProcess/API/gtk/WebKitWebContext.h: Added.
* UIProcess/API/gtk/tests/testwebcontext.c:
(testWebContextDefault):
(main):
* UIProcess/API/gtk/webkit2.h: Add <webkit2/WebKitWebContext.h>.

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

12 years agoRemove duplicate of fast/text/international/Geeza-Pro-vertical-metrics-adjustment...
mihaip@chromium.org [Tue, 27 Sep 2011 18:04:01 +0000 (18:04 +0000)]
Remove duplicate of fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
https://bugs.webkit.org/show_bug.cgi?id=68915

Reviewed by Ryosuke Niwa.

r92496 and r92881 were only trying to move the baselines to
platform/mac-snowleopard/platform/mac/fast, but they also inadvertedly
copied the test itself.

* platform/mac-snowleopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html: Removed.

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

12 years agoImplement Error.stack
commit-queue@webkit.org [Tue, 27 Sep 2011 17:58:55 +0000 (17:58 +0000)]
Implement Error.stack
https://bugs.webkit.org/show_bug.cgi?id=66994

Patch by Juan Carlos Montemayor Elosua <j.mont@me.com> on 2011-09-27
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

This patch utilizes topCallFrame to create a stack trace when
an error is thrown. Users will also be able to use the stack()
command in jsc to get arrays with stack trace information.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* interpreter/Interpreter.cpp:
(JSC::getCallerLine):
(JSC::getSourceURLFromCallFrame):
(JSC::getStackFrameCodeType):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::throwException):
* interpreter/Interpreter.h:
(JSC::StackFrame::toString):
* jsc.cpp:
(GlobalObject::finishCreation):
(functionJSCStack):
* parser/Parser.h:
(JSC::Parser::parse):
* runtime/CommonIdentifiers.h:
* runtime/Error.cpp:
(JSC::addErrorInfo):
* runtime/Error.h:

LayoutTests:

Unit tests that contain both normal and special cases for stack trace
generation.

* fast/js/exception-properties-expected.txt:
* fast/js/script-tests/exception-properties.js:
* fast/js/script-tests/stack-trace.js: Added.
(printStack):
(hostThrower):
(callbacker):
(outer):
(inner):
(evaler):
(normalOuter):
(normalInner):
(scripterInner):
(scripterOuter):
* fast/js/stack-trace-expected.txt: Added.
* fast/js/stack-trace.html: Added.
* platform/chromium/test_expectations.txt:

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

12 years agoClean up how FrameView accesses the RenderView
simon.fraser@apple.com [Tue, 27 Sep 2011 17:55:02 +0000 (17:55 +0000)]
Clean up how FrameView accesses the RenderView
https://bugs.webkit.org/show_bug.cgi?id=68914

Reviewed by Sam Weinig.

Clean up how FrameView accesses the content renderer of its
frame. Previously, this was done in several different ways,
only some of which did null-checking.

Use an inline method to avoid having to expose Frame
in the header.

Standardize the terminology to use 'root' for this RenderView.

* page/FrameView.cpp:
(WebCore::rootRenderer):
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::updateCompositingLayers):
(WebCore::FrameView::clearBackingStores):
(WebCore::FrameView::restoreBackingStores):
(WebCore::FrameView::layerForHorizontalScrollbar):
(WebCore::FrameView::layerForVerticalScrollbar):
(WebCore::FrameView::layerForScrollCorner):
(WebCore::FrameView::layerForOverhangAreas):
(WebCore::FrameView::syncCompositingStateForThisFrame):
(WebCore::FrameView::hasCompositedContent):
(WebCore::FrameView::enterCompositingMode):
(WebCore::FrameView::isSoftwareRenderable):
(WebCore::FrameView::didMoveOnscreen):
(WebCore::FrameView::willMoveOffscreen):
(WebCore::FrameView::layout):
(WebCore::FrameView::embeddedContentBox):
(WebCore::FrameView::contentsInCompositedLayer):
(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::scrollContentsSlowPath):
(WebCore::FrameView::maintainScrollPositionAtAnchor):
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::repaintFixedElementsAfterScrolling):
(WebCore::FrameView::visibleContentsResized):
(WebCore::FrameView::scheduleRelayoutOfSubtree):
(WebCore::FrameView::needsLayout):
(WebCore::FrameView::setNeedsLayout):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::updateControlTints):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::forceLayoutForPagination):
(WebCore::FrameView::adjustPageHeightDeprecated):
(WebCore::FrameView::isVerticalDocument):
(WebCore::FrameView::isFlippedDocument):

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

12 years agogarden-o-matic results view should sort test and builder names
abarth@webkit.org [Tue, 27 Sep 2011 17:53:32 +0000 (17:53 +0000)]
garden-o-matic results view should sort test and builder names
https://bugs.webkit.org/show_bug.cgi?id=68488

Reviewed by Andy Estes.

Previously, the test and builder names were displayed in an arbitrary
order that changed from time to time.  That confused one user study
participant.  This patch sorts the lists so that they occur in a
predictable order.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:

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

12 years ago[Chromium] Layout Test compositing/video-page-visibility.html is failing on GPU linux
enne@google.com [Tue, 27 Sep 2011 17:38:52 +0000 (17:38 +0000)]
[Chromium] Layout Test compositing/video-page-visibility.html is failing on GPU linux
https://bugs.webkit.org/show_bug.cgi?id=68882

Unreviewed rebaseline.

* platform/chromium-gpu-linux/compositing/video-page-visibility-expected.png: Added.
* platform/chromium/test_expectations.txt:

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

12 years agoAXObjectCache cleared unnecessarily when non-top Document is detached.
commit-queue@webkit.org [Tue, 27 Sep 2011 17:29:46 +0000 (17:29 +0000)]
AXObjectCache cleared unnecessarily when non-top Document is detached.
https://bugs.webkit.org/show_bug.cgi?id=68636

Patch by Dominic Mazzoni <dmazzoni@google.com> on 2011-09-27
Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/deleting-iframe-destroys-axcache.html

* dom/Document.cpp:
(WebCore::Document::attach):
(WebCore::Document::detach):

LayoutTests:

* accessibility/deleting-iframe-destroys-axcache.html: Added.
* platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added.

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

12 years agoUnreviewed, rolling out r96108, r96111, r96113, and r96116.
commit-queue@webkit.org [Tue, 27 Sep 2011 17:27:12 +0000 (17:27 +0000)]
Unreviewed, rolling out r96108, r96111, r96113, and r96116.
http://trac.webkit.org/changeset/96108
http://trac.webkit.org/changeset/96111
http://trac.webkit.org/changeset/96113
http://trac.webkit.org/changeset/96116
https://bugs.webkit.org/show_bug.cgi?id=68913

Wait for working Qt5 (Requested by ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

.:

* Source/WebKit.pro:

Source/WebCore:

* WebCore.pri:
* platform/graphics/qt/GraphicsLayerQt.cpp:

Source/WebKit/qt:

* Api/qgraphicswebview.cpp:
* Api/qgraphicswebview.h:
* Api/qwebframe.h:
* Api/qwebhistory.h:
* Api/qwebpage.h:
* Api/qwebsettings.h:
* Api/qwebview.h:
* QtWebKit.pro:
* WebCoreSupport/PageClientQt.h:
* WebCoreSupport/QtWebComboBox.cpp:
* WebCoreSupport/QtWebComboBox.h:
* declarative/declarative.pro:
* declarative/qdeclarativewebview.cpp:
* declarative/qdeclarativewebview_p.h:
* docs/webkitsnippets/webpage/main.cpp:
* examples/platformplugin/WebNotificationPresenter.h:
* tests/tests.pri:

Source/WebKit2:

* UIProcess/API/qt/qdesktopwebview.cpp:
(QDesktopWebViewPrivate::startDrag):
(QDesktopWebViewPrivate::didChangeToolTip):
(QDesktopWebViewPrivate::didChangeCursor):
(QDesktopWebViewPrivate::showContextMenu):
(QDesktopWebViewPrivate::chooseFiles):
* UIProcess/API/qt/qdesktopwebview.h:
* UIProcess/API/qt/tests/tests.pri:
* UIProcess/API/qt/tests/tests.pro:
* UIProcess/qt/ViewInterface.h:
* UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
(WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):

Tools:

* DumpRenderTree/qt/DumpRenderTree.pro:
* DumpRenderTree/qt/ImageDiff.pro:
* MiniBrowser/qt/BrowserView.cpp:
(BrowserView::BrowserView):
* MiniBrowser/qt/BrowserView.h:
* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::BrowserWindow):
(BrowserWindow::urlChanged):
(BrowserWindow::~BrowserWindow):
* MiniBrowser/qt/BrowserWindow.h:
* MiniBrowser/qt/MiniBrowser.pro:
* MiniBrowser/qt/MiniBrowserApplication.h:
* MiniBrowser/qt/main.cpp:
* QtTestBrowser/QtTestBrowser.pro:
* QtTestBrowser/launcherwindow.cpp:
* QtTestBrowser/launcherwindow.h:
* QtTestBrowser/locationedit.h:
* QtTestBrowser/main.cpp:
* QtTestBrowser/mainwindow.cpp:
* QtTestBrowser/mainwindow.h:
* QtTestBrowser/webinspector.h:
* QtTestBrowser/webpage.cpp:
* QtTestBrowser/webview.cpp:
* WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::WebView::wkView):
(WTR::WebView::pageRef):
(WTR::WebView::~WebView):
(WTR::WebView::WebView):
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::sendEvent):
(WTR::PlatformWebView::postEvent):
* WebKitTestRunner/qt/WebKitTestRunner.pro:

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

12 years agodump-as-markup conversion: editing/pasteboard/merge-end-list.html and merge-end-table...
rniwa@webkit.org [Tue, 27 Sep 2011 17:26:23 +0000 (17:26 +0000)]
dump-as-markup conversion: editing/pasteboard/merge-end-list.html and merge-end-table.html
https://bugs.webkit.org/show_bug.cgi?id=68857

Reviewed by Kent Tamura.

Converted the tests into dump-as-markup tests. Also split each test into two tests.

* editing/pasteboard/merge-end-list-2-expected.txt: Added.
* editing/pasteboard/merge-end-list-2.html: Added.
* editing/pasteboard/merge-end-list-expected.txt: Added.
* editing/pasteboard/merge-end-list.html:
* editing/pasteboard/merge-end-table-2-expected.txt: Added.
* editing/pasteboard/merge-end-table-2.html: Added.
* editing/pasteboard/merge-end-table-expected.txt: Added.
* editing/pasteboard/merge-end-table.html:
* platform/chromium-cg-mac-leopard/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/chromium-cg-mac-leopard/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/chromium-cg-mac/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/chromium-cg-mac/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/chromium-linux/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/chromium-linux/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/merge-end-list-expected.txt: Removed.
* platform/chromium-win/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/merge-end-table-expected.txt: Removed.
* platform/gtk/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/gtk/editing/pasteboard/merge-end-list-expected.txt: Removed.
* platform/gtk/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/gtk/editing/pasteboard/merge-end-table-expected.txt: Removed.
* platform/mac-leopard/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/mac-leopard/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/mac/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/mac/editing/pasteboard/merge-end-list-expected.txt: Removed.
* platform/mac/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/mac/editing/pasteboard/merge-end-table-expected.txt: Removed.
* platform/qt/editing/pasteboard/merge-end-list-expected.png: Removed.
* platform/qt/editing/pasteboard/merge-end-list-expected.txt: Removed.
* platform/qt/editing/pasteboard/merge-end-table-expected.png: Removed.
* platform/qt/editing/pasteboard/merge-end-table-expected.txt: Removed.

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

12 years agoCrash in WebCore::HTMLParser::createHead
jchaffraix@webkit.org [Tue, 27 Sep 2011 17:18:06 +0000 (17:18 +0000)]
Crash in WebCore::HTMLParser::createHead
https://bugs.webkit.org/show_bug.cgi?id=32426

Reviewed by Darin Adler.

The crash was fixed some time ago but the test was not landed which kept the bug open.

* fast/parser/crash-HTMLParser-createHead.html: Added.
Tweaked the test case as we now throw an exception (DOM Exception 12).

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

12 years agoFix ENABLE(SQL_DATABASE)=0 build after r95919
ossy@webkit.org [Tue, 27 Sep 2011 17:06:26 +0000 (17:06 +0000)]
Fix ENABLE(SQL_DATABASE)=0 build after r95919
https://bugs.webkit.org/show_bug.cgi?id=68902

r95919 enabled OFFLINE_WEB_APPLICATIONS by default and
it needs SQLite stuff even if ENABLE_SQL_DATABASE=0.

Reviewed by Adam Barth.

* platform/sql/SQLiteAuthorizer.cpp:
* platform/sql/SQLiteDatabase.cpp:
* platform/sql/SQLiteFileSystem.cpp:
* platform/sql/SQLiteStatement.cpp:
* platform/sql/SQLiteTransaction.cpp:
* storage/DatabaseAuthorizer.cpp:

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

12 years agoCrash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
jchaffraix@webkit.org [Tue, 27 Sep 2011 16:55:59 +0000 (16:55 +0000)]
Crash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
https://bugs.webkit.org/show_bug.cgi?id=66291

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/canvas/crash-set-font.html

This is Yet Another Missing updateFont (similar to bug 57756 and likely others). Here the issue is that
applying one of the font properties could mutate the parent style's font if m_parentStyle == m_style.
We would then query the newly created font when applying CSSPropertyFontSize, which has no font fallback
list as Font::update was never called.

The right fix would be to refactor of how we handle fonts to avoid such manual updates (see bug 62390).
Until this happens, it is better not to crash.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Added updateFont() here as the fonts could have been
mutated by the previous property change. Also added a comment explaining why it is safe to do it
this way.

LayoutTests:

* fast/canvas/crash-set-font-expected.txt: Added.
* fast/canvas/crash-set-font.html: Added.

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

12 years ago[GTK] Rename WebKit2 GTK+ API main header as webkit2.h
carlosgc@webkit.org [Tue, 27 Sep 2011 16:40:03 +0000 (16:40 +0000)]
[GTK] Rename WebKit2 GTK+ API main header as webkit2.h
https://bugs.webkit.org/show_bug.cgi?id=65178

Reviewed by Martin Robinson.

Source/WebKit2:

* GNUmakefile.am: Add webkit2.h.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/webkit2.h: Renamed from Source/WebKit2/UIProcess/API/gtk/webkit/webkit.h.
* webkit2gtk.pc.in: Use webkitgtk-<api-version> as include dir.

Tools:

* GNUmakefile.am:
* GtkLauncher/main.c: Include <webkit2/webkit2.h>.

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

12 years ago[Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
noam.rosenthal@nokia.com [Tue, 27 Sep 2011 16:38:19 +0000 (16:38 +0000)]
[Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
https://bugs.webkit.org/show_bug.cgi?id=68897

Reviewed by Andreas Kling.

No new functionality so no new tests.

* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::computeAllTransforms):
(WebCore::TextureMapperNode::computeTiles):
(WebCore::TextureMapperNode::syncCompositingState):
* platform/graphics/texmap/TextureMapperNode.h:

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

12 years ago[Texmap][Qt] Refactor texture-upload to allow direct chunk update
noam.rosenthal@nokia.com [Tue, 27 Sep 2011 16:28:17 +0000 (16:28 +0000)]
[Texmap][Qt] Refactor texture-upload to allow direct chunk update
https://bugs.webkit.org/show_bug.cgi?id=68808

Add a function to BitmapTexture for direct pixel updates.
Modify BitmapTextureGL::endPaint to use that function. Since the BGRA
to RGBA swizzling is done inside that function, there's no need for the
RGBA32PremultipliedBuffer class to contain such function. Also,
RGBA32PremultipliedBuffer was renamed to BGRA32PremultipliedBuffer, correcting
an old mistake.

Reviewed by Andreas Kling.

No new tests. Existing tests in LayoutTests/compositing test this.

* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::beginPaint):
(WebCore::BitmapTextureGL::endPaint):
(WebCore::swizzleBGRAToRGBA):
(WebCore::BitmapTextureGL::updateContents):
* platform/graphics/opengl/TextureMapperGL.h:
(WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
* platform/graphics/qt/TextureMapperQt.cpp:
(WebCore::BitmapTextureQt::updateContents):
(WebCore::BGRA32PremultimpliedBufferQt::data):
(WebCore::BGRA32PremultimpliedBuffer::create):
* platform/graphics/qt/TextureMapperQt.h:
* platform/graphics/texmap/TextureMapper.h:

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

12 years ago[Qt][WK2] Buildfix after r96108.
ossy@webkit.org [Tue, 27 Sep 2011 16:12:20 +0000 (16:12 +0000)]
[Qt][WK2] Buildfix after r96108.

Rubber-stamped by Andreas Kling.

Source/WebKit/qt:

* tests/tests.pri:

Tools:

* WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
* WebKitTestRunner/qt/WebKitTestRunner.pro:

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

12 years agowatchlist: Change watchlistparser.py to be class based.
levin@chromium.org [Tue, 27 Sep 2011 15:52:14 +0000 (15:52 +0000)]
watchlist: Change watchlistparser.py to be class based.
https://bugs.webkit.org/show_bug.cgi?id=68869

Reviewed by Eric Seidel.

* Scripts/webkitpy/common/watchlist/watchlistparser.py:
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:

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

12 years agoUnreviewed followupfix for r96110.
loislo@chromium.org [Tue, 27 Sep 2011 15:50:42 +0000 (15:50 +0000)]
Unreviewed followupfix for r96110.
This is a small adjustment of the heap size delta calculation.

* inspector/performance/resources/performance-test.js:
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.done):

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

12 years ago[Qt] Fix build of declarative plugin against Qt5
vestbo@webkit.org [Tue, 27 Sep 2011 15:36:39 +0000 (15:36 +0000)]
[Qt] Fix build of declarative plugin against Qt5

Reviewed by Andreas Kling.

* declarative/declarative.pro:

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

12 years agowatchlist: Break out the diff boilerplate to allow for re-use.
levin@chromium.org [Tue, 27 Sep 2011 15:35:49 +0000 (15:35 +0000)]
watchlist: Break out the diff boilerplate to allow for re-use.
https://bugs.webkit.org/show_bug.cgi?id=68871

Reviewed by Eric Seidel.

* Scripts/webkitpy/common/checkout/diff_parser_unittest.py:
Break out the diff into a new file.
* Scripts/webkitpy/common/checkout/diff_test_data.py: Added.

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

12 years ago[Qt] Fix build of WebKit2 unit-tests after r96108
vestbo@webkit.org [Tue, 27 Sep 2011 15:29:22 +0000 (15:29 +0000)]
[Qt] Fix build of WebKit2 unit-tests after r96108

Reviewed by Andreas Kling.

* UIProcess/API/qt/tests/tests.pri:

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

12 years agoWeb Inspector: UI performance: introduce heap size tracking stats.
loislo@chromium.org [Tue, 27 Sep 2011 15:26:34 +0000 (15:26 +0000)]
Web Inspector: UI performance: introduce heap size tracking stats.
https://bugs.webkit.org/show_bug.cgi?id=68901

It is interesting how much the heap memory is used by Inspector in order of running the test.

Reviewed by Yury Semikhatsky.

Tools:

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::showDevTools):
(TestShell::closeDevTools):

LayoutTests:

* inspector/performance/resources/network-append-30-requests.html:
* inspector/performance/resources/performance-test.js:
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._getJSHeapSize):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.done):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):

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

12 years agoLayout Test platform/chromium/compositing/zoom-animator-scale-test.html is failing.
wjmaclean@chromium.org [Tue, 27 Sep 2011 15:17:53 +0000 (15:17 +0000)]
Layout Test platform/chromium/compositing/zoom-animator-scale-test.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=68852

Rebaseline GPU tests for Mac, Win.

Reviewed by Shinichiro Hamaji.

* platform/chromium-gpu-cg-mac/platform/chromium/compositing/zoom-animator-scale-test-expected.png:
* platform/chromium-gpu-mac/platform/chromium/compositing/zoom-animator-scale-test-expected.png:
* platform/chromium-gpu-win/platform/chromium/compositing/zoom-animator-scale-test-expected.png:
* platform/chromium/test_expectations.txt:

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

12 years ago[Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
vestbo@webkit.org [Tue, 27 Sep 2011 15:11:11 +0000 (15:11 +0000)]
[Qt] Fix build against Qt5 after refactor of widgets out of QtGUi

QWidget and friends now live in the QtWidgets library. We update
includes in implementation files and private headers to us the
non-module-prefixed path, and leave the lookup for the include
path. For public headers we have to ifdef the includes as the
user might now have the modules we need in his QT config.

Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
have to update our code and use windowHandle() for setting the
parent relationships.

https://bugs.webkit.org/show_bug.cgi?id=68687

Reviewed by Andreas Kling.

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

12 years agoClipped high quality blur in skia has been fixed. Rebaseline layout tests.
commit-queue@webkit.org [Tue, 27 Sep 2011 14:49:25 +0000 (14:49 +0000)]
Clipped high quality blur in skia has been fixed. Rebaseline layout tests.
https://bugs.webkit.org/show_bug.cgi?id=68577

Patch by Ben Wagner <bungeman@chromium.org> on 2011-09-27
Reviewed by Kenneth Russell.

* platform/chromium-linux-x86/fast/box-shadow: Removed.
* platform/chromium-linux/fast/box-shadow/inset-box-shadows-expected.png:
* platform/chromium-mac/fast/box-shadow/inset-box-shadow-radius-expected.png:
* platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png:
* platform/chromium-mac/fast/box-shadow/shadow-buffer-partial-expected.png:
* platform/chromium-win/fast/box-shadow/inset-box-shadow-radius-expected.png:
* platform/chromium-win/fast/box-shadow/inset-box-shadows-expected.png:
* platform/chromium-win/fast/box-shadow/shadow-buffer-partial-expected.png:
* platform/chromium/test_expectations.txt:

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

12 years agoSource/WebCore: Web Inspector: split DOM.attributesUpdated into attributeModified...
pfeldman@chromium.org [Tue, 27 Sep 2011 14:13:07 +0000 (14:13 +0000)]
Source/WebCore: Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved.
Send attribute name and value within the event.
https://bugs.webkit.org/show_bug.cgi?id=68613

Reviewed by Yury Semikhatsky.

* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::removeAttribute):
* inspector/Inspector.draft-01.json:
* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didModifyDOMAttr):
(WebCore::InspectorDOMAgent::didRemoveDOMAttr):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didModifyDOMAttr):
(WebCore::InspectorInstrumentation::didRemoveDOMAttr):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype._addAttribute):
(WebInspector.DOMNode.prototype._setAttribute):
(WebInspector.DOMNode.prototype._removeAttribute):
(WebInspector.DOMAgent.prototype._attributeModified):
(WebInspector.DOMAgent.prototype._attributeRemoved):
(WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
(WebInspector.DOMAgent.prototype._loadNodeAttributes):
(WebInspector.DOMDispatcher.prototype.attributeModified):
(WebInspector.DOMDispatcher.prototype.attributeRemoved):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype._attributesUpdated):
* inspector/front-end/MetricsSidebarPane.js:
(WebInspector.MetricsSidebarPane):
(WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane):
(WebInspector.StylesSidebarPane.prototype._attributesModified):
(WebInspector.StylesSidebarPane.prototype._attributesRemoved):
(WebInspector.StylesSidebarPane.prototype._styleInvalidated):
(WebInspector.StylePropertyTreeElement.prototype.event):
(WebInspector.StylePropertyTreeElement.prototype):
* inspector/validate-protocol-compatibility:

LayoutTests: Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved. Send attribute name and value within the event.
https://bugs.webkit.org/show_bug.cgi?id=68613

Reviewed by Yury Semikhatsky.

* inspector/elements/mutate-unknown-node.html-disabled:
* inspector/elements/set-attribute.html:

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

12 years ago[Qt][WK2] Add support for hover API in Qt WebKit2
caio.oliveira@openbossa.org [Tue, 27 Sep 2011 14:09:00 +0000 (14:09 +0000)]
[Qt][WK2] Add support for hover API in Qt WebKit2
https://bugs.webkit.org/show_bug.cgi?id=68369

Reviewed by Andreas Kling.

Source/WebKit2:

Based on the patch from Igor Oliveira in the same bug.

Expose a linkHovered() signal in QDesktopWebView, that passes the QUrl and the
QString corresponding to the link title. I left textContent out because was
unsure of its use case.

In QDesktopWebView we store the last URL and title emitted to make sure we send
the signal only if either value changes. Tests were added to the QML element to
check: if values are correctly emitted and if we don't emit more signals than
necessary.

* UIProcess/API/qt/qdesktopwebview.cpp:
(QDesktopWebViewPrivate::didMouseMoveOverElement):
* UIProcess/API/qt/qdesktopwebview.h:
* UIProcess/API/qt/qdesktopwebview_p.h:
* UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/test2.html:
* UIProcess/API/qt/tests/qmltests/qmltests.pro:
* UIProcess/qt/ClientImpl.cpp:
(qt_wk_mouseDidMoveOverElement):
* UIProcess/qt/ClientImpl.h:
* UIProcess/qt/QtWebPageProxy.cpp:
(QtWebPageProxy::init):
* UIProcess/qt/TouchViewInterface.h:
(WebKit::TouchViewInterface::didMouseMoveOverElement):
* UIProcess/qt/ViewInterface.h:

Tools:

Change the statusbar to show the link URL when hovering links in
MiniBrowser using QDesktopWebView.

* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::BrowserWindow):
(BrowserWindow::onLinkHovered):
* MiniBrowser/qt/BrowserWindow.h:

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

12 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Tue, 27 Sep 2011 13:23:49 +0000 (13:23 +0000)]
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

* DEPS:

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

12 years ago[Chromium] Layout Test fast/canvas/canvas-composite-transformclip.html is failing
hamaji@chromium.org [Tue, 27 Sep 2011 13:12:20 +0000 (13:12 +0000)]
[Chromium] Layout Test fast/canvas/canvas-composite-transformclip.html is failing
https://bugs.webkit.org/show_bug.cgi?id=68895

Unreviewed test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

12 years agoUnreviewed, rolling out r96070 and r96075.
commit-queue@webkit.org [Tue, 27 Sep 2011 13:00:21 +0000 (13:00 +0000)]
Unreviewed, rolling out r96070 and r96075.
http://trac.webkit.org/changeset/96070
http://trac.webkit.org/changeset/96075
https://bugs.webkit.org/show_bug.cgi?id=68893

WK2 tests started crashing after r96070 for SL and Qt
(Requested by torarne on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

Source/WebCore:

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner):
* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasHorizontalScrollbar):
(WebCore::ScrollView::setHasVerticalScrollbar):
(WebCore::ScrollView::updateScrollbars):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::invalidateScrollCorner):
* platform/ScrollableArea.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::destroyRootLayer):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::imageChanged):

LayoutTests:

* compositing/iframes/repaint-after-losing-scrollbars-expected.png:
* platform/qt/Skipped:

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

12 years ago[Qt][WK2] API fixes for QML, the signal parameters needs to be named.
alexis.menard@openbossa.org [Tue, 27 Sep 2011 12:58:02 +0000 (12:58 +0000)]
[Qt][WK2] API fixes for QML, the signal parameters needs to be named.
https://bugs.webkit.org/show_bug.cgi?id=68889

Reviewed by Andreas Kling.

Signal parameters needs to be explicitly named in QML to be accessible.
This patch fix this problem.

* UIProcess/API/qt/qdesktopwebview.h:
* UIProcess/API/qt/qtouchwebpage.h:

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

12 years ago[Chromium] Web Inspector: Bug with console.log and popstate/hashchange events
yurys@chromium.org [Tue, 27 Sep 2011 12:39:16 +0000 (12:39 +0000)]
[Chromium] Web Inspector: Bug with console.log and popstate/hashchange events
https://bugs.webkit.org/show_bug.cgi?id=67732

Added WebKit part of a new interactive UI test for the bug with duplicated console messages after navigation back.

Reviewed by Pavel Feldman.

* src/js/Tests.js:
(.TestSuite.prototype.testConsoleOnNavigateBack.firstConsoleMessageReceived):
(.TestSuite.prototype.testConsoleOnNavigateBack.didClickLink):
(.TestSuite.prototype.testConsoleOnNavigateBack.didNavigateBack):
(.TestSuite.prototype.testConsoleOnNavigateBack.didCompleteNavigation):
(.TestSuite.prototype.testConsoleOnNavigateBack):

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

12 years ago[Chromium] Layout Test fast/canvas/webgl/premultiplyalpha-test.html is failing
hamaji@chromium.org [Tue, 27 Sep 2011 12:34:42 +0000 (12:34 +0000)]
[Chromium] Layout Test fast/canvas/webgl/premultiplyalpha-test.html is failing
https://bugs.webkit.org/show_bug.cgi?id=68885

Unreviewed typo fix.

* platform/chromium/test_expectations.txt:

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

12 years agoWeb Inspector: JS exception upon clicking on "Word Wrap" checkbox in Settings screen
caseq@chromium.org [Tue, 27 Sep 2011 12:21:24 +0000 (12:21 +0000)]
Web Inspector: JS exception upon clicking on "Word Wrap" checkbox in Settings screen
https://bugs.webkit.org/show_bug.cgi?id=68888

Reviewed by Pavel Feldman.

* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):

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

12 years agoWeb Inspector: migrate RawSourceCode clients to SourceMapping class.
podivilov@chromium.org [Tue, 27 Sep 2011 12:06:28 +0000 (12:06 +0000)]
Web Inspector: migrate RawSourceCode clients to SourceMapping class.
https://bugs.webkit.org/show_bug.cgi?id=68524

Source/WebCore:

Clients should use uiSourceCode(), rawLocationToUILocation(), uiLocationToRawLocation() methods of SourceMapping class.
Initially, RawSourceCode may not have associated SourceMapping, so it is natural to extract this methods and associated state to a separate class.

Reviewed by Yury Semikhatsky.

* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype._materializeBreakpoint):
(WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
(WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
(WebInspector.DebuggerPresentationModel.prototype._addScript):
(WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
(WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
(WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
(WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
(WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
(WebInspector.DebuggerPresentationModel.prototype.continueToLine):
(WebInspector.PresentationCallFrame.prototype.get url):
(WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
(WebInspector.PresentationCallFrame.prototype.sourceLine):
(WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
(WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
* inspector/front-end/SourceFile.js:
(WebInspector.RawSourceCode.prototype.get sourceMapping):

LayoutTests:

Reviewed by Yury Semikhatsky.

* inspector/debugger/breakpoint-manager.html:
* inspector/debugger/raw-source-code.html:

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

12 years agowrap attribute of textarea element cannot be accessed by JavaScript.
commit-queue@webkit.org [Tue, 27 Sep 2011 11:20:34 +0000 (11:20 +0000)]
wrap attribute of textarea element cannot be accessed by JavaScript.
https://bugs.webkit.org/show_bug.cgi?id=68592

Patch by Vineet Chaudhary <vineet.chaudhary@motorola.com> on 2011-09-27
Reviewed by Kent Tamura.

Source/WebCore:

Added JS interface for wrap attribute to HTMLTextAreaElement.idl.

Test: fast/forms/textarea-wrap-attribute.html

* html/HTMLTextAreaElement.idl:

LayoutTests:

Added test cases to check accessibility to wrap attribute by JS.

* fast/forms/textarea-wrap-attribute-expected.txt: Added.
* fast/forms/textarea-wrap-attribute.html: Added.

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

12 years ago[GTK] Add compatibility methods for DOM bindings
xan@webkit.org [Tue, 27 Sep 2011 10:28:00 +0000 (10:28 +0000)]
[GTK] Add compatibility methods for DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=68884

Reviewed by Philippe Normand.

Add compatibility methods for our DOM bindings.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_blob_slice): alias to the new method name.
(webkit_dom_html_form_element_dispatch_form_change): this was
removed from WebCore, so just print a warning about it.
(webkit_dom_html_form_element_dispatch_form_input): ditto.
* bindings/gobject/WebKitDOMCustom.h:

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

12 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Tue, 27 Sep 2011 10:22:19 +0000 (10:22 +0000)]
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-09-27

* DEPS:

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

12 years ago[Chromium] Layout Test fast compositing/geometry/limit-layer-bounds-transformed-overf...
hamaji@chromium.org [Tue, 27 Sep 2011 10:15:46 +0000 (10:15 +0000)]
[Chromium] Layout Test fast compositing/geometry/limit-layer-bounds-transformed-overflow.html is failing
https://bugs.webkit.org/show_bug.cgi?id=68886

Unreviewed test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

12 years ago[Chromium] Layout Test fast/canvas/webgl/premultiplyalpha-test.html is failing
hamaji@chromium.org [Tue, 27 Sep 2011 10:06:08 +0000 (10:06 +0000)]
[Chromium] Layout Test fast/canvas/webgl/premultiplyalpha-test.html is failing
https://bugs.webkit.org/show_bug.cgi?id=68885

Unreviewed test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

12 years agoLayout Test platform/chromium/compositing/zoom-animator-scale-test.html is failing
hamaji@chromium.org [Tue, 27 Sep 2011 09:56:27 +0000 (09:56 +0000)]
Layout Test platform/chromium/compositing/zoom-animator-scale-test.html is failing
https://bugs.webkit.org/show_bug.cgi?id=68852

Unreviewed test_expectations.txt update. We may need GPU-CG, too.

* platform/chromium/test_expectations.txt:

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

12 years ago[Crhomium] Layout Test compositing/video-page-visibility.html is failing on GPU linux
hamaji@chromium.org [Tue, 27 Sep 2011 09:51:51 +0000 (09:51 +0000)]
[Crhomium] Layout Test compositing/video-page-visibility.html is failing on GPU linux
https://bugs.webkit.org/show_bug.cgi?id=68882

Unreviewed test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

12 years ago[GTK] Reorganize header files
carlosgc@webkit.org [Tue, 27 Sep 2011 09:35:55 +0000 (09:35 +0000)]
[GTK] Reorganize header files
https://bugs.webkit.org/show_bug.cgi?id=65616

Reviewed by Martin Robinson.

.:

* GNUmakefile.am: Initialize $libwebkitgtkincludedir to
$(prefix)/include/webkitgtk-<api-version>

Source/JavaScriptCore:

Install header files under $libwebkitgtkincludedir/JavaScriptCore.

* GNUmakefile.am: Use $libwebkitgtkincludedir.
* javascriptcoregtk.pc.in: Use webkitgtk-<api-version> as include dir.

Source/WebKit/gtk:

Install header files under $libwebkitgtkincludedir/webkit.

* GNUmakefile.am: Use $libwebkitgtkincludedir.
* webkit.pc.in: Use webkitgtk-<api-version> as include dir.

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

12 years ago[Crhomium] Layout Test svg/text/selection-(background-color|styles).xhtml is failing
hamaji@chromium.org [Tue, 27 Sep 2011 09:31:07 +0000 (09:31 +0000)]
[Crhomium] Layout Test svg/text/selection-(background-color|styles).xhtml is failing
https://bugs.webkit.org/show_bug.cgi?id=68881

Unreviewed test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

12 years agoUnreviewed, GTK gardening
philn@webkit.org [Tue, 27 Sep 2011 09:24:24 +0000 (09:24 +0000)]
Unreviewed, GTK gardening

* platform/gtk/Skipped: Skip svg/filters/animate-fill.svg failing
in 32-Bits Release.
* platform/gtk/test_expectations.txt: Mark
media/video-timeupdate-reverse-play.html as flaky because of bug 67407.

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

12 years agoEncapsulate m_firstNodeInserted and m_lastLeafInserted in node insertion logic
rniwa@webkit.org [Tue, 27 Sep 2011 09:00:08 +0000 (09:00 +0000)]
Encapsulate m_firstNodeInserted and m_lastLeafInserted in node insertion logic
https://bugs.webkit.org/show_bug.cgi?id=68875

Reviewed by Kent Tamura.

Added InsertedNode class inside ReplaceSelection to encapsulate m_firstNodeInserted and m_lastLeafInserted.
Deployed it in removeRedundantStylesAndKeepStyleSpanInline, doApply, and insertAsListItems of ReplaceSelectionCommand.

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removeNode):
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::doApply):
(WebCore::ReplaceSelectionCommand::insertAsListItems):
* editing/ReplaceSelectionCommand.h:
(WebCore::ReplaceSelectionCommand::InsertedNodes::respondToNodeInsertion):
(WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
(WebCore::ReplaceSelectionCommand::InsertedNodes::firstNodeInserted):
(WebCore::ReplaceSelectionCommand::InsertedNodes::lastLeafInserted):
(WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
* editing/htmlediting.cpp:
(WebCore::updatePositionForNodeRemoval): Moved from DeleteSelectionCommand.cpp.
* editing/htmlediting.h:

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

12 years ago[Chromium] Layout Test canvas/philip/tests/toDataURL.jpeg.*.html is failing on Mac...
hamaji@chromium.org [Tue, 27 Sep 2011 08:56:26 +0000 (08:56 +0000)]
[Chromium] Layout Test canvas/philip/tests/toDataURL.jpeg.*.html is failing on Mac 10.5 CG
https://bugs.webkit.org/show_bug.cgi?id=68879

Unreviewed test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

12 years agoAudio element doesn't emit the 'playing' event every time it starts playing, after...
commit-queue@webkit.org [Tue, 27 Sep 2011 08:33:21 +0000 (08:33 +0000)]
Audio element doesn't emit the 'playing' event every time it starts playing, after it has finished playing.
https://bugs.webkit.org/show_bug.cgi?id=60972

Patch by Arun Patole <bmf834@motorola.com> on 2011-09-27
Reviewed by Philippe Normand.

Source/WebCore:

The paused attribute should be set to true and the media element should emit a 'paused' at the end of playback.
WHATWG revision r6562: http://html5.org/tools/web-apps-tracker?from=6561&to=6562

Test: media/media-element-play-after-eos.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): set m_paused to true and schedule 'pause' event when playback ended.

LayoutTests:

Update media tests as the 'pause' event should be fired
and 'paused' should be set to true at the end of playback.

* media/event-attributes-expected.txt:
* media/event-attributes.html:
* media/media-element-play-after-eos-expected.txt: Added.
* media/media-element-play-after-eos.html: Added.
* media/video-loop-expected.txt:

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

12 years agoUnreviewed, GTK gardening.
philn@webkit.org [Tue, 27 Sep 2011 08:21:06 +0000 (08:21 +0000)]
Unreviewed, GTK gardening.

* platform/gtk/Skipped:
Skip outdated canvas/philip/tests/2d.drawImage.outsidesource.html.
* platform/gtk/test_expectations.txt:
media/video-playing-and-pause.html is flaky.

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

12 years agoUnreviewed, GTK rebaseline after r95845, r95897 and r95857.
philn@webkit.org [Tue, 27 Sep 2011 08:08:27 +0000 (08:08 +0000)]
Unreviewed, GTK rebaseline after r95845, r95897 and r95857.

* platform/gtk/fast/frames/flattening/frameset-flattening-advanced-expected.txt:
* platform/gtk/fast/frames/flattening/frameset-flattening-subframesets-expected.txt:
* platform/gtk/fast/ruby/ruby-text-before-after-content-expected.txt: Added.
* platform/gtk/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
* platform/gtk/http/tests/security/cross-origin-xsl-redirect-BLOCKED-expected.txt:

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

12 years ago[Qt][WK2] Mark FINAL properties which can't be overridden by a subclass.
alexis.menard@openbossa.org [Tue, 27 Sep 2011 07:55:09 +0000 (07:55 +0000)]
[Qt][WK2] Mark FINAL properties which can't be overridden by a subclass.
https://bugs.webkit.org/show_bug.cgi?id=68848

Reviewed by Andreas Kling.

The presence of the FINAL attribute indicates that the property will not be
overridden by a derived class. This can be used for performance optimizations
by QML.

* UIProcess/API/qt/qdesktopwebview.h:
* UIProcess/API/qt/qtouchwebpage.h:
* UIProcess/API/qt/qtouchwebview.h:
* UIProcess/API/qt/qwebnavigationcontroller.h:

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

12 years ago<input> with autofocus doesn't lose focus when it has a certain onblur listener
commit-queue@webkit.org [Tue, 27 Sep 2011 07:34:16 +0000 (07:34 +0000)]
<input> with autofocus doesn't lose focus when it has a certain onblur listener
https://bugs.webkit.org/show_bug.cgi?id=68513

Patch by Rakesh KN <rakesh.kn@motorola.com> on 2011-09-27
Reviewed by Kent Tamura.

Source/WebCore:

Test: fast/forms/autofocus-focus-only-once.html

These changes make sure that an element is focused only once when autofocus attribute is used.

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::shouldAutofocus):
(WebCore::HTMLFormControlElement::attach):
* html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElement::hasAutofocused):
(WebCore::HTMLFormControlElement::setAutofocused):

LayoutTests:

These changes make sure that an element is focused only once when autofocus attribute is used.

* fast/forms/autofocus-focus-only-once-expected.txt: Added.
* fast/forms/autofocus-focus-only-once.html: Added.

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

12 years ago[Qt] Add missing test expecteds after r95924.
reni@webkit.org [Tue, 27 Sep 2011 07:05:21 +0000 (07:05 +0000)]
[Qt] Add missing test expecteds after r95924.

Unreviewed gardening.

* platform/qt/fast/ruby/ruby-base-merge-block-children-crash-expected.png: Added.
* platform/qt/fast/ruby/ruby-base-merge-block-children-crash-expected.txt: Added.

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

12 years agodump-as-markup conversion: editing/deleting/delete-to-end-of-paragraph.html
rniwa@webkit.org [Tue, 27 Sep 2011 06:55:34 +0000 (06:55 +0000)]
dump-as-markup conversion: editing/deleting/delete-to-end-of-paragraph.html
https://bugs.webkit.org/show_bug.cgi?id=68865

Reviewed by Kent Tamura.

Converted the test.

* editing/deleting/delete-to-end-of-paragraph-expected.txt: Added.
* editing/deleting/delete-to-end-of-paragraph.html:
* platform/chromium-linux/editing/deleting/delete-to-end-of-paragraph-expected.png: Removed.
* platform/chromium-win/editing/deleting/delete-to-end-of-paragraph-expected.png: Removed.
* platform/chromium-win/editing/deleting/delete-to-end-of-paragraph-expected.txt: Removed.
* platform/gtk/editing/deleting/delete-to-end-of-paragraph-expected.txt: Removed.
* platform/mac-leopard/editing/deleting/delete-to-end-of-paragraph-expected.png: Removed.
* platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.png: Removed.
* platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.txt: Removed.
* platform/qt/editing/deleting/delete-to-end-of-paragraph-expected.png: Removed.
* platform/qt/editing/deleting/delete-to-end-of-paragraph-expected.txt: Removed.

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

12 years ago[Qt] Skip two tests because they are failing after r96070.
reni@webkit.org [Tue, 27 Sep 2011 06:43:27 +0000 (06:43 +0000)]
[Qt] Skip two tests because they are failing after r96070.

Unreviewed gardening.

* platform/qt/Skipped:

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

12 years agogarden-o-matic's commit data on summary page should not crowd itself or twitch when...
dglazkov@chromium.org [Tue, 27 Sep 2011 06:32:10 +0000 (06:32 +0000)]
garden-o-matic's commit data on summary page should not crowd itself or twitch when hovered over.
https://bugs.webkit.org/show_bug.cgi?id=68864

Reviewed by Adam Barth.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/summary-mock.js: Updated mocks to work.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js: Changed the structure of commit data to keep commit revision apart from the rest of details.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js: Adjusted unit tests.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/notifications.css: Made things look shiny.

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

12 years agoImplement PopStateEvent.state with SerializedScriptValue and ScriptValue
commit-queue@webkit.org [Tue, 27 Sep 2011 06:27:02 +0000 (06:27 +0000)]
Implement PopStateEvent.state with SerializedScriptValue and ScriptValue
https://bugs.webkit.org/show_bug.cgi?id=68345

Patch by Kentaro Hara <haraken@chromium.org> on 2011-09-26
Reviewed by Adam Barth.

Source/WebCore:

Previously, the following test cases fail or crash:

- shouldBe("new PopStateEvent('eventType', { state: object1 }).state", "object1") -> FAIL
- new PopStateEvent('eventType', { state: document }).state -> CRASH in DRT

This is because PopStateEvent.state is implemented not as ScriptValue but as SerializedScriptValue.
However, we cannot simply change the type of PopStateEvent.state to ScriptValue,
since PopStateEvent can be constructed in the context that does not know ScriptValue.
For example, Document.cpp calls PopStateEvent::create() with SerializedScriptValue
popped from HistoryItem, but we cannot deserialize the SerializedScriptValue into
the corresponding ScriptValue here because the deserialization requires ExecState.
In other words, although we want to store PopStateEvent.state by ScriptValue internally,
PopStateEvent still needs to provide an API to construct it with SerializedScriptValue.
With these observations, this patch makes the following changes:

- If PopStateEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
When PopStateEvent.state is called, the ScriptValue is returned.
- If PopStateEvent is constructed with SerializedScriptValue, it is stored as
SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
at this point). When PopStateEvent.state is called, the SerializedScriptValue is
deserialized into the corresponding ScriptValue, and the ScriptValue is returned.

Tests: fast/events/constructors/pop-state-event-constructor.html
       fast/events/fire-popstate-event.html

* GNUmakefile.list.am: Added JSPopStateEventCustom.cpp.
* UseJSC.cmake: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSPopStateEventCustom.cpp:
(WebCore::JSPopStateEvent::state): Custom getter for PopStateEvent.state.
* bindings/v8/custom/V8PopStateEventCustom.cpp:
(WebCore::V8PopStateEvent::stateAccessorGetter): Custom getter for PopStateEvent.state.
* dom/PopStateEvent.cpp:
(WebCore::PopStateEventInit::PopStateEventInit): Added initialization code for PopStateEvent.m_state.
(WebCore::PopStateEvent::PopStateEvent): Ditto.
(WebCore::PopStateEvent::create): Ditto.
(WebCore::PopStateEvent::initPopStateEvent): Ditto.
* dom/PopStateEvent.h:
(WebCore::PopStateEvent::serializedState): Getter.
(WebCore::PopStateEvent::state): Getter.
* dom/PopStateEvent.idl: Change the type of 'stateArg' and 'state' to DOMObject. Added [CustomGetter] to 'state'.

LayoutTests:

* fast/events/constructors/pop-state-event-constructor-expected.txt:
* fast/events/constructors/pop-state-event-constructor.html: Removed failures and crashes. Added one test case.

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

12 years ago[Qt][WK2] One more unreviewed buildfix after r96005.
ossy@webkit.org [Tue, 27 Sep 2011 06:26:14 +0000 (06:26 +0000)]
[Qt][WK2] One more unreviewed buildfix after r96005.

* WebKitTestRunner/qt/TestInvocationQt.cpp: Missing include added.

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

12 years ago[Qt][WK2] Unreviewed buildfix after r96005.
ossy@webkit.org [Tue, 27 Sep 2011 06:15:20 +0000 (06:15 +0000)]
[Qt][WK2] Unreviewed buildfix after r96005.

* WebKitTestRunner/qt/TestInvocationQt.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

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

12 years agoPixel result shows that compositing/iframes/repaint-after-losing-scrollbars.html...
simon.fraser@apple.com [Tue, 27 Sep 2011 05:50:02 +0000 (05:50 +0000)]
Pixel result shows that compositing/iframes/repaint-after-losing-scrollbars.html is failing
https://bugs.webkit.org/show_bug.cgi?id=67858

Reviewed by Darin Adler.

When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
the scrollbar areas or the scroll corner, so the scrollbars appear to remain.

Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
on scrollbar creation appears to happen via updating the scrollbar style.

Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
stale scrollbars when run manually, even though the green squares are missing from the
pixel result (bug 67878).

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
(WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
(WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
compute the scroll corner rect while we still have scrollbars, and then invalidate it
explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
rect.)
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
compute it in the case where the scrollbars are going away.
* platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
invalidateScrollbar().
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
* rendering/RenderScrollbarPart.cpp: Ditto.
(WebCore::RenderScrollbarPart::imageChanged): Ditto.

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

12 years agoTranslucent scrollbars on composited layers render incorrectly
simon.fraser@apple.com [Tue, 27 Sep 2011 05:12:24 +0000 (05:12 +0000)]
Translucent scrollbars on composited layers render incorrectly
https://bugs.webkit.org/show_bug.cgi?id=58515

Source/WebCore:

Reviewed by Sam Weinig.

Scrollbars in composited elements were getting drawn twice,
because r41203 moved the call to paintOverflowControls() out of
RenderLayer::paintLayer(), but forgot to change RenderLayerBacking::paintIntoLayer().

Test: compositing/scrollbar-painting.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):

LayoutTests:

Reviewed by Sam Weinig.

Pixel test with translucent scrollbars, to test whether they get
rendered twice.

* compositing/scrollbar-painting-expected.png: Added.
* compositing/scrollbar-painting-expected.txt: Added.
* compositing/scrollbar-painting.html: Added.

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

12 years agoREGRESSION (r95912): Conservative marking doesn't filter out pointers to
ggaren@apple.com [Tue, 27 Sep 2011 03:24:03 +0000 (03:24 +0000)]
REGRESSION (r95912): Conservative marking doesn't filter out pointers to
MarkedBlock metadata
https://bugs.webkit.org/show_bug.cgi?id=68860

Reviewed by Oliver Hunt.

Bencher says no performance change, maybe a 7% speedup on kraken-imaging-darkroom.

* heap/MarkedBlock.h:
(JSC::MarkedBlock::isAtomAligned): Renamed atomMask to atomAlignment mask
because the mask doesn't produce the actual atom number.

(JSC::MarkedBlock::isLiveCell): Testing just for alignment isn't good
enough; we also need to test that a pointer is beyond the metadata section
of a MarkedBlock, to avoid treating random metadata as a JSCell.

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

12 years ago[Qt] Fix WK2 build after r96014
caio.oliveira@openbossa.org [Tue, 27 Sep 2011 02:36:55 +0000 (02:36 +0000)]
[Qt] Fix WK2 build after r96014
https://bugs.webkit.org/show_bug.cgi?id=68856

Reviewed by Gustavo Noronha Silva.

Commit r96014 added inspectorBaseURL for Qt but removed
inspectorPageURL, adding it back.

* UIProcess/qt/WebInspectorProxyQt.cpp:
(WebKit::WebInspectorProxy::inspectorPageURL):

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

12 years ago[chromium] Make CCThreadProxy draw
jamesr@google.com [Tue, 27 Sep 2011 02:18:14 +0000 (02:18 +0000)]
[chromium] Make CCThreadProxy draw
https://bugs.webkit.org/show_bug.cgi?id=67417

Source/WebCore:

Update the CCThreadProxy to correctly implement the CCProxy
interface, do all the right committing and updating steps, and
draw a picture on the screen.

Patch by Nat Duca <nduca@chromium.org> on 2011-09-26
Reviewed by James Robinson.

* platform/graphics/IntRect.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::~LayerRendererChromium):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::enabled):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::~CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::commitTo):
(WebCore::CCLayerTreeHost::commitComplete):
(WebCore::CCLayerTreeHost::setNeedsRedraw):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::finishAllRendering):
(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore::CCSingleThreadProxy::commitIfNeeded):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::~CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
(WebCore::CCThreadProxy::finishAllRendering):
(WebCore::CCThreadProxy::isStarted):
(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
(WebCore::CCThreadProxy::setNeedsRedraw):
(WebCore::CCThreadProxy::start):
(WebCore::CCThreadProxy::stop):
(WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
(WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
(WebCore::CCThreadProxy::beginFrameAndCommit):
(WebCore::CCThreadProxy::commitOnCCThread):
(WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
(WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
(WebCore::CCThreadProxy::drawLayersOnCCThread):
(WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:

Source/WebKit/chromium:

Disable CCLayerTreeHostTest temporarily. Will re-enable
with https://bugs.webkit.org/show_bug.cgi?id=67418

Patch by Nat Duca <nduca@chromium.org> on 2011-09-26
Reviewed by James Robinson.

* tests/CCLayerTreeHostTest.cpp:

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