WebKit-https.git
8 years agoReplace more instances of += with StringBuilder
abarth@webkit.org [Fri, 31 Aug 2012 01:25:43 +0000 (01:25 +0000)]
Replace more instances of += with StringBuilder
https://bugs.webkit.org/show_bug.cgi?id=95502

Reviewed by Darin Adler.

This patch removes many uses of WTF::String::operator+= in WebCore.
Many of these uses are inefficient because they cause us to allocate
and memcpy strings more times than necessary. In most cases, I've
replaced these inefficient patterns with StringBuilder.

This patch makes progress towards removing WTF::String::operator+= from
the project.

We can make cssText() more efficient by passing a single StringBuilder
instance along to the recursive calls, but I've left that for a later
patch.

* css/CSSBorderImageSliceValue.cpp:
(WebCore::CSSBorderImageSliceValue::customCssText):
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::customCssText):
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::customCssText):
* css/CSSGradientValue.cpp:
(WebCore::CSSLinearGradientValue::customCssText):
(WebCore::CSSRadialGradientValue::customCssText):
* css/CSSParser.cpp:
(WebCore::CSSParser::createKeyframe):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::customCssText):
* css/CSSReflectValue.cpp:
(WebCore::CSSReflectValue::customCssText):
* css/CSSTimingFunctionValue.cpp:
(WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
(WebCore::CSSStepsTimingFunctionValue::customCssText):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::get4Values):
(WebCore::StylePropertySet::getLayeredShorthandValue):
(WebCore::StylePropertySet::getShorthandValue):
* fileapi/BlobURL.cpp:
(WebCore::BlobURL::createBlobURL):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
* inspector/InspectorClient.cpp:
(WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::didFailLoading):
* inspector/InspectorFileSystemAgent.cpp:
(WebCore):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResourceContent):
(WebCore::InspectorPageAgent::getCookies):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::addRule):

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

8 years agoUnreviewed gardening. fast/events/domactivate-sets-underlying-click-event-as-handled...
roger_fong@apple.com [Fri, 31 Aug 2012 01:19:06 +0000 (01:19 +0000)]
Unreviewed gardening. fast/events/domactivate-sets-underlying-click-event-as-handled.html fails on Windows.
https://bugs.webkit.org/show_bug.cgi?id=87469

It looks like any test that involves popup windows of some sort confuses DRT.
It doesn't know to continue the test when focus moves away from the main window.
This happens with select menu tests as well when focus is put on the select options popup.

* platform/win/Skipped:

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

8 years agoASSERTION FAILURE in JSC::JSGlobalData::float32ArrayDescriptor when running fast...
fpizlo@apple.com [Fri, 31 Aug 2012 01:15:12 +0000 (01:15 +0000)]
ASSERTION FAILURE in JSC::JSGlobalData::float32ArrayDescriptor when running fast/js/dfg-float64array.html
https://bugs.webkit.org/show_bug.cgi?id=95398

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Trying to get the build failure to be a bit more informative.

* runtime/JSGlobalData.h:
(JSGlobalData):

LayoutTests:

Temporarily unskipping tests to figure out what is going.

* platform/mac-wk2/Skipped:

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

8 years agoMake it possible to use CSS Variables inside Calc expressions.
macpherson@chromium.org [Fri, 31 Aug 2012 01:13:50 +0000 (01:13 +0000)]
Make it possible to use CSS Variables inside Calc expressions.
https://bugs.webkit.org/show_bug.cgi?id=95284

Reviewed by Tony Chang.

Allows calc expressions to contain unevaluated variables, which are then resolved in StyleResolver.cpp when building the RenderStyle tree.

Tests:
fast/css/variables/calc.html

* css/CSSCalculationValue.cpp:
(WebCore::unitCategory):
(WebCore):
(WebCore::CSSCalcValue::customSerializeResolvingVariables):
Generates a CSS expression with variables resolved into their corresponding values.
(WebCore::CSSCalcValue::hasVariableReference):
Returns true if the calculation's expression tree refers to a variable (that needs to be resolved).
(CSSCalcPrimitiveValue):
(WebCore::CSSCalcPrimitiveValue::serializeResolvingVariables):
Resolves the variable using the underlying CSSPrimitiveValue's serializeResolvingVariables function.
(WebCore::CSSCalcPrimitiveValue::hasVariableReference):
(WebCore::CSSCalcPrimitiveValue::toCalcValue):
(WebCore::CSSCalcPrimitiveValue::doubleValue):
(WebCore::CSSCalcPrimitiveValue::computeLengthPx):
(WebCore::CSSCalcBinaryOperation::create):
(CSSCalcBinaryOperation):
(WebCore::CSSCalcBinaryOperation::serializeResolvingVariables):
Builds a CSS expression for contained subtrees.
(WebCore::CSSCalcBinaryOperation::hasVariableReference):
Returns true if either subtree contains a variable.
* css/CSSCalculationValue.h:
(CSSCalcExpressionNode):
(CSSCalcValue):
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::validCalculationUnit):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::primitiveType):
(WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

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

8 years ago~JSNPObject should call invalidate() if it hasn't been called already
mhahnenberg@apple.com [Fri, 31 Aug 2012 00:43:15 +0000 (00:43 +0000)]
~JSNPObject should call invalidate() if it hasn't been called already
https://bugs.webkit.org/show_bug.cgi?id=95497

Reviewed by Geoffrey Garen.

Finalization is no longer eager, just like destruction, so the original intent behind
this ASSERT in ~JSNPObject is no longer relevant. Therefore, we can just call invalidate()
ourselves in ~JSNPObject.

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::~JSNPObject):

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

8 years agoUnreviewed Gardening. http/security/referrer tests fail. Unable to load resources...
roger_fong@apple.com [Fri, 31 Aug 2012 00:39:54 +0000 (00:39 +0000)]
Unreviewed Gardening. http/security/referrer tests fail. Unable to load resources over https.
https://bugs.webkit.org/show_bug.cgi?id=73913

* platform/win/Skipped:

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

8 years ago[CSS Shaders] Implement normal blend mode and source-atop compositing mode
commit-queue@webkit.org [Fri, 31 Aug 2012 00:34:58 +0000 (00:34 +0000)]
[CSS Shaders] Implement normal blend mode and source-atop compositing mode
https://bugs.webkit.org/show_bug.cgi?id=93869

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-08-30
Reviewed by Dean Jackson.

Source/WebCore:

Instead of allowing direct texture access in an author's shader via u_texture, CSS
Shaders blends special symbols in the author's shader (css_MixColor and
css_ColorMatrix) with the DOM element texture.

The author specifies the blend mode and composite operator via the CSS mix
function like this:
-webkit-filter: custom(none mix(shader.fs normal source-atop));

This patch implements the normal blend mode and the source-atop composite
operator. The other blend modes and composite operators will come in later
patches.

This patch introduces a new class, CustomFilterValidatedProgram, which validates
the shader using ANGLE. If the shader uses blending and compositing,
CustomFilterValidatedProgram uses ANGLE's SH_CSS_SHADERS_SPEC flag. This allows
the author's shader to compile successfully with special symbols like
"css_MixColor". ANGLE also reserves the "css_" prefix. If the shader doesn't use
blending and compositing, CustomFilterValidatedProgram validates the shader using
ANGLE's SH_WEBGL_SPEC flag.

After validation, CustomFilterValidatedProgram adds blending, compositing, and
texture access shader code to the author's original shaders. The definitions for
css_MixColor and css_ColorMatrix are added before the author's fragment shader
code so that the author code can access them. The blending, compositing, and
texture access code is added after the author code and is thus inaccessible to the
author code. Since ANGLE reserves the "css_" prefix during the validation phase,
no collisions are possible between the author's code and the code that WebKit adds.

The CustomFilterGlobalContext now caches CustomFilterValidatedProgram instead
of CustomFilterCompiledProgram. CustomFilterValidatedProgram owns a
CustomFilterCompiledProgram. This way, we can use the platform-independent
CustomFilterValidatedProgram to validate and rewrite the shaders, regardless of
the platform representation of the program (e.g. CustomFilterCompiledProgram).

Tests: css3/filters/custom/custom-filter-color-matrix.html
       css3/filters/custom/custom-filter-composite-source-atop.html

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
    Add a shader spec parameter, since sometimes we want to validate the shader
    against the CSS Shaders spec and other times we want to validate the shader
    against the WebGL spec. Note that the CSS Shaders spec is treated as a subset
    of the WebGL spec in ANGLE.
(WebCore::ANGLEWebKitBridge::validateShaderSource):
* platform/graphics/ANGLEWebKitBridge.h:
(ANGLEWebKitBridge):
* platform/graphics/filters/CustomFilterCompiledProgram.cpp:
(WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
(WebCore::CustomFilterCompiledProgram::compileShader):
(WebCore::CustomFilterCompiledProgram::initializeParameterLocations):
(WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram):
* platform/graphics/filters/CustomFilterCompiledProgram.h:
(WebCore):
* platform/graphics/filters/CustomFilterGlobalContext.cpp:
(WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
(WebCore::CustomFilterGlobalContext::webglShaderValidator):
(WebCore):
(WebCore::CustomFilterGlobalContext::mixShaderValidator):
(WebCore::CustomFilterGlobalContext::createShaderValidator):
(WebCore::CustomFilterGlobalContext::getValidatedProgram):
(WebCore::CustomFilterGlobalContext::removeValidatedProgram):
* platform/graphics/filters/CustomFilterGlobalContext.h:
(WebCore):
(CustomFilterGlobalContext):
* platform/graphics/filters/CustomFilterProgramInfo.h:
(WebCore::CustomFilterProgramInfo::mixSettings):
* platform/graphics/filters/CustomFilterValidatedProgram.cpp: Added.
(WebCore):
(WebCore::CustomFilterValidatedProgram::defaultVertexShaderString):
(WebCore::CustomFilterValidatedProgram::defaultFragmentShaderString):
(WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
(WebCore::CustomFilterValidatedProgram::compiledProgram):
(WebCore::CustomFilterValidatedProgram::rewriteMixVertexShader):
(WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
(WebCore::CustomFilterValidatedProgram::blendFunctionString):
(WebCore::CustomFilterValidatedProgram::compositeFunctionString):
(WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
* platform/graphics/filters/CustomFilterValidatedProgram.h: Added.
(WebCore):
(CustomFilterValidatedProgram):
(WebCore::CustomFilterValidatedProgram::create):
(WebCore::CustomFilterValidatedProgram::programInfo):
(WebCore::CustomFilterValidatedProgram::isInitialized):
(WebCore::CustomFilterValidatedProgram::detachFromGlobalContext):
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::FECustomFilter):
    Accept a CustomFilterValidatedProgram instead of CustomFilterProgram.
(WebCore::FECustomFilter::create):
(WebCore::FECustomFilter::initializeContext):
(WebCore::FECustomFilter::bindVertexAttribute):
(WebCore::FECustomFilter::bindProgramAndBuffers):
* platform/graphics/filters/FECustomFilter.h:
(WebCore):
(FECustomFilter):
* rendering/FilterEffectRenderer.cpp:
(WebCore):
(WebCore::createCustomFilterEffect):
(WebCore::FilterEffectRenderer::build):
    Only create an FECustomFilter if the program validates.
* rendering/FilterEffectRenderer.h:
(WebCore):
(FilterEffectRenderer):

LayoutTests:

We've added two new special built-in symbols in CSS Shaders, css_MixColor and
css_ColorMatrix.

This change adds custom-filter-composite-source-atop.html, a new test that uses css_MixColor
in a shader with the normal blend mode and the source-atop compositing operator.

This change also adds custom-filter-color-matrix.html, a new test that uses css_ColorMatrix
in the shader.

Authors can read and write to these special built-ins in their shader code. WebKit will
premultiply the DOM element texture with css_ColorMatrix. Additionally, WebKit will blend
and composite css_MixColor with the DOM element texture, according to the blend mode and
compositing operator that the author specifies in CSS.

For example, the following line of CSS tells WebKit how to blend and composite the
css_MixColor from shader.fs:
-webkit-filter: custom(none mix(shader.fs normal source-atop));

* css3/filters/custom/custom-filter-color-matrix-expected.png: Added.
* css3/filters/custom/custom-filter-color-matrix-expected.txt: Added.
* css3/filters/custom/custom-filter-color-matrix.html: Added.
* css3/filters/custom/custom-filter-composite-source-atop-expected.png: Added.
* css3/filters/custom/custom-filter-composite-source-atop-expected.txt: Added.
* css3/filters/custom/custom-filter-composite-source-atop.html: Added.
* css3/filters/custom/custom-filter-shader-cache.html:
* css3/filters/custom/effect-color-check.html:
    Use pass-tex-coord.vs now. Since v_texCoord in not automatically passed in the default
    shaders anymore, we have to pass it in our own vertex shader. After we implement more
    blending and compositing modes, we will be able to convert most of the tests to use the
    CSS mix function. Then, we won't be sampling the DOM element texture directly, so we
    won't need a tex coord, so we won't need this shader anymore.
* css3/filters/custom/effect-custom.html:
    The default CSS value for <fragmentShader> needs to be specified explicitly until we
    change it from its current default. This will be fixed in:
    https://bugs.webkit.org/show_bug.cgi?id=94020
* css3/filters/custom/effect-custom-transform-parameters.html:
    Ditto.
* css3/filters/custom/filter-fallback-to-software.html:
    Ditto.
* css3/filters/custom/invalid-custom-filter-shader-expected.html:
    These tests will not attempt to apply a filter because the programs do not validate.
    This means we don't need to trigger FilterEffectRenderer with grayscale(0) in
    the reference file anymore.
* css3/filters/resources/composite.fs: Added.
* css3/filters/resources/empty-shader.fs: Added.
* css3/filters/resources/grayscale-color-matrix.fs: Added.
* css3/filters/resources/pass-tex-coord.vs: Added.
* platform/chromium/css3/filters/custom/custom-filter-color-matrix-expected.png: Added.
* platform/chromium/css3/filters/custom/custom-filter-composite-source-atop-expected.png: Added.
* platform/chromium/TestExpectations:
* platform/mac-snowleopard/css3/filters/custom/effect-custom-expected.png: Removed.
    We should use the generic expectation, because this expectation does not show the
    shaders applied.
* platform/mac-snowleopard/css3/filters/custom/effect-custom-parameters-expected.png: Removed.
    Ditto.

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

8 years agoRemove the failing expectation from some tests that are no longer failing on Lion.
jberlin@webkit.org [Fri, 31 Aug 2012 00:21:58 +0000 (00:21 +0000)]
Remove the failing expectation from some tests that are no longer failing on Lion.

* platform/mac-lion/TestExpectations:

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

8 years agoAllow dynamic mach-lookup extensions in the WebProcess
weinig@apple.com [Fri, 31 Aug 2012 00:04:05 +0000 (00:04 +0000)]
Allow dynamic mach-lookup extensions in the WebProcess
<rdar://problem/12207996>

Reviewed by Gavin Barraclough.

Like we allow file read/write dynamic sandbox extensions, we should allow
mach-lookup extensions.

* WebProcess/com.apple.WebProcess.sb.in:

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

8 years agoTry to fix the Qt build: add some #includes that, for some reason, only the Qt linker...
ggaren@apple.com [Fri, 31 Aug 2012 00:00:46 +0000 (00:00 +0000)]
Try to fix the Qt build: add some #includes that, for some reason, only the Qt linker requires.

* runtime/BooleanObject.cpp:
* runtime/ErrorInstance.cpp:
* runtime/NameInstance.cpp:

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

8 years agoFix the Qt build: Removed a now-dead variable.
ggaren@apple.com [Thu, 30 Aug 2012 23:49:37 +0000 (23:49 +0000)]
Fix the Qt build: Removed a now-dead variable.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):

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

8 years agoAmbiguous operator[] after r127191 on some compiler
benjamin@webkit.org [Thu, 30 Aug 2012 23:41:29 +0000 (23:41 +0000)]
Ambiguous operator[]  after r127191 on some compiler
https://bugs.webkit.org/show_bug.cgi?id=95509

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-30
Reviewed by Simon Fraser.

Source/JavaScriptCore:

On some compilers, the operator[] conflicts with the Obj-C++ operators. This attempts to solve
the issue.

* runtime/JSString.h:
(JSC::jsSingleCharacterSubstring):
(JSC::jsString):
(JSC::jsSubstring8):
(JSC::jsSubstring):
(JSC::jsOwnedString):

Source/WTF:

* wtf/text/WTFString.h:
(WTF::String::characterAt): At this as a synonym to operator[] to attempt a build fix.

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

8 years agoTry to fix the Qt build: Remove the inline keyword at the declaration
ggaren@apple.com [Thu, 30 Aug 2012 23:36:41 +0000 (23:36 +0000)]
Try to fix the Qt build: Remove the inline keyword at the declaration
site.

The Qt compiler seems to be confused, complaining about these functions
not being defined in a translation unit, even though no generated code
in the unit calls these functions. Maybe removing the keyword at the
declaration site will change its mind.

This shouldn't change the inlining decision at all: the definition is
still inline.

* interpreter/CallFrame.h:
(ExecState):

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

8 years agoUndo Qt build fix guess, since it breaks other builds.
ggaren@apple.com [Thu, 30 Aug 2012 23:33:05 +0000 (23:33 +0000)]
Undo Qt build fix guess, since it breaks other builds.

* runtime/JSArray.h:

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

8 years agoCSS 2.1 failure: margin-collapse-clear-012 fails
jberlin@webkit.org [Thu, 30 Aug 2012 23:31:58 +0000 (23:31 +0000)]
CSS 2.1 failure: margin-collapse-clear-012 fails
https://bugs.webkit.org/show_bug.cgi?id=80394

Mark fast/block/margin-collapse/empty-clear-blocks.html as an expected text failure on Mac,
not both an image and text failure, since the bots are only seeing it as a text failure.

* platform/mac/TestExpectations:

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

8 years agoTry to fix the Qt build: add an #include to JSArray.h, since
ggaren@apple.com [Thu, 30 Aug 2012 23:30:56 +0000 (23:30 +0000)]
Try to fix the Qt build: add an #include to JSArray.h, since
it's included by some of the files Qt complains about, and
some of is functions call the functions Qt complains about.

* runtime/JSArray.h:

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

8 years agoSecond step toward fixing the Windows build: Add new symbols.
ggaren@apple.com [Thu, 30 Aug 2012 23:23:16 +0000 (23:23 +0000)]
Second step toward fixing the Windows build: Add new symbols.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

8 years agoCrash in RenderTable::calcBorderEnd
jchaffraix@webkit.org [Thu, 30 Aug 2012 23:22:56 +0000 (23:22 +0000)]
Crash in RenderTable::calcBorderEnd
https://bugs.webkit.org/show_bug.cgi?id=95487

Reviewed by Abhishek Arya.

Source/WebCore:

r126590 opened the window for a race condition in RenderObjectChildList::removeChildNode.
This is caused because willBeRemovedFromTree should be strictly following by the actual removal
and wasn't.

This race condition was caused by clearSelection() being called just after willBeRemovedFromTree,
which forced a section's cells recalc and would re-add the soon-to-be-removed child, causing the
crash.

Test: fast/table/crash-clearSelection-collapsed-borders.html

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
Moved the clearSeletion call before willBeRemovedFromTree. Added a warning about running code
after willBeRemovedFromTree and before removing the child from the tree.

LayoutTests:

* fast/table/crash-clearSelection-collapsed-borders-expected.txt: Added.
* fast/table/crash-clearSelection-collapsed-borders.html: Added.

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

8 years agoTry to fix the Qt build: add an #include.
ggaren@apple.com [Thu, 30 Aug 2012 23:07:21 +0000 (23:07 +0000)]
Try to fix the Qt build: add an #include.

* bytecode/GetByIdStatus.cpp:

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

8 years agoFirst step toward fixing the Windows build: Remove old symbols.
ggaren@apple.com [Thu, 30 Aug 2012 23:03:59 +0000 (23:03 +0000)]
First step toward fixing the Windows build: Remove old symbols.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

8 years ago[Chromium-Android] Skip compositing/webgl and platform/chromium/virtual/threaded...
wangxianzhu@chromium.org [Thu, 30 Aug 2012 22:57:54 +0000 (22:57 +0000)]
[Chromium-Android] Skip compositing/webgl and platform/chromium/virtual/threaded/compositing/webgl tests
https://bugs.webkit.org/show_bug.cgi?id=95400

Reviewed by Dirk Pranke.

WebGL is not enabled and should be skipped on Android (http://crbug.com/135877).

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.skipped_layout_tests):

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

8 years agoUse one object instead of two for closures, eliminating ScopeChainNode
ggaren@apple.com [Thu, 30 Aug 2012 22:50:00 +0000 (22:50 +0000)]
Use one object instead of two for closures, eliminating ScopeChainNode
https://bugs.webkit.org/show_bug.cgi?id=95501

Reviewed by Filip Pizlo.

../JavaScriptCore:

This patch removes ScopeChainNode, and moves all the data and related
functions that used to be in ScopeChainNode into JSScope.

Most of this patch is mechanical changes to use a JSScope* where we used
to use a ScopeChainNode*. I've only specifically commented about items
that were non-mechanical.

* runtime/Completion.cpp:
(JSC::evaluate):
* runtime/Completion.h: Don't require an explicit scope chain argument
when evaluating code. Clients never wanted anything other than the
global scope, and other arbitrary scopes probably wouldn't work
correctly, anyway.

* runtime/JSScope.cpp:
* runtime/JSScope.h:
(JSC::JSScope::JSScope): JSScope now requires the data we used to pass to
ScopeChainNode, so it can link itself into the scope chain correctly.

* runtime/JSWithScope.h:
(JSC::JSWithScope::create):
(JSC::JSWithScope::JSWithScope): JSWithScope gets an extra constructor
for specifically supplying your own scope chain. The DOM needs this
interface for setting up the scope chain for certain event handlers.
Other clients always just push the JSWithScope to the head of the current
scope chain.

../WebCore:

Mechanical changes to update for JSC interface changes.

../WebKit/mac:

Mechanical change to update for JSC interface change.

../WebKit/qt:

Mechanical change to update for JSC interface change.

* Api/qwebelement.cpp:
(QWebElement::evaluateJavaScript):

../WebKit2:

Mechanical changes to update for JSC interface change.

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

8 years ago[GTK] Tries to run empty string when calling generate-gtkdoc when not using jhbuild
kov@webkit.org [Thu, 30 Aug 2012 22:49:28 +0000 (22:49 +0000)]
[GTK] Tries to run empty string when calling generate-gtkdoc when not using jhbuild
https://bugs.webkit.org/show_bug.cgi?id=95499

Unreviewed. One more fix to avoid trying to run the empty string.

* Scripts/webkitdirs.pm:
(buildAutotoolsProject):

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

8 years agoUnreviewed update to test expectations.
pdr@google.com [Thu, 30 Aug 2012 22:23:00 +0000 (22:23 +0000)]
Unreviewed update to test expectations.

fast/css/font-weight-1.html stopped failing for IMAGE+TEXT and
started failing for just IMAGE.

* platform/chromium/TestExpectations:

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

8 years agoRender unto #ifdef's that which belong to them.
commit-queue@webkit.org [Thu, 30 Aug 2012 22:21:48 +0000 (22:21 +0000)]
Render unto #ifdef's that which belong to them.
https://bugs.webkit.org/show_bug.cgi?id=95482.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-30
Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Refining / disambiguating between #ifdefs and adding some. For
example, ENABLE(JIT) is conflated with ENABLE(LLINT) in some places.
Also, we need to add ENABLE(COMPUTED_GOTO_OPCODES) to indicate that we
want interpreted opcodes to use COMPUTED GOTOs apart from ENABLE(LLINT)
and ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER). Also cleaned up #ifdefs
in certain places which were previously incorrect.

* bytecode/CodeBlock.cpp:
(JSC):
(JSC::CodeBlock::bytecodeOffset):
* bytecode/CodeBlock.h:
(CodeBlock):
* bytecode/Opcode.h:
(JSC::padOpcodeName):
* config.h:
* dfg/DFGOperations.cpp:
* interpreter/AbstractPC.cpp:
(JSC::AbstractPC::AbstractPC):
* interpreter/CallFrame.h:
(ExecState):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::~Interpreter):
(JSC::Interpreter::initialize):
(JSC::Interpreter::isOpcode):
(JSC::Interpreter::unwindCallFrame):
(JSC::getLineNumberForCallFrame):
(JSC::getCallerInfo):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::privateExecute):
* interpreter/Interpreter.h:
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::getOpcodeID):
(Interpreter):
* jit/HostCallReturnValue.h:
* jit/JITCode.h:
(JITCode):
* jit/JITExceptions.cpp:
* jit/JITExceptions.h:
* jit/JSInterfaceJIT.h:
* llint/LLIntData.h:
(JSC::LLInt::getOpcode):
* llint/LLIntEntrypoints.cpp:
(JSC::LLInt::getFunctionEntrypoint):
(JSC::LLInt::getEvalEntrypoint):
(JSC::LLInt::getProgramEntrypoint):
* llint/LLIntOffsetsExtractor.cpp:
(JSC::LLIntOffsetsExtractor::dummy):
* llint/LLIntSlowPaths.cpp:
(LLInt):
* runtime/JSGlobalData.cpp:
(JSC):

Source/WTF:

* wtf/Platform.h: Added ENABLE(COMPUTED_GOTO_OPCODES).

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

8 years agoUnreviewed, rolling out r127171.
commit-queue@webkit.org [Thu, 30 Aug 2012 22:13:25 +0000 (22:13 +0000)]
Unreviewed, rolling out r127171.
http://trac.webkit.org/changeset/127171
https://bugs.webkit.org/show_bug.cgi?id=95505

testRunner does not need dumpWebNotificationCallbacks().
(Requested by jonlee on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-30

Source/WebKit/mac:

* WebKit.exp:

Tools:

* DumpRenderTree/TestRunner.cpp:
(TestRunner::TestRunner):
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/mac/MockWebNotificationProvider.mm:
(-[MockWebNotificationProvider webView:didShowNotification:]):
(-[MockWebNotificationProvider webView:didClickNotification:]):
(-[MockWebNotificationProvider webView:didCloseNotifications:]):
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:decidePolicyForNotificationRequestFromOrigin:listener:]):

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

8 years ago[EFL] Add tables/mozilla_expected_failures/ expectations back
commit-queue@webkit.org [Thu, 30 Aug 2012 22:13:07 +0000 (22:13 +0000)]
[EFL] Add tables/mozilla_expected_failures/ expectations back
https://bugs.webkit.org/show_bug.cgi?id=95483

Unreviewed gardening.

It was removed by mistake on r127152. But now I'm moving the tests
to TestExpectations since we want to get rid of Skipped.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-30

* platform/efl/TestExpectations:

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

8 years agoUnreviewed gardening. Update flexitem-stretch-image.html expectations.
tony@chromium.org [Thu, 30 Aug 2012 22:01:55 +0000 (22:01 +0000)]
Unreviewed gardening. Update flexitem-stretch-image.html expectations.

* platform/chromium/TestExpectations: Mark the test as flaky (passes on Linux and sporadically on Win).
* platform/efl/TestExpectations: Remove since the test is passing.

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

8 years ago[EFL][WK2] Add WebMemorySampler feature.
commit-queue@webkit.org [Thu, 30 Aug 2012 21:56:45 +0000 (21:56 +0000)]
[EFL][WK2] Add WebMemorySampler feature.
https://bugs.webkit.org/show_bug.cgi?id=91214

Patch by JungJik Lee <jungjik.lee@samsung.com> on 2012-08-30
Reviewed by Kenneth Rohde Christiansen.

.:

Set WebMemorySampler feature on in EFL port.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

WebMemorySampler collects Javascript stack and JIT memory usage in globalMemoryStatistics.

* PlatformEfl.cmake:

Source/WebKit2:

Add WebMemorySampler feature to EFL port. WebMemorySampler records memory usage of
WebProcess and UI Process and also it records application memory status in real time.
Included items on the result are JIT, JS heap, fastmalloc bytes and
application memory info from /proc/process_id/statm.

* PlatformEfl.cmake:
* Shared/linux/WebMemorySamplerLinux.cpp: Added.
(WebKit):
(ApplicationMemoryStats):
(WebKit::nextToken):
(WebKit::appendKeyValuePair):
(WebKit::sampleMemoryAllocatedForApplication):
(WebKit::WebMemorySampler::processName):
(WebKit::WebMemorySampler::sampleWebKit):
(WebKit::WebMemorySampler::sendMemoryPressureEvent):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):

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

8 years agoChromium win build fix - fix typo in gypi
jamesr@google.com [Thu, 30 Aug 2012 21:41:22 +0000 (21:41 +0000)]
Chromium win build fix - fix typo in gypi

* Platform.gypi:

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

8 years agoobjc_msgSend and IMP should be cast appropriately before using
psolanki@apple.com [Thu, 30 Aug 2012 21:40:39 +0000 (21:40 +0000)]
objc_msgSend and IMP should be cast appropriately before using
https://bugs.webkit.org/show_bug.cgi?id=95242

Reviewed by Benjamin Poulain.

Source/WebCore:

Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
to a function pointer with right types when calling objc_msgSend and an
IMP method directly.

No new tests because no functional changes.

* page/mac/EventHandlerMac.mm:
(WebCore::selfRetainingNSScrollViewScrollWheel):
* platform/mac/WebCoreObjCExtras.mm:
(deallocCallback):

Source/WebKit/mac:

Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
to a function pointer with right types when calling objc_msgSend and an
IMP method directly.

* WebCoreSupport/WebCachedFramePlatformData.h:
(WebCachedFramePlatformData::clear):
* WebCoreSupport/WebDeviceOrientationClient.mm:
(WebDeviceOrientationClient::getProvider):
* WebView/WebDelegateImplementationCaching.mm:
(CallDelegate):
(CallDelegateReturningBoolean):
(CallResourceLoadDelegateReturningBoolean):
(CallFormDelegate):
(CallFormDelegateReturningBoolean):
* WebView/WebHTMLView.mm:
(setCursor):
(setNeedsDisplayInRect):

Source/WebKit2:

Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
to a function pointer with right types when calling objc_msgSend and an
IMP method directly.

* UIProcess/API/mac/PDFViewController.mm:
(WebKit::PDFViewScrollView_scrollWheel):

Source/WTF:

Add new templates wtfObjcMsgSend and wtfCallIMP that do the appropriate
casts to correctly typed function pointers before calling objc_msgSend
and IMP methods directly.

* wtf/Functional.h:
(WTF::R): Use wtfObjcMsgSend.
* wtf/ObjcRuntimeExtras.h: Added.
(wtfObjcMsgSend):
(wtfCallIMP):

Tools:

Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
to a function pointer with right types when calling objc_msgSend and an
IMP method directly.

* DumpRenderTree/mac/DumpRenderTree.mm:
(drt_NSFontManager_availableFontFamilies):
* WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
(WTR::wtr_NSFontManager_availableFontFamilies):

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

8 years agoCSS 2.1 failure: margin-collapse-clear-012 fails
jberlin@webkit.org [Thu, 30 Aug 2012 21:38:59 +0000 (21:38 +0000)]
CSS 2.1 failure: margin-collapse-clear-012 fails
https://bugs.webkit.org/show_bug.cgi?id=80394

Mark fast/block/float/024.hml as an expected text failure on Mac, not both an image and text
failure, since the bots are only seeing it as a text failure.

* platform/mac/TestExpectations:

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

8 years agoReplace JSC::UString by WTF::String
benjamin@webkit.org [Thu, 30 Aug 2012 21:23:51 +0000 (21:23 +0000)]
Replace JSC::UString by WTF::String
https://bugs.webkit.org/show_bug.cgi?id=95271

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-30
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Having JSC::UString and WTF::String increase the complexity of working on WebKit, and
add useless conversions in the bindings. It also cause some code bloat.

The performance advantages of UString have been ported over in previous patches. This patch
is the last step: getting rid of UString.

In addition to the simplified code, this also reduce the binary size by 15kb on x86_64.

* API/OpaqueJSString.cpp:
(OpaqueJSString::ustring):
* runtime/Identifier.h:
(JSC::Identifier::ustring):
To avoid changing everything at once, the function named ustring() were kept as is. They
will be renamed in a follow up patch.

* runtime/JSString.h:
(JSC::JSString::string):
(JSC::JSValue::toWTFString):
(JSC::inlineJSValueNotStringtoString):
(JSC::JSValue::toWTFStringInline):
Since JSValue::toString() already exist (and return the JSString), the direct accessor is renamed
to ::toWTFString(). We may change ::string() to ::jsString() and ::toWTFString() to ::toString()
in the future.

* runtime/StringPrototype.cpp:
(JSC::substituteBackreferencesSlow): Replace the use of UString::getCharacters<>() by String::getCharactersWithUpconvert<>().

Source/WebCore:

Update the code to use String instead of UString.

On x86_64, this reduces the binary size by 22kb.

Since it is no longer possible to differenciate JSC::jsString() and WebCore::jsString() by the input
types, WebCore::jsString() is renated to WebCore::jsStringWithCache().

Since the cache is using a PtrHash, JSC::jsString() is used in place of the old WebCore::jsString() when
the string is generated locally. This is because the cache can never match in those cases.

Source/WebKit/blackberry:

Replace UString by String.

* WebCoreSupport/ClientExtension.cpp:
* WebCoreSupport/PagePopupBlackBerry.cpp:
(WebCore::PagePopupBlackBerry::installDomFunction):

Source/WebKit/efl:

Replace UString by String.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::sendWebIntentResponse):
* ewk/ewk_frame.cpp:
(ewk_frame_script_execute):

Source/WebKit/gtk:

Replace UString by String.

* gdom/ConvertToGCharPrivate.h:
(copyAsGchar):

Source/WebKit/mac:

Get rid of UString, replace it by String, and simplify the code when possible.

On x86_64, this reduces the binary size by 7kb.

* Plugins/Hosted/NetscapePluginHostProxy.mm:
(identifierFromIdentifierRep):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyRuntimeMethod::create):
(WebKit::ProxyRuntimeMethod::finishCreation):
(WebKit::ProxyInstance::getPropertyNames):
(WebKit::ProxyInstance::methodsNamed):
(WebKit::ProxyInstance::fieldNamed):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame functionName]):
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebScriptDebugger.h:
(WTF):
(JSC):
(WebScriptDebugger):
* WebView/WebScriptDebugger.mm:
(toNSURL):
(WebScriptDebugger::sourceParsed):
* WebView/WebView.mm:
(aeDescFromJSValue):

Source/WebKit/qt:

Replace UString by String.

* Api/qwebelement.cpp:
(QWebElement::evaluateJavaScript):

Source/WebKit/win:

Replace UString by String.

* WebFrame.cpp:
(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):
* WebView.cpp:
(WebView::stringByEvaluatingJavaScriptFromString):

Source/WebKit/wx:

Update the #includes to use the correct types.

* WebFrame.cpp:
* WebView.cpp:

Source/WebKit2:

Update to code to switch from UString to String.

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::JSNPMethod::finishCreation):
* WebProcess/Plugins/Netscape/JSNPMethod.h:
(WebKit::JSNPMethod::create):
(JSNPMethod):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::npIdentifierFromIdentifier):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):

Source/WTF:

* wtf/Platform.h: Useless edit to force a full build. This is needed for some bots for some reason.
* wtf/text/WTFString.h: Export a symbol that was exported on UString and needed in WebCore.

Add String::getCharactersWithUpconvert<>(), which is similar to String::getCharacters<>() but with the same
behaviors as UString::getCharacters<>().

String::getCharactersWithUpconvert<>() is useful when manipulating multiple strings, it allow writting code
using 16bits characters if any of the input String is not 8bit.

Tools:

Get rid of UString.

* DumpRenderTree/efl/WorkQueueItemEfl.cpp:
* gdb/webkit.py:
(WTFStringPrinter.to_string):
(JSCIdentifierPrinter.to_string):
(JSCJSStringPrinter.to_string):
(add_pretty_printers):

Websites/webkit.org:

Update the coding style to avoid mentioning a class that no longer exist.

* coding/coding-style.html:

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

8 years agoTools: nrwt should have TestExpectations everywhere we have Skipped files for apple...
dpranke@chromium.org [Thu, 30 Aug 2012 21:17:20 +0000 (21:17 +0000)]
Tools: nrwt should have TestExpectations everywhere we have Skipped files for apple ports
https://bugs.webkit.org/show_bug.cgi?id=95495

Reviewed by Ojan Vafai.

This is a follow-on to bug 95370 that adds in support for
platform/wk2/TestExpectations and
platform/{mac,win}-$version/TestExpectations.

* Scripts/webkitpy/layout_tests/port/apple.py:
(ApplePort.expectations_files):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port._skipped_file_search_paths):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(MacTest.test_expectations_files):
* Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
(MockDRTPortTest.make_port):
* Scripts/webkitpy/layout_tests/port/win_unittest.py:
(WinPortTest.test_expectations_files):

LayoutTests: Remove uses of ClassInfo in StrictEq and CompareEq in the DFG
https://bugs.webkit.org/show_bug.cgi?id=93401

Patch by Mark Hahnenberg <mhahnenberg@apple.com> on 2012-08-24
Reviewed by Filip Pizlo.

New test to make sure the DFG watchpoint works correctly for these cases.

* fast/js/document-all-triggers-masquerades-watchpoint-expected.txt: Added.
* fast/js/document-all-triggers-masquerades-watchpoint.html: Added.
* fast/js/script-tests/document-all-triggers-masquerades-watchpoint.js: Added.
(f):

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

8 years agoRemove uses of ClassInfo in StrictEq and CompareEq in the DFG
mhahnenberg@apple.com [Thu, 30 Aug 2012 21:11:21 +0000 (21:11 +0000)]
Remove uses of ClassInfo in StrictEq and CompareEq in the DFG
https://bugs.webkit.org/show_bug.cgi?id=93401

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Another incremental step in removing the dependence on ClassInfo pointers in object headers.

* bytecode/SpeculatedType.h:
(JSC::isCellOrOtherSpeculation):
(JSC):
* dfg/DFGAbstractState.cpp: Updated the CFA to reflect the changes to the backend.
(JSC::DFG::AbstractState::execute):
* dfg/DFGNode.h:
(Node):
(JSC::DFG::Node::shouldSpeculateString): Added this new function since it was conspicuously absent.
(JSC::DFG::Node::shouldSpeculateNonStringCellOrOther): Also add this function for use in the CFA.
* dfg/DFGSpeculativeJIT.cpp: Refactored how we handle CompareEq and CompareStrictEq in the DFG. We now just
check for Strings by comparing the object's Structure to the global Structure for strings. We only
check for MasqueradesAsUndefined if the watchpoint has fired. These changes allow us to remove our
uses of the ClassInfo pointer for compiling these nodes.
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp: Same changes for 32 bit as for 64 bit.
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):

LayoutTests:

New test to make sure the DFG watchpoint works correctly for these cases.

* fast/js/document-all-triggers-masquerades-watchpoint-expected.txt: Added.
* fast/js/document-all-triggers-masquerades-watchpoint.html: Added.
* fast/js/script-tests/document-all-triggers-masquerades-watchpoint.js: Added.
(f):

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

8 years agoUnreviewed rebaseline after r127163.
pdr@google.com [Thu, 30 Aug 2012 21:06:22 +0000 (21:06 +0000)]
Unreviewed rebaseline after r127163.

These tests need an image rebaseline for win to match the linux results.

* platform/chromium-win-xp/fast/block/margin-collapse: Removed.
* platform/chromium-win/fast/block/float/024-expected.png:
* platform/chromium-win/fast/block/margin-collapse/empty-clear-blocks-expected.png:

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

8 years agoAdd TestExpectations stubs for apple wk2 ports
dpranke@chromium.org [Thu, 30 Aug 2012 20:56:01 +0000 (20:56 +0000)]
Add TestExpectations stubs for apple wk2 ports

Unreviewed, build fix.

This adds empty placeholder files so new-run-webkit-tests
doesn't get upset if they're missing.

* platform/mac-wk2/TestExpectations: Added.
* platform/win-wk2/TestExpectations: Added.

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

8 years agoVector::shrinkToFit should use realloc when suitable.
yoli@rim.com [Thu, 30 Aug 2012 20:52:09 +0000 (20:52 +0000)]
Vector::shrinkToFit should use realloc when suitable.
https://bugs.webkit.org/show_bug.cgi?id=94810

Reviewed by Benjamin Poulain.

Only tested on BlackBerry. So it is wrapped with PLATFORM(BLACKBERRY) in the mean time.
Use realloc to shrink buffer when inline buffer isn't involved and and canMoveWithMemcpy is true.

When running the test code attached to the bug, it gives 30-45% performance boost for the large blocks
(Every test cycle includes an extra pair of malloc/free, so the boost on shrinkToFit() is even bigger)
Performance impact on small blocks is not noticeable. (Tested on BlackBerry)

* wtf/Vector.h:
(WTF::VectorBufferBase::shouldReallocateBuffer):
(VectorBufferBase):
(WTF::VectorBufferBase::reallocateBuffer):
(VectorBuffer):
(WTF::VectorBuffer::shouldReallocateBuffer):
(WTF::VectorBuffer::reallocateBuffer):
(WTF::VectorBuffer::inlineBuffer):
(WTF::::shrinkCapacity):

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

8 years ago[BlackBerry] Implement IncrementalSweeper for PLATFORM(BLACKBERRY)
yoli@rim.com [Thu, 30 Aug 2012 20:50:40 +0000 (20:50 +0000)]
[BlackBerry] Implement IncrementalSweeper for PLATFORM(BLACKBERRY)
https://bugs.webkit.org/show_bug.cgi?id=95469

Reviewed by Rob Buis.

RIM PR# 200595.
Share most code with USE(CF) and implement timer-related methods
for PLATFORM(BLACKBERRY).

* heap/IncrementalSweeper.cpp:
(JSC):
(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::create):
(JSC::IncrementalSweeper::scheduleTimer):
(JSC::IncrementalSweeper::cancelTimer):
(JSC::IncrementalSweeper::doSweep):
* heap/IncrementalSweeper.h:
(IncrementalSweeper):

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

8 years agoflexitem-stretch-image.html is flaky
jberlin@webkit.org [Thu, 30 Aug 2012 20:40:35 +0000 (20:40 +0000)]
flexitem-stretch-image.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=95366

Remove the failing test expectations in platform/mac, since this is showing up as passing on
all the mac bots.

* platform/mac/TestExpectations:

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

8 years ago[BlackBerry] ASSERT failure in JSC::MarkedAllocator::allocateSlowCase
zhajiang@rim.com [Thu, 30 Aug 2012 20:34:48 +0000 (20:34 +0000)]
[BlackBerry] ASSERT failure in JSC::MarkedAllocator::allocateSlowCase
https://bugs.webkit.org/show_bug.cgi?id=95492

Reviewed by Yong Li.
Patch by Jacky Jiang  <zhajiang@rim.com>

PR: 200724
Hold the JSLock for the current thread before we call toRef to avoid
the ASSERT failure.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::executeJavaScript):

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

8 years agoUnreviewed update of test expectations.
pdr@google.com [Thu, 30 Aug 2012 20:30:49 +0000 (20:30 +0000)]
Unreviewed update of test expectations.

These tests just needed platform-specific results.

* platform/chromium-mac-snowleopard/fast/dom/shadow/shadowdom-for-textarea-complex-shadow-expected.png: Added.
* platform/chromium-mac/fast/dom/shadow: Added.
* platform/chromium-mac/fast/dom/shadow/shadowdom-for-textarea-complex-shadow-expected.png: Added.

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

8 years agoexecutive.run_in_parallel() hangs if given nothing to do
dpranke@chromium.org [Thu, 30 Aug 2012 20:24:45 +0000 (20:24 +0000)]
executive.run_in_parallel() hangs if given nothing to do
https://bugs.webkit.org/show_bug.cgi?id=95387

Reviewed by Ojan Vafai.

Check to make sure that Executive.run_in_parallel() requires
a non-empty list of commands to execute; passing an empty list
seems surely like a programming error.

* Scripts/webkitpy/common/system/executive.py:
(Executive.run_in_parallel):
* Scripts/webkitpy/common/system/executive_unittest.py:
(ExecutiveTest.test_run_in_parallel_assert_nonempty):

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

8 years agodecide what (and how) we should set the tolerance for ref test pixel compares and...
dpranke@chromium.org [Thu, 30 Aug 2012 20:22:29 +0000 (20:22 +0000)]
decide what (and how) we should set the tolerance for ref test pixel compares and test for that
https://bugs.webkit.org/show_bug.cgi?id=94746

Reviewed by Ojan Vafai.

Add an assertion to diff_image() to check that we are passing
tolerance=0 explicitly when diffing ref test results.

* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.diff_image):

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

8 years agoFix broken classic intrpreter build.
commit-queue@webkit.org [Thu, 30 Aug 2012 20:17:51 +0000 (20:17 +0000)]
Fix broken classic intrpreter build.
https://bugs.webkit.org/show_bug.cgi?id=95484.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-30
Reviewed by Filip Pizlo.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):

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

8 years ago[CMake] Suppress ANGLE compilation warnings
rwlbuis@webkit.org [Thu, 30 Aug 2012 20:14:58 +0000 (20:14 +0000)]
[CMake] Suppress ANGLE compilation warnings
https://bugs.webkit.org/show_bug.cgi?id=95377

Reviewed by Antonio Gomes.

.:

Change WEBKIT_SET_EXTRA_COMPILER_FLAGS so it has an option to suppress C++ warnings.

* Source/cmake/WebKitHelpers.cmake:

Source/WebCore:

Compile ANGLE sources in a static library, and make sure the compile flags suppress warnings.

* CMakeLists.txt:

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

8 years agoUnreviewed update of TestExpectations.
pdr@google.com [Thu, 30 Aug 2012 20:10:51 +0000 (20:10 +0000)]
Unreviewed update of TestExpectations.

These tests are awaiting a rebaseline after r127168 but have the wrong modifiers on them. They
are failing for Image but have Image+Text. Updating to fix that.

* platform/chromium/TestExpectations:

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

8 years ago[Chromium] Layout Test media/track/track-cue-rendering-snap-to-lines-not-set.html...
victor@rosedu.org [Thu, 30 Aug 2012 20:06:22 +0000 (20:06 +0000)]
[Chromium] Layout Test media/track/track-cue-rendering-snap-to-lines-not-set.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=89167

Reviewed by Eric Carlson.

Source/WebCore:

Fix for rendering tracks when snap-to-lines not set.

No new tests. Removed from TestExpectations existing test.

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::calculateDisplayParameters): Updated the place
where m_computedLinePosition is determined.

LayoutTests:

Removed possible flaky test from TestExceptations.

* platform/chromium/TestExpectations:

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

8 years ago[chromium] Make webkit_compositor specific unit test compilation conditional on gyp var
jamesr@google.com [Thu, 30 Aug 2012 20:02:02 +0000 (20:02 +0000)]
[chromium] Make webkit_compositor specific unit test compilation conditional on gyp var
https://bugs.webkit.org/show_bug.cgi?id=95401

Reviewed by Dirk Pranke.

If use_libcc_for_compositor is set, these tests are being compiled and run elsewhere.

* WebKit.gyp:
* WebKit.gypi:
* WebKitUnitTests.gyp:

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

8 years agoNRWT should look in mac-wk2 for a TestExpecations file
dpranke@chromium.org [Thu, 30 Aug 2012 20:01:23 +0000 (20:01 +0000)]
NRWT should look in mac-wk2 for a TestExpecations file
https://bugs.webkit.org/show_bug.cgi?id=95370

Reviewed by Ojan Vafai.

Adds support for mac-wk2 and win-wk2 to expectations_files()
for the apple mac and apple win ports.

* Scripts/webkitpy/layout_tests/port/apple.py:
(ApplePort.expectations_files):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(MacTest.test_expectations_files):
* Scripts/webkitpy/layout_tests/port/win_unittest.py:
(WinTest.test_expectations_files):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(PortTestCase.test_expectations_files):

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

8 years ago[CSS Shaders] Update css3/filters/custom/effect-custom-transform-parameters.html...
achicu@adobe.com [Thu, 30 Aug 2012 19:58:08 +0000 (19:58 +0000)]
[CSS Shaders] Update css3/filters/custom/effect-custom-transform-parameters.html to remove anti-aliasing issues
https://bugs.webkit.org/show_bug.cgi?id=95407

Reviewed by Dean Jackson.

The initial test had a white border to prevent anti-aliasing effects, but that doesn't seem to
help on some platforms. Removed the border in this patch.

* css3/filters/custom/effect-custom-transform-parameters-expected.html:
* css3/filters/custom/effect-custom-transform-parameters.html:
* platform/mac-lion/TestExpectations: Un-skipping the test.

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

8 years ago[chromium] Add CompositorSupport interface for constructing compositor classes
jamesr@google.com [Thu, 30 Aug 2012 19:52:42 +0000 (19:52 +0000)]
[chromium] Add CompositorSupport interface for constructing compositor classes
https://bugs.webkit.org/show_bug.cgi?id=95040

Reviewed by Darin Fisher.

Source/Platform:

Adds a WebCompositorSupport interface as a tear-off of PlatformSupport so the embedder can handle provide
implementations of compositor interfaces.

Adds a new WebPassOwnPtr<> type for use when the caller of an API must take ownership of the provided parameter.

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(WebKit::Platform::compositorSupport):
(Platform):
* chromium/public/WebCompositorSupport.h: Added.
(WebKit):
(WebCompositorSupport):
(WebKit::WebCompositorSupport::~WebCompositorSupport):

Source/WebCore:

Uses WebCompositorSupport interfaces where appropriate to construct compositor types.

* platform/graphics/chromium/AnimationTranslationUtil.cpp:
(WebCore::createWebAnimation):
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsTo):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):

Source/WebKit/chromium:

* src/LinkHighlight.cpp:
(WebKit::LinkHighlight::LinkHighlight):
(WebKit::LinkHighlight::startHighlightAnimation):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
* src/WebMediaPlayerClientImpl.h:
(WebKit):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setBackingTextureId):
(WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
* src/WebPluginContainerImpl.h:
(WebKit):

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

8 years ago[Mac] Add testRunner.dumpWebNotificationCallbacks() to DRT
jonlee@apple.com [Thu, 30 Aug 2012 19:46:13 +0000 (19:46 +0000)]
[Mac] Add testRunner.dumpWebNotificationCallbacks() to DRT
https://bugs.webkit.org/show_bug.cgi?id=95232
<rdar://problem/12190776>

Reviewed by Alexey Proskuryakov.

Source/WebKit/mac:

* WebKit.exp: Export WebNotification class.

Tools:

Add additional output when running test, if testRunner.dumpWebNotificationCallbacks() is called.

* DumpRenderTree/TestRunner.cpp:
(TestRunner::TestRunner):
(dumpWebNotificationCallbacksCallback):
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
(TestRunner::dumpWebNotificationCallbacks):
(TestRunner::setDumpWebNotificationCallbacks):
* DumpRenderTree/mac/MockWebNotificationProvider.mm:
(-[WebNotification _drt_descriptionSuitableForTestResult]):
(-[MockWebNotificationProvider webView:didShowNotification:]):
(-[MockWebNotificationProvider webView:didClickNotification:]):
(-[MockWebNotificationProvider webView:didCloseNotifications:]):
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:decidePolicyForNotificationRequestFromOrigin:listener:]):

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

8 years ago[CG] ImageCG.cpp contains a mix of Image and BitmapImage functions
mitz@apple.com [Thu, 30 Aug 2012 19:46:06 +0000 (19:46 +0000)]
[CG] ImageCG.cpp contains a mix of Image and BitmapImage functions
https://bugs.webkit.org/show_bug.cgi?id=95470

Reviewed by Darin Adler.

* WebCore.gypi: Added BitmapImageCG.cpp.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* platform/graphics/cg/BitmapImageCG.cpp: Copied from Source/WebCore/platform/graphics/cg/ImageCG.cpp
then deleted Image function implementations.
* platform/graphics/cg/ImageCG.cpp: Deleted BitmapImage and FrameData function implementations.

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

8 years agoUnreviewed rebaseline after r127101.
pdr@google.com [Thu, 30 Aug 2012 19:05:34 +0000 (19:05 +0000)]
Unreviewed rebaseline after r127101.

The Mac 10.6 results are slightly different--decoding about 10% less of the image.
After some discussion with Adam Barth we determined to rebaseline these.

* platform/chromium-mac-snowleopard/http/tests/images: Added.
* platform/chromium-mac-snowleopard/http/tests/images/webp-partial-load-expected.png: Added.

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

8 years ago[Chromium] The CC button is not painted
victor@rosedu.org [Thu, 30 Aug 2012 18:53:02 +0000 (18:53 +0000)]
[Chromium] The CC button is not painted
https://bugs.webkit.org/show_bug.cgi?id=95395

Reviewed by Eric Carlson.

Source/WebCore:

The actual Chromium resource for the CC button was not used by the Chromium theme.

Existing track rendering tests will be rebaselined and contain the new CC button.

* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaClosedCaptionsButton): Added for proper painting of the resource.
(WebCore):
(WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
Changed to call paintMediaClosedCaptionsButton when the control is the CC button.
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::paintMediaToggleClosedCaptionsButton):
Implemented proper behaviour.
(WebCore):
* rendering/RenderThemeChromiumSkia.h:
(RenderThemeChromiumSkia):

LayoutTests:

No new tests, the existing ones will need to be rebaselined and include the CC button.

* platform/chromium/TestExpectations: Marked tests failing accordingly for rebaselining.

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

8 years agoBuild warning : -Wsign-compare on DFGByteCodeParser.cpp.
commit-queue@webkit.org [Thu, 30 Aug 2012 18:45:03 +0000 (18:45 +0000)]
Build warning : -Wsign-compare on DFGByteCodeParser.cpp.
https://bugs.webkit.org/show_bug.cgi?id=95418

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-08-30
Reviewed by Filip Pizlo.

There is a build warning '-Wsign-compare' on
findArgumentPositionForLocal() in DFGByteCodeParser.cpp.

For removing this warning, casting statement is added explicitly.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):
(JSC::DFG::ByteCodeParser::findArgumentPosition):

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

8 years agoAssertion failure in MessagePort::contextDestroyed in
jberlin@webkit.org [Thu, 30 Aug 2012 18:41:36 +0000 (18:41 +0000)]
Assertion failure in MessagePort::contextDestroyed in
http/tests/security/MessagePort/event-listener-context.html, usually attributed to later tests.
https://bugs.webkit.org/show_bug.cgi?id=94458

fast/events/message-port-constructor-for-deleted-document.html also asserts in
MessagePort::contextDestroyed, and it is usually attributed to later tests as well. Skip it.

* platform/mac/TestExpectations:

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

8 years agoMediaStream API: Introduce MediaConstraints
tommyw@google.com [Thu, 30 Aug 2012 18:30:42 +0000 (18:30 +0000)]
MediaStream API: Introduce MediaConstraints
https://bugs.webkit.org/show_bug.cgi?id=95198

Reviewed by Adam Barth.

Source/Platform:

Adds WebMediaConstraints.

* Platform.gypi:
* chromium/public/WebMediaConstraints.h: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
(WebCore):
(WebKit):
(WebMediaConstraints):
(WebKit::WebMediaConstraints::WebMediaConstraints):
(WebKit::WebMediaConstraints::~WebMediaConstraints):
(WebKit::WebMediaConstraints::operator=):
* chromium/public/WebRTCPeerConnectionHandler.h:
(WebKit):
(WebRTCPeerConnectionHandler):

Source/WebCore:

This introduces MediaConstraints together with relevant infrastructure, a chromium mock and LayoutTests.

Patch covered by expanded existing tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/MediaConstraintsImpl.cpp: Added.
(WebCore):
(WebCore::MediaConstraintsImpl::create):
(WebCore::MediaConstraintsImpl::initialize):
(WebCore::MediaConstraintsImpl::~MediaConstraintsImpl):
(WebCore::MediaConstraintsImpl::getMandatoryConstraintNames):
(WebCore::MediaConstraintsImpl::getOptionalConstraintNames):
(WebCore::MediaConstraintsImpl::getMandatoryConstraintValue):
(WebCore::MediaConstraintsImpl::getOptionalConstraintValue):
* Modules/mediastream/MediaConstraintsImpl.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
(WebCore):
(MediaConstraintsImpl):
(WebCore::MediaConstraintsImpl::MediaConstraintsImpl):
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::create):
(WebCore::RTCPeerConnection::RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.h:
(WebCore):
(RTCPeerConnection):
* WebCore.gypi:
* bindings/js/Dictionary.cpp:
(WebCore::Dictionary::getOwnPropertyNames):
(WebCore):
* bindings/js/Dictionary.h:
(Dictionary):
* bindings/v8/Dictionary.cpp:
(WebCore::Dictionary::getOwnPropertyNames):
(WebCore):
* bindings/v8/Dictionary.h:
(Dictionary):
* platform/chromium/support/WebMediaConstraints.cpp: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp.
(WebKit):
(WebKit::WebMediaConstraints::WebMediaConstraints):
(WebKit::WebMediaConstraints::assign):
(WebKit::WebMediaConstraints::reset):
(WebKit::WebMediaConstraints::isNull):
(WebKit::WebMediaConstraints::getMandatoryConstraintNames):
(WebKit::WebMediaConstraints::getOptionalConstraintNames):
(WebKit::WebMediaConstraints::getMandatoryConstraintValue):
(WebKit::WebMediaConstraints::getOptionalConstraintValue):
* platform/mediastream/MediaConstraints.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
(WebCore):
(MediaConstraints):
(WebCore::MediaConstraints::~MediaConstraints):
(WebCore::MediaConstraints::MediaConstraints):
* platform/mediastream/RTCPeerConnectionHandler.cpp:
(RTCPeerConnectionHandlerDummy):
(WebCore::RTCPeerConnectionHandlerDummy::initialize):
* platform/mediastream/RTCPeerConnectionHandler.h:
(WebCore):
(RTCPeerConnectionHandler):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::initialize):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(RTCPeerConnectionHandlerChromium):

Tools:

Extending the MockWebRTCPeerConnectionHandler with MediaConstraints functionality.

* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
(isSupportedConstraint):
(isValidConstraint):
(MockWebRTCPeerConnectionHandler::initialize):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:
(MockWebRTCPeerConnectionHandler):

LayoutTests:

* fast/mediastream/RTCPeerConnection-expected.txt:
* fast/mediastream/RTCPeerConnection.html:

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

8 years agoFixing two inspector tests that fail on Mac WK1.
pfeldman@chromium.org [Thu, 30 Aug 2012 18:27:13 +0000 (18:27 +0000)]
Fixing two inspector tests that fail on Mac WK1.

* inspector/timeline/timeline-animation-frame-expected.txt:
* inspector/timeline/timeline-paint-expected.txt:

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

8 years agoCSS 2.1 failure: margin-collapse-clear-012 fails
robert@webkit.org [Thu, 30 Aug 2012 18:15:13 +0000 (18:15 +0000)]
CSS 2.1 failure: margin-collapse-clear-012 fails
https://bugs.webkit.org/show_bug.cgi?id=80394

Reviewed by David Hyatt.

Source/WebCore:

CSS2.1 states: "If the top and bottom margins of an element with clearance are adjoining, its margins collapse with
the adjoining margins of following siblings but that resulting margin does not collapse with the bottom margin of the parent block."
This is a change in the spec since http://trac.webkit.org/changeset/47678, so prevent the margins of collapsed blocks from collapsing
with parent margins.

Also, in the case of self-collapsing blocks adjust the clearance so that it is equal to [height of float to clear] - margin-top of the
self-collapsing block. (See the 'Explanation' section near the end of http://www.w3.org/TR/CSS21/visuren.html#clearance). This allows
the correct value of any margins collapsed with subsequent siblings to contribute to the height of the parent. For example if a block
with margin-top of 40px has to clear a float of 100px, the clearance is now 60px so set that as the height of the parent. If a subsequent
sibling has a collapsed margin value of 140px (e.g. from a margin-top of 80px and a margin-bottom of 140px) then the height of the parent
becomes 200px by adding on that collapsed margin.

Tests: css2.1/20110323/margin-collapse-clear-012.htm
       css2.1/20110323/margin-collapse-clear-013.htm
       css2.1/20110323/margin-collapse-027.htm
       fast/css/margin-collapse-013-reduction.html
       fast/css/margin-collapse-top-margin-clearance.html
       fast/css/margin-collapse-top-margin-clearance-with-sibling.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::handleAfterSideOfBlock): Without this margin-collapse/block-inside-inline/025.html adds in the margin to
  an anonymous block containing a block child. FF does this, Opera does not. The spec is not crystal-clear but Opera's behaviour
  seems correct - it's totally unintuitive to think the margins of an anonymous block and its block-flow child should be considered adjoining.
  Maybe this is a FIXME pending clarification in the spec?
* rendering/RenderBlock.h:
(WebCore::RenderBlock::MarginInfo::setCanCollapseMarginAfterWithChildren):

LayoutTests:

* css2.1/20110323/margin-collapse-027-expected.html: Added.
* css2.1/20110323/margin-collapse-027.htm: Added.
* css2.1/20110323/margin-collapse-clear-012-expected.html: Added.
* css2.1/20110323/margin-collapse-clear-012.htm: Added.
* css2.1/20110323/margin-collapse-clear-013-expected.html: Added.
* css2.1/20110323/margin-collapse-clear-013.htm: Added.
* css2.1/20110323/margin-collapse-clear-014-expected.html: Added.
* css2.1/20110323/margin-collapse-clear-014.htm: Added.
* css2.1/20110323/margin-collapse-clear-015-expected.html: Added.
* css2.1/20110323/margin-collapse-clear-015.htm: Added.
* css2.1/20110323/margin-collapse-clear-016-expected.html: Added.
* css2.1/20110323/margin-collapse-clear-016.htm: Added.
* css2.1/20110323/margin-collapse-clear-017-expected.html: Added.
* css2.1/20110323/margin-collapse-clear-017.htm: Added.
* fast/block/margin-collapse/empty-clear-blocks.html:
  Modified the test to reflect the new expected result. The text in the third paragraph avoids
  the float rather than sitting underneath it. The text in the third last paragraph is 20 px below
  the float rather than immediately beneath it. Both of these are a consequence of the revised treatment
  of clearance when margin collapsing. This is consistent with the spec and FF and Opera.
* fast/css/margin-collapse-013-reduction.html: Added.
   Sourced from https://bugzilla.mozilla.org/show_bug.cgi?id=493380
* fast/css/margin-collapse-top-margin-clearance-with-sibling-expected.html: Added.
* fast/css/margin-collapse-top-margin-clearance-with-sibling.html: Added.
    Ensure we only avoid collapsing the margins of a self-collapsing block with the parent if we don't
    have a subsequent sibling with height.
* fast/css/margin-collapse-top-margin-clearance.html: Added.

* platform/chromium-linux/fast/block/float/024-expected.png:
* platform/chromium-linux/fast/block/margin-collapse/empty-clear-blocks-expected.png:
  These two progress to the same rendering used by FF and Opera. It is a consequence of calculating
  clearance as "clearance = [height of float] - margin-top" when margin-top is a negative value.

* platform/chromium-win/fast/block/float/024-expected.txt:
* platform/chromium-win/fast/block/margin-collapse/025-expected.txt:
* platform/chromium-win/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
    The change in result for these three is a consequence of self-collapsing blocks with clearance moving their top up past the float by the value
    of their top margin. Unlike the block-inside-inline case the 'clear' has no intrinsic height so the uncollapsed margin value has
    no effect on its height.

* platform/chromium-win/fast/block/margin-collapse/empty-clear-blocks-expected.txt: See the png result above for comment.

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

8 years agoAdd support for blendmode to webkit rendering engine
commit-queue@webkit.org [Thu, 30 Aug 2012 18:02:52 +0000 (18:02 +0000)]
Add support for blendmode to webkit rendering engine
https://bugs.webkit.org/show_bug.cgi?id=95258

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-08-30
Reviewed by Simon Fraser.

Source/WebCore:

This code adds support for blendmodes to the WebCore engine. The CSS parser already
supported this keyword but didn't pass it along. Support for rendering blending will
be provided in subsequent patches

Test: css3/compositing/should-have-compositing-layer.html

* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
(WebCore::RenderBoxModelObject::requiresLayer):
* rendering/RenderInline.h:
(WebCore::RenderInline::requiresLayer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore):
(WebCore::RenderLayer::updateBlendMode):
(WebCore::RenderLayer::ensureBacking):
(WebCore::RenderLayer::shouldBeNormalFlowOnly):
(WebCore::RenderLayer::styleChanged):
* rendering/RenderLayer.h:
(RenderLayer):
(WebCore::RenderLayer::hasBlendMode):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::requiresOwnBackingStore):
(WebCore::RenderLayerCompositor::reasonForCompositing):
(WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
(WebCore::RenderLayerCompositor::requiresCompositingForBlending):
(WebCore):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):
* rendering/RenderObject.h:
(RenderObject):
(WebCore::RenderObject::hasBlendMode):
(WebCore::RenderObject::createsGroup):
* rendering/RenderTableRow.h:
* rendering/style/RenderStyle.h:

LayoutTests:

Enable test to verify that blending modes introduce a new compositing layer

* css3/compositing/resources: Added.
* css3/compositing/resources/reference.png: Added.
* css3/compositing/should-have-compositing-layer-expected.txt: Added.
* css3/compositing/should-have-compositing-layer.html: Added.

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

8 years ago[Mac] Registering web views for notifications is unbalanced
jonlee@apple.com [Thu, 30 Aug 2012 17:59:47 +0000 (17:59 +0000)]
[Mac] Registering web views for notifications is unbalanced
https://bugs.webkit.org/show_bug.cgi?id=95465
<rdar://problem/12206765>

Reviewed by Darin Adler.

Setting the notification provider for a WK1 WebView registers that web view to the
provider. When the WebView is closed, WebCore is essentially responsible for
unregistering the web view. This leads to an imbalance on Lion since notifications are
not supported, and the NotificationController responsible for making the unregistration
call doesn't exist.

Instead, the unregisterWebView method should be called when the web view is closed.

* WebView/WebViewPrivate.h: Remove _notificationControllerDestroyed, since it is
unneeded.

* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::notificationControllerDestroyed):
* WebView/WebView.mm:
(-[WebView _close]): Unregister the web view from the assigned provider here.
(-[WebView _setNotificationProvider:]): Only allow setting the provider once, to avoid
registering the web view to multiple providers.

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

8 years ago[BlackBerry] Remove unneeded force-immediate-repaint from InRegionScroller::setLayerS...
tonikitoo@webkit.org [Thu, 30 Aug 2012 17:47:31 +0000 (17:47 +0000)]
[BlackBerry] Remove unneeded force-immediate-repaint from InRegionScroller::setLayerScrollPosition
https://bugs.webkit.org/show_bug.cgi?id=95476
PR #200704

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>

This code is not needed at this point for neither the fast nor slow in-region
scroll codepaths, and it a huge performance beast as it forces all
containers to get full-repainted per scroll call (in webkit thread).

Patch also take this opportunity to remove an early-return we
have in the {i}frame slow scrolling code path so that we can
adjust the selection handles in this case as well.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):

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

8 years ago[Chromium-Android] Upstream layout test rebaselined expectations
wangxianzhu@chromium.org [Thu, 30 Aug 2012 17:44:54 +0000 (17:44 +0000)]
[Chromium-Android] Upstream layout test rebaselined expectations
https://bugs.webkit.org/show_bug.cgi?id=94885

Reviewed by Adam Barth.

We rebaselined tests that
- expect different behaviors on Android (but normally don't show FAIL)
- have different layout because of precision, font size, etc.
- have different layout because of different shadow DOM of the media player

We don't rebaseline tests that would expect to output FAIL.

* platform/chromium-android/compositing/layer-creation/overflow-scrolling-touch-expected.txt: Added.
* platform/chromium-android/compositing/layer-creation/overflow-scrolling-touch.html: Added.
* platform/chromium-android/fast/block/positioning/047-expected.txt: Added.
* platform/chromium-android/fast/css/font-family-pictograph-expected.txt: Added.
* platform/chromium-android/fast/css/line-height-determined-by-primary-font-expected.txt: Added.
* platform/chromium-android/fast/css/text-transform-select-expected.txt: Added.
* platform/chromium-android/fast/dom/Orientation/create-event-orientationchange-expected.txt: Added.
* platform/chromium-android/fast/dom/Window/window-lookup-precedence-expected.txt: Added.
* platform/chromium-android/fast/events/context-onmousedown-event-expected.txt: Added.
* platform/chromium-android/fast/events/mouseup-from-button2-expected.txt: Added.
* platform/chromium-android/fast/font-boosting/various-tricky-cases-expected.txt: Added.
* platform/chromium-android/fast/font-boosting/various-tricky-cases.html: Added.
* platform/chromium-android/fast/forms/HTMLOptionElement_label05-expected.txt: Added.
* platform/chromium-android/fast/forms/disabled-select-change-index-expected.txt: Added.
* platform/chromium-android/fast/forms/form-element-geometry-expected.txt: Added.
* platform/chromium-android/fast/forms/hidden-listbox-expected.txt: Added.
* platform/chromium-android/fast/forms/implicit-submission-expected.txt: Added.
* platform/chromium-android/fast/forms/label/labelable-elements-expected.txt: Added.
* platform/chromium-android/fast/forms/listbox-bidi-align-expected.txt: Added.
* platform/chromium-android/fast/forms/listbox-scrollbar-incremental-load-expected.txt: Added.
* platform/chromium-android/fast/forms/listbox-width-change-expected.txt: Added.
* platform/chromium-android/fast/forms/option-strip-whitespace-expected.txt: Added.
* platform/chromium-android/fast/forms/select-block-background-expected.txt: Added.
* platform/chromium-android/fast/forms/select-change-listbox-size-expected.txt: Added.
* platform/chromium-android/fast/forms/select-change-popup-to-listbox-expected.txt: Added.
* platform/chromium-android/fast/forms/select-initial-position-expected.txt: Added.
* platform/chromium-android/fast/forms/select-list-box-with-height-expected.txt: Added.
* platform/chromium-android/fast/forms/select-overflow-scroll-expected.txt: Added.
* platform/chromium-android/fast/forms/select-overflow-scroll-inherited-expected.txt: Added.
* platform/chromium-android/fast/hidpi/video-controls-in-hidpi-expected.txt: Added.
* platform/chromium-android/fast/layers/video-layer-expected.txt: Added.
* platform/chromium-android/fast/preloader/script-expected.txt: Added.
* platform/chromium-android/fast/repaint/moving-shadow-on-container-expected.txt: Added.
* platform/chromium-android/fast/repaint/moving-shadow-on-path-expected.txt: Added.
* platform/chromium-android/fast/replaced/replaced-breaking-expected.txt: Added.
* platform/chromium-android/fast/text/capitalize-boundaries-expected.txt: Added.
* platform/chromium-android/fast/text/cg-fallback-bolding-expected.txt: Added.
* platform/chromium-android/fast/text/complex-text-opacity-expected.txt: Added.
* platform/chromium-android/fast/text/drawBidiText-expected.txt: Added.
* platform/chromium-android/fast/text/international/bidi-listbox-atsui-expected.txt: Added.
* platform/chromium-android/fast/text/international/bidi-listbox-expected.txt: Added.
* platform/chromium-android/fast/text/international/hindi-spacing-expected.txt: Added.
* platform/chromium-android/fast/text/international/thai-line-breaks-expected.txt: Added.
* platform/chromium-android/fast/text/updateNewFont-expected.txt: Added.
* platform/chromium-android/http/tests/security/contentSecurityPolicy/media-src-blocked-expected.txt: Added.
* platform/chromium-android/media/W3C/audio/canPlayType/canPlayType_supported_but_no_codecs_parameter_2-expected.txt: Added.
* platform/chromium-android/media/W3C/video/canPlayType/canPlayType_codecs_order_2-expected.txt: Added.
* platform/chromium-android/media/W3C/video/canPlayType/canPlayType_codecs_order_3-expected.txt: Added.
* platform/chromium-android/media/W3C/video/canPlayType/canPlayType_supported_but_no_codecs_parameter_2-expected.txt: Added.
* platform/chromium-android/media/W3C/video/canPlayType/canPlayType_supported_but_no_codecs_parameter_3-expected.txt: Added.
* platform/chromium-android/media/W3C/video/canPlayType/canPlayType_two_implies_one_3-expected.txt: Added.
* platform/chromium-android/media/W3C/video/canPlayType/canPlayType_two_implies_one_4-expected.txt: Added.
* platform/chromium-android/media/audio-controls-rendering-expected.txt: Added.
* platform/chromium-android/media/controls-after-reload-expected.txt: Added.
* platform/chromium-android/media/controls-strict-expected.txt: Added.
* platform/chromium-android/media/controls-styling-expected.txt: Added.
* platform/chromium-android/media/controls-styling-strict-expected.txt: Added.
* platform/chromium-android/media/controls-without-preload-expected.txt: Added.
* platform/chromium-android/media/csp-blocks-video-expected.txt: Added.
* platform/chromium-android/media/encrypted-media/encrypted-media-can-play-type-expected.txt: Added.
* platform/chromium-android/media/media-can-play-mpeg-audio-expected.txt: Added.
* platform/chromium-android/media/media-can-play-mpeg4-video-expected.txt: Added.
* platform/chromium-android/media/media-can-play-ogg-expected.txt: Added.
* platform/chromium-android/media/media-controls-clone-expected.txt: Added.
* platform/chromium-android/media/media-document-audio-repaint-expected.txt: Added.
* platform/chromium-android/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/chromium-android/media/track/track-cue-rendering-vertical-expected.txt: Added.
* platform/chromium-android/media/video-controls-rendering-expected.txt: Added.
* platform/chromium-android/media/video-currentTime-set-expected.txt: Added.
* platform/chromium-android/media/video-display-toggle-expected.txt: Added.
* platform/chromium-android/media/video-empty-source-expected.txt: Added.
* platform/chromium-android/media/video-no-audio-expected.txt: Added.
* platform/chromium-android/media/video-playing-and-pause-expected.txt: Added.
* platform/chromium-android/media/video-source-error-expected.txt: Added.
* platform/chromium-android/media/video-zoom-controls-expected.txt: Added.
* platform/chromium-android/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt: Added.
* platform/chromium-android/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt: Added.
* platform/chromium-android/svg/css/composite-shadow-example-expected.txt: Added.
* platform/chromium-android/svg/css/composite-shadow-with-opacity-expected.txt: Added.
* platform/chromium-android/svg/css/stars-with-shadow-expected.txt: Added.
* platform/chromium-android/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt: Added.
* platform/chromium-android/svg/custom/use-on-symbol-inside-pattern-expected.txt: Added.
* platform/chromium-android/transforms/2d/hindi-rotated-expected.txt: Added.
* platform/chromium/TestExpectations:

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

8 years agoJSNPObject doesn't always protect its data when calling into plugin code
mhahnenberg@apple.com [Thu, 30 Aug 2012 17:41:10 +0000 (17:41 +0000)]
JSNPObject doesn't always protect its data when calling into plugin code
https://bugs.webkit.org/show_bug.cgi?id=95394

Reviewed by Brady Eidson.

We need to use NPRuntimeObjectMap::PluginProtector when calling into plugin code since
there's no telling what the plugin will do, including destroying itself.

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::getOwnPropertySlot):
(WebKit::JSNPObject::getOwnPropertyDescriptor):

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

8 years agoMake RenderBox::computeInlineDirectionMargins const
tony@chromium.org [Thu, 30 Aug 2012 17:32:57 +0000 (17:32 +0000)]
Make RenderBox::computeInlineDirectionMargins const
https://bugs.webkit.org/show_bug.cgi?id=95255

Reviewed by Ojan Vafai.

Source/WebCore:

This is part of making computeLogical{Height,Width} return computed values rather than
mutating the RenderBox directly. This makes a submethod const.

This change is just a refactor, but I've added some tests to cover code that wasn't
previously covered by layout tests.

Tests: fast/block/margins-perpendicular-containing-block.html
       fast/table/margins-flipped-text-direction.html
       fast/table/margins-perpendicular-containing-block.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion): Handle flipped text direction manually.
(WebCore::RenderBox::computeInlineDirectionMargins): Make const with out parameters.
No longer need to call setMargin{Start,End}ForChild.
(WebCore::shouldFlipBeforeAfterMargins): Helper function to figure out how to map a logical
writing mode direction to another logical writing mode direction.
(WebCore::RenderBox::computeLogicalHeight): Use const method. This also makes it more
obvious that when computing the height, we only modify the before/after margins.
* rendering/RenderBox.h:
(RenderBox): Make computeInlineDirectionMargins const with out parameters.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth): Same as RenderBox::comptueLogicalWidthInregion.

LayoutTests:

Add test cases for setting margins with perpendicular blocks or flipped text.

* fast/block/margins-perpendicular-containing-block-expected.txt: Added.
* fast/block/margins-perpendicular-containing-block.html: Added.
* fast/table/margins-flipped-text-direction-expected.txt: Added.
* fast/table/margins-flipped-text-direction.html: Added.
* fast/table/margins-perpendicular-containing-block-expected.txt: Added.
* fast/table/margins-perpendicular-containing-block.html: Added.

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

8 years ago[chromium] Disable CCLayerTreeHostTestScrollMultipleRedraw.runMultiThread
gavinp@chromium.org [Thu, 30 Aug 2012 17:23:16 +0000 (17:23 +0000)]
[chromium] Disable CCLayerTreeHostTestScrollMultipleRedraw.runMultiThread
https://bugs.webkit.org/show_bug.cgi?id=95472

Unreviewed gardening.

When landing r127079, this test was re-enabled, and has not passed since. I'm disabling it, and created bug 95473 to track fixing this issue.

* tests/CCLayerTreeHostTest.cpp:
(WebKitTests::TEST_F):

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

8 years agoRefactor WrapShape classes to BasicShape
krit@webkit.org [Thu, 30 Aug 2012 17:08:00 +0000 (17:08 +0000)]
Refactor WrapShape classes to BasicShape
https://bugs.webkit.org/show_bug.cgi?id=95461

Reviewed by Rob Buis.

This is a follow up patch of bug 95411. While the previous patch
just renamed the files, this patch renames the classes, enumerations
and functions.

Just refactoring of internal names. No new tests.

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):
* css/BasicShapeFunctions.h:
(WebCore):
* css/CSSBasicShapes.cpp:
(WebCore::CSSBasicShapeRectangle::cssText):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeEllipse::cssText):
(WebCore::CSSBasicShapePolygon::cssText):
* css/CSSBasicShapes.h:
(WebCore::CSSBasicShape::~CSSBasicShape):
(WebCore::CSSBasicShape::CSSBasicShape):
(WebCore::CSSBasicShapeRectangle::create):
(WebCore::CSSBasicShapeRectangle::type):
(WebCore::CSSBasicShapeRectangle::CSSBasicShapeRectangle):
(WebCore::CSSBasicShapeCircle::create):
(WebCore::CSSBasicShapeCircle::type):
(WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle):
(WebCore::CSSBasicShapeEllipse::create):
(WebCore::CSSBasicShapeEllipse::type):
(WebCore::CSSBasicShapeEllipse::CSSBasicShapeEllipse):
(WebCore::CSSBasicShapePolygon::create):
(WebCore::CSSBasicShapePolygon::type):
(WebCore::CSSBasicShapePolygon::CSSBasicShapePolygon):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseBasicShapeRectangle):
(WebCore::CSSParser::parseBasicShapeCircle):
(WebCore::CSSParser::parseBasicShapeEllipse):
(WebCore::CSSParser::parseBasicShapePolygon):
(WebCore::CSSParser::parseBasicShape):
* css/CSSParser.h:
(WebCore):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::init):
* css/CSSPrimitiveValue.h:
(WebCore):
(WebCore::CSSPrimitiveValue::getShapeValue):
(CSSPrimitiveValue):
* css/StyleBuilder.cpp:
(WebCore):
(WebCore::ApplyPropertyWrapShape::setValue):
(WebCore::ApplyPropertyWrapShape::applyValue):
(WebCore::ApplyPropertyWrapShape::createHandler):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateWrapShapeInfoAfterStyleChange):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/WrapShapeInfo.cpp:
(WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock):
(WebCore::WrapShapeInfo::computeShapeSize):
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShape::destroy):
* rendering/style/BasicShapes.h:
(WebCore::BasicShape::BasicShape):
(WebCore::BasicShapeRectangle::create):
(WebCore::BasicShapeRectangle::BasicShapeRectangle):
(WebCore::BasicShapeCircle::create):
(WebCore::BasicShapeCircle::BasicShapeCircle):
(WebCore::BasicShapeEllipse::create):
(WebCore::BasicShapeEllipse::BasicShapeEllipse):
(WebCore::BasicShapePolygon::create):
(WebCore::BasicShapePolygon::BasicShapePolygon):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

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

8 years ago[chromium] Clean up some webkit compositor unit tests
commit-queue@webkit.org [Thu, 30 Aug 2012 17:04:35 +0000 (17:04 +0000)]
[chromium] Clean up some webkit compositor unit tests
https://bugs.webkit.org/show_bug.cgi?id=95410

Patch by James Robinson <jamesr@chromium.org> on 2012-08-30
Reviewed by Adrienne Walker.

This adds includes that were implicitly being picked up, removes ones that weren't being used, removes
dead code, adds OVERRIDE on functions that OVERRIDE, and deinlines virtuals that the chromium clang style
plugin is unhappy about.

* tests/CCAnimationTestCommon.cpp:
(WebKitTests::FakeFloatAnimationCurve::duration):
(WebKitTests):
(WebKitTests::FakeFloatAnimationCurve::getValue):
(WebKitTests::FakeTransformTransition::duration):
(WebKitTests::FakeFloatTransition::duration):
(WebKitTests::FakeLayerAnimationControllerClient::id):
(WebKitTests::FakeLayerAnimationControllerClient::setOpacityFromAnimation):
(WebKitTests::FakeLayerAnimationControllerClient::opacity):
(WebKitTests::FakeLayerAnimationControllerClient::setTransformFromAnimation):
(WebKitTests::FakeLayerAnimationControllerClient::transform):
* tests/CCAnimationTestCommon.h:
(FakeFloatAnimationCurve):
(FakeTransformTransition):
(FakeFloatTransition):
(FakeLayerAnimationControllerClient):
* tests/CCTiledLayerTestCommon.cpp:
(WebKitTests::FakeLayerTextureUpdater::sampledTexelFormat):
(WebKitTests):
(WebKitTests::FakeTiledLayerWithScaledBounds::FakeTiledLayerWithScaledBounds):
(WebKitTests::FakeTiledLayerChromium::textureManager):
(WebKitTests::FakeTiledLayerChromium::textureUpdater):
(WebKitTests::FakeTiledLayerWithScaledBounds::contentBounds):
(WebKitTests::FakeTextureUploader::isBusy):
(WebKitTests::FakeTextureUploader::uploadTexture):
* tests/CCTiledLayerTestCommon.h:
(FakeLayerTextureUpdater):
(FakeTiledLayerChromium):
(FakeTiledLayerWithScaledBounds):
(FakeTextureUploader):
* tests/FakeWebCompositorOutputSurface.h:
* tests/TextureCopierTest.cpp:
(MockContext):
(TEST):
* tests/ThrottledTextureUploaderTest.cpp:
(WebKit::TEST):
* tests/WebLayerTreeViewTest.cpp:

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

8 years agoFix a crash in SourceBufferList.remove().
commit-queue@webkit.org [Thu, 30 Aug 2012 16:52:18 +0000 (16:52 +0000)]
Fix a crash in SourceBufferList.remove().
https://bugs.webkit.org/show_bug.cgi?id=94950

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-08-30
Reviewed by Eric Carlson.

Source/WebCore:

Move SourceBuffer::clear() call before the removal of the SourceBuffer from
SourceBufferList::m_list to avoid a use after free if m_list holds the last
reference.

Test: http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html

* Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::remove):

LayoutTests:

Added a layout test to verify that the application doesn't crash if a SourceBufferList is
holding the only references for its SourceBuffer objects when a MediaSource transitions to "closed".

* http/tests/media/media-source/video-media-source-sourcebufferlist-crash-expected.txt: Added.
* http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html: Added.

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

8 years ago[EFL] Remove redundant entries on the Skipped list
commit-queue@webkit.org [Thu, 30 Aug 2012 16:38:19 +0000 (16:38 +0000)]
[EFL] Remove redundant entries on the Skipped list
https://bugs.webkit.org/show_bug.cgi?id=95458

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-30

* platform/efl/Skipped:

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

8 years ago[BlackBerry] Set timer client on platform timer used in HeapTimer
yoli@rim.com [Thu, 30 Aug 2012 16:31:55 +0000 (16:31 +0000)]
[BlackBerry] Set timer client on platform timer used in HeapTimer
https://bugs.webkit.org/show_bug.cgi?id=95464

Reviewed by Rob Buis.

Otherwise the timer won't work.

* heap/HeapTimer.cpp:
(JSC::HeapTimer::HeapTimer):

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

8 years ago[BlackBerry] Modifying how IP domains are handled in Cookies
commit-queue@webkit.org [Thu, 30 Aug 2012 16:12:13 +0000 (16:12 +0000)]
[BlackBerry] Modifying how IP domains are handled in Cookies
https://bugs.webkit.org/show_bug.cgi?id=95381

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-08-30
Reviewed by Rob Buis.
Internally reviewed by Joe Mason.

Current implementation handles IP addresses like normal domains.
This makes invalid cross domain cookies possibe by setting cookie
domains to a suffix of the targeted IP. (ex. hackers on 11.121.61.97
can set cookies to 61.97, so they show up on the targeted website of
10.120.61.97)

New Implementation is to detect IP addresses and treat them without
exploding them with the delimiter ".". That way, IP addresses will
be stored as a whole and other IPs won't have access to it.

PR 130051

Manually tested by accessing a webpage via IP (hosted through
LAMP - ex:10.121.61.97) and tried to set cookies with domains that
are a suffix to the ip address (ex: .97, 121.61.97).
Also tried to set cookies to other ip addresses that "domain matches"
the IP address (ex. 11.121.61.97). Verified that they all failed.

Tested using the cookies test page: http://browser.swlab.rim.net/test/cookies

* platform/blackberry/CookieManager.cpp:
(WebCore::CookieManager::getRawCookies):
(WebCore::CookieManager::checkAndTreatCookie):
(WebCore::CookieManager::findOrCreateCookieMap):
* platform/blackberry/CookieManager.h:
* platform/blackberry/CookieParser.cpp:
(WebCore::CookieParser::CookieParser):
(WebCore::CookieParser::parseOneCookie):
* platform/blackberry/CookieParser.h:
(CookieParser):
* platform/blackberry/ParsedCookie.cpp:
(WebCore::ParsedCookie::ParsedCookie):
* platform/blackberry/ParsedCookie.h:
(WebCore::ParsedCookie::setDomain):
(WebCore::ParsedCookie::domainIsIPAddress):
(ParsedCookie):

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

8 years agoWeb Inspector: [regression] ui: heap profiler: splitter between containment and retai...
loislo@chromium.org [Thu, 30 Aug 2012 16:08:27 +0000 (16:08 +0000)]
Web Inspector: [regression] ui: heap profiler: splitter between containment and retainment views has white background.
https://bugs.webkit.org/show_bug.cgi?id=95460

Reviewed by Yury Semikhatsky.

it was regressed at r122332.

* inspector/front-end/heapProfiler.css:
(.heap-snapshot-view .retainers-view-header):

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

8 years ago[sh4] Add missing implementation for JavaScriptCore JIT
commit-queue@webkit.org [Thu, 30 Aug 2012 16:03:47 +0000 (16:03 +0000)]
[sh4] Add missing implementation for JavaScriptCore JIT
https://bugs.webkit.org/show_bug.cgi?id=95452

Patch by Julien BRIANCEAU <jbrianceau@nds.com> on 2012-08-30
Reviewed by Oliver Hunt.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::isCompactPtrAlignedAddressOffset):
(MacroAssemblerSH4):
(JSC::MacroAssemblerSH4::add32):
(JSC::MacroAssemblerSH4::convertibleLoadPtr):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::labelIgnoringWatchpoints):
(SH4Assembler):
(JSC::SH4Assembler::replaceWithLoad):
(JSC::SH4Assembler::replaceWithAddressComputation):

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

8 years agoWeb Inspector: sort object properties when dumping them in tests
pfeldman@chromium.org [Thu, 30 Aug 2012 15:58:47 +0000 (15:58 +0000)]
Web Inspector: sort object properties when dumping them in tests
https://bugs.webkit.org/show_bug.cgi?id=95459

Reviewed by Vsevolod Vlasov.

add/dumpObject used to dump object properties in the natural enumerable order,
sorting by property name now.

* http/tests/inspector/inspector-test.js:
(initialize_InspectorTest.InspectorTest.addObject):
* http/tests/inspector/resource-har-conversion-expected.txt:
* http/tests/inspector/resource-har-headers-expected.txt:
* http/tests/inspector/resource-har-pages-expected.txt:
* http/tests/inspector/resource-parameters-expected.txt:
* http/tests/inspector/resources/extension-main.js:
* inspector/cookie-parser-expected.txt:
* inspector/debugger/script-extract-outline-expected.txt:
* inspector/extensions/extensions-api-expected.txt:
* inspector/extensions/extensions-audits-api-expected.txt:
* inspector/extensions/extensions-console-expected.txt:
* inspector/extensions/extensions-panel-expected.txt:
* inspector/extensions/extensions-resources-expected.txt:
* inspector/extensions/extensions-sidebar-expected.txt:
* inspector/filtered-item-selection-dialog-filtering-expected.txt:
* inspector/report-protocol-errors-expected.txt:
* inspector/runtime/runtime-getProperties-expected.txt:
* inspector/runtime/runtime-localStorage-getProperties-expected.txt:
* inspector/timeline/timeline-animation-frame-expected.txt:
* inspector/timeline/timeline-decode-resize-expected.txt:
* inspector/timeline/timeline-dom-content-loaded-event-expected.txt:
* inspector/timeline/timeline-enum-stability-expected.txt:
* inspector/timeline/timeline-event-dispatch-expected.txt:
* inspector/timeline/timeline-injected-script-eval-expected.txt:
* inspector/timeline/timeline-layout-expected.txt:
* inspector/timeline/timeline-load-event-expected.txt:
* inspector/timeline/timeline-mark-timeline-expected.txt:
* inspector/timeline/timeline-network-resource-expected.txt:
* inspector/timeline/timeline-paint-expected.txt:
* inspector/timeline/timeline-parse-html-expected.txt:
* inspector/timeline/timeline-recalculate-styles-expected.txt:
* inspector/timeline/timeline-script-tag-1-expected.txt:
* inspector/timeline/timeline-script-tag-2-expected.txt:
* inspector/timeline/timeline-time-stamp-expected.txt:
* inspector/timeline/timeline-timer-expected.txt:
* inspector/user-metrics-expected.txt:
* platform/chromium/http/tests/inspector/resource-har-conversion-expected.txt:
* platform/chromium/inspector/timeline/timeline-animation-frame-expected.txt:
* platform/chromium/inspector/timeline/timeline-event-dispatch-expected.txt:
* platform/chromium/inspector/timeline/timeline-layout-expected.txt:
* platform/chromium/inspector/timeline/timeline-network-resource-expected.txt:
* platform/chromium/inspector/timeline/timeline-paint-expected.txt:
* platform/chromium/inspector/timeline/timeline-parse-html-expected.txt:
* platform/chromium/inspector/timeline/timeline-timer-expected.txt:

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

8 years ago[BlackBerry] node search does not work with elements on touch start listener
commit-queue@webkit.org [Thu, 30 Aug 2012 15:53:23 +0000 (15:53 +0000)]
[BlackBerry] node search does not work with elements on touch start listener
https://bugs.webkit.org/show_bug.cgi?id=95252

Patch by Hanna Ma <Hanma@rim.com> on 2012-08-30
Reviewed by Antonio Gomes.

Fix the node search function of web insepctor on elements with touch start listener.
Add methods from webPage to check if the node search functionality is enabled before handling touch events.
PR194107

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::touchEvent):

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

8 years agoUnreviewed, rolling out r127131.
commit-queue@webkit.org [Thu, 30 Aug 2012 15:51:25 +0000 (15:51 +0000)]
Unreviewed, rolling out r127131.
http://trac.webkit.org/changeset/127131
https://bugs.webkit.org/show_bug.cgi?id=95463

It makes the fast/regions/ test crash on Chromium (Requested
by jchaffraix on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-30

Source/WebCore:

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* rendering/InlineBox.cpp:
* rendering/InlineBox.h:
(WebCore):
(InlineBox):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::addTextBoxVisualOverflow):
* rendering/RenderRegion.h:
(RenderRegion):

LayoutTests:

* fast/regions/region-style-text-shadow-expected.html: Removed.
* fast/regions/region-style-text-shadow.html: Removed.

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

8 years agoUnreviewed, rolling out r127133.
ossy@webkit.org [Thu, 30 Aug 2012 15:46:04 +0000 (15:46 +0000)]
Unreviewed, rolling out r127133.
http://trac.webkit.org/changeset/127133
https://bugs.webkit.org/show_bug.cgi?id=95462

These tests still fail (Requested by Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-30

* platform/qt-5.0-wk2/Skipped:

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

8 years ago[EFL] Remove tests from Skipped list that don't exist
commit-queue@webkit.org [Thu, 30 Aug 2012 15:30:37 +0000 (15:30 +0000)]
[EFL] Remove tests from Skipped list that don't exist
https://bugs.webkit.org/show_bug.cgi?id=95457

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-30

* platform/efl/Skipped:

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

8 years agoWeb Inspector: Some urls in CSS stylesheets cause errors when generating Computed...
apavlov@chromium.org [Thu, 30 Aug 2012 15:26:22 +0000 (15:26 +0000)]
Web Inspector: Some urls in CSS stylesheets cause errors when generating Computed Styles HTML
https://bugs.webkit.org/show_bug.cgi?id=95427

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Pass the parent StylesSidebarPane into ComputedStylePropertiesSection to avoid referencing an undefined field.
Avoid duplicating the parent pane by externally setting the |data| field on style property sections.

* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
(WebInspector.StylesSidebarPane.prototype.addBlankSection):
(WebInspector.StylePropertiesSection.prototype.get pane):
(WebInspector.ComputedStylePropertiesSection):
(WebInspector.ComputedStylePropertiesSection.prototype.get pane):
(WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):

LayoutTests:

* inspector/styles/inject-stylesheet-expected.txt:
* inspector/styles/inject-stylesheet.html:
* platform/chromium/inspector/styles/inject-stylesheet-expected.txt:

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

8 years ago[BlackBerry] One shot drawing sync flag never cleared when there's no layers
anilsson@rim.com [Thu, 30 Aug 2012 15:06:47 +0000 (15:06 +0000)]
[BlackBerry] One shot drawing sync flag never cleared when there's no layers
https://bugs.webkit.org/show_bug.cgi?id=95447

Reviewed by Antonio Gomes.

PR 199866
When we remove the layers, WebKit could tell us we need a one shot
drawing sync to repaint the BackingStore with the content that was
previously drawn by layers. We also sometimes set the one shot drawing
sync flag manually.

We would bail from commit if there were no layers and not actually
perform the osds, so it left the osds flag set forever and the
situation prevails, because nobody will ever clear the osds flag.

The BackingStore surrenders the responsibility of blitting to the AC
commit mechanism when a one shot drawing sync is pending, because we
want the operations render, commit and blit to happen in the correct
order with no intermediate blits.

So, no commit means no blit, and the result of regular rendering did
not show up on screen.

Fixed by not bailing from commit if there's no layers, instead clearing
the "needs commit" and osds flags and performing a blit.

Reviewed internally by Andrew Lo.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):

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

8 years agoTick marks don't match thumb when applying padding or border to input type=range
keishi@webkit.org [Thu, 30 Aug 2012 14:56:16 +0000 (14:56 +0000)]
Tick marks don't match thumb when applying padding or border to input type=range
https://bugs.webkit.org/show_bug.cgi?id=93791

Reviewed by Kent Tamura.

Source/WebCore:

Tick marks don't match thumb when styling input type=range. This change
calculate tick mark positions from track element size. Bug 94915 handles
drawing the track inside the content area.

Tests: fast/forms/datalist/input-appearance-range-with-padding-with-datalist.html
       fast/forms/datalist/input-appearance-range-with-transform.html

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::sliderTrackElement):
(WebCore):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/InputType.h:
(WebCore::InputType::sliderTrackElement):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::sliderTrackElement):
(WebCore):
* html/RangeInputType.h:
(RangeInputType):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSliderTicks): rect's position is relative to
the transformed ancestor element. sliderBounds is absolute. We use them
to calculate the track element position relative to the transformed
ancestor element.

LayoutTests:

* fast/forms/datalist/input-appearance-range-with-datalist-rtl-expected.html:
* fast/forms/datalist/input-appearance-range-with-datalist-rtl.html:
* fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.txt: Added.
* fast/forms/datalist/input-appearance-range-with-padding-with-datalist.html: Added.
* fast/forms/datalist/input-appearance-range-with-transform-expected.txt: Added.
* fast/forms/datalist/input-appearance-range-with-transform.html: Added.
* platform/chromium-mac/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png: Added.
* platform/chromium-mac/fast/forms/datalist/input-appearance-range-with-transform-expected.png: Added.
* platform/chromium/TestExpectations:

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

8 years agoRemove the now-unneeded invalidations in RenderTable::removeCaption
jchaffraix@webkit.org [Thu, 30 Aug 2012 14:48:22 +0000 (14:48 +0000)]
Remove the now-unneeded invalidations in RenderTable::removeCaption
https://bugs.webkit.org/show_bug.cgi?id=94889

Reviewed by Abhishek Arya.

Following bug 94842 and 95090, the invalidation code was pushed down to
RenderTableCaption. This made apparent that we did some invalidations that
were not needed.

Refactoring covered by existing tests.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::removeCaption):
Removed setNeedsRecalcStyle() as it's unneeded now. It was probably needed back when
we didn't support multiple captions (see bug 58249) but the need was never documented
so you could wonder if it was really needed in the first place.

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

8 years agoWeb Inspector: [regression] ui: selectors in heap profiler view have no arrows at...
loislo@chromium.org [Thu, 30 Aug 2012 14:45:28 +0000 (14:45 +0000)]
Web Inspector: [regression] ui: selectors in heap profiler view have no arrows at the right side of the text.
https://bugs.webkit.org/show_bug.cgi?id=95455

Reviewed by Yury Semikhatsky.

In console we use a span which wraps selectors and have necessary background.

* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotView.prototype.get statusBarItems.appendArrowImage):
(WebInspector.HeapSnapshotView.prototype.get statusBarItems):

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

8 years ago[WK2][WTR] Add didReceiveServerRedirectForProvisionalLoadForFrame dumping
commit-queue@webkit.org [Thu, 30 Aug 2012 14:42:53 +0000 (14:42 +0000)]
[WK2][WTR] Add didReceiveServerRedirectForProvisionalLoadForFrame dumping
https://bugs.webkit.org/show_bug.cgi?id=95454

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-30
Reviewed by Kenneth Rohde Christiansen.

Tools:

Added didReceiveServerRedirectForProvisionalLoadForFrame dumping to WTR.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didReceiveServerRedirectForProvisionalLoadForFrame):

LayoutTests:

Unskipped http/tests/loading/307-after-303-after-post.html.
Output for http/tests/loading/redirect-methods.html is improved.

* platform/wk2/Skipped:

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

8 years agoUpdate my email address.
leoyang@rim.com [Thu, 30 Aug 2012 14:40:20 +0000 (14:40 +0000)]
Update my email address.

Not reviewed.

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

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

8 years agoREGRESSION(r127039): It broke inspector/timeline/timeline-load.html fails on many...
caseq@chromium.org [Thu, 30 Aug 2012 14:31:10 +0000 (14:31 +0000)]
REGRESSION(r127039): It broke inspector/timeline/timeline-load.html fails on many platforms
https://bugs.webkit.org/show_bug.cgi?id=95414

Unreviewed. Remove stray InspectorTest.completeTest() from a method that is called from several test cases.

* inspector/timeline/timeline-load.html:

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

8 years ago[BlackBerry] LayerTiler needs to respect new setting for prefill rect.
commit-queue@webkit.org [Thu, 30 Aug 2012 14:05:18 +0000 (14:05 +0000)]
[BlackBerry] LayerTiler needs to respect new setting for prefill rect.
https://bugs.webkit.org/show_bug.cgi?id=95446

Patch by Andrew Lo <anlo@rim.com> on 2012-08-30
Reviewed by Rob Buis.

Internally reviewed by Arvid Nilsson.
Internal PR181637
Use new prefill rectangle setting to determine which tiles should be
prefilled in LayerTiler.

* platform/graphics/blackberry/LayerTiler.cpp:
(WebCore::LayerTiler::shouldPrefillTile):

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

8 years ago[Qt][WK2] Unreviewed gardening, unskip now passing tests.
ossy@webkit.org [Thu, 30 Aug 2012 14:05:18 +0000 (14:05 +0000)]
[Qt][WK2] Unreviewed gardening, unskip now passing tests.

* platform/qt-5.0-wk2/Skipped:

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

8 years agoRefactor WrapShape to Shape/BasicShape
krit@webkit.org [Thu, 30 Aug 2012 13:44:36 +0000 (13:44 +0000)]
Refactor WrapShape to Shape/BasicShape
https://bugs.webkit.org/show_bug.cgi?id=95411

Reviewed by Andreas Kling.

The wrap shapes are currently specified by CSS3 Exclusions but are useful for other
CSS related proposals like CSS Masking as well. This is the first patch on a chain
of patches to refactor WrapShape to BasicShape. With this patch all relevant files
get renamend and the build systems updated. The classes will be renamend in a second
step.

Just renaming of files. No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/BasicShapeFunctions.cpp: Renamed from Source/WebCore/css/WrapShapeFunctions.cpp.
(WebCore):
(WebCore::valueForWrapShape):
(WebCore::convertToLength):
(WebCore::wrapShapeForValue):
* css/BasicShapeFunctions.h: Renamed from Source/WebCore/css/WrapShapeFunctions.h.
(WebCore):
* css/CSSAllInOne.cpp:
* css/CSSBasicShapes.cpp: Renamed from Source/WebCore/css/CSSWrapShapes.cpp.
(WebCore):
(WebCore::CSSWrapShapeRectangle::cssText):
(WebCore::CSSWrapShapeCircle::cssText):
(WebCore::CSSWrapShapeEllipse::cssText):
(WebCore::CSSWrapShapePolygon::cssText):
* css/CSSBasicShapes.h: Renamed from Source/WebCore/css/CSSWrapShapes.h.
(WebCore):
(CSSWrapShape):
(WebCore::CSSWrapShape::~CSSWrapShape):
(WebCore::CSSWrapShape::CSSWrapShape):
(CSSWrapShapeRectangle):
(WebCore::CSSWrapShapeRectangle::create):
(WebCore::CSSWrapShapeRectangle::x):
(WebCore::CSSWrapShapeRectangle::y):
(WebCore::CSSWrapShapeRectangle::width):
(WebCore::CSSWrapShapeRectangle::height):
(WebCore::CSSWrapShapeRectangle::radiusX):
(WebCore::CSSWrapShapeRectangle::radiusY):
(WebCore::CSSWrapShapeRectangle::setX):
(WebCore::CSSWrapShapeRectangle::setY):
(WebCore::CSSWrapShapeRectangle::setWidth):
(WebCore::CSSWrapShapeRectangle::setHeight):
(WebCore::CSSWrapShapeRectangle::setRadiusX):
(WebCore::CSSWrapShapeRectangle::setRadiusY):
(WebCore::CSSWrapShapeRectangle::type):
(WebCore::CSSWrapShapeRectangle::CSSWrapShapeRectangle):
(CSSWrapShapeCircle):
(WebCore::CSSWrapShapeCircle::create):
(WebCore::CSSWrapShapeCircle::centerX):
(WebCore::CSSWrapShapeCircle::centerY):
(WebCore::CSSWrapShapeCircle::radius):
(WebCore::CSSWrapShapeCircle::setCenterX):
(WebCore::CSSWrapShapeCircle::setCenterY):
(WebCore::CSSWrapShapeCircle::setRadius):
(WebCore::CSSWrapShapeCircle::type):
(WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
(CSSWrapShapeEllipse):
(WebCore::CSSWrapShapeEllipse::create):
(WebCore::CSSWrapShapeEllipse::centerX):
(WebCore::CSSWrapShapeEllipse::centerY):
(WebCore::CSSWrapShapeEllipse::radiusX):
(WebCore::CSSWrapShapeEllipse::radiusY):
(WebCore::CSSWrapShapeEllipse::setCenterX):
(WebCore::CSSWrapShapeEllipse::setCenterY):
(WebCore::CSSWrapShapeEllipse::setRadiusX):
(WebCore::CSSWrapShapeEllipse::setRadiusY):
(WebCore::CSSWrapShapeEllipse::type):
(WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
(CSSWrapShapePolygon):
(WebCore::CSSWrapShapePolygon::create):
(WebCore::CSSWrapShapePolygon::appendPoint):
(WebCore::CSSWrapShapePolygon::getXAt):
(WebCore::CSSWrapShapePolygon::getYAt):
(WebCore::CSSWrapShapePolygon::values):
(WebCore::CSSWrapShapePolygon::setWindRule):
(WebCore::CSSWrapShapePolygon::windRule):
(WebCore::CSSWrapShapePolygon::type):
(WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
* css/CSSComputedStyleDeclaration.cpp:
* css/CSSParser.cpp:
* css/CSSPrimitiveValue.cpp:
* css/StyleBuilder.cpp:
* rendering/style/BasicShapes.cpp: Renamed from Source/WebCore/rendering/style/WrapShapes.cpp.
(WebCore):
(WebCore::WrapShape::destroy):
* rendering/style/BasicShapes.h: Renamed from Source/WebCore/rendering/style/WrapShapes.h.
(WebCore):
(WrapShape):
(WebCore::WrapShape::deref):
(WebCore::WrapShape::type):
(WebCore::WrapShape::WrapShape):
(WrapShapeRectangle):
(WebCore::WrapShapeRectangle::create):
(WebCore::WrapShapeRectangle::x):
(WebCore::WrapShapeRectangle::y):
(WebCore::WrapShapeRectangle::width):
(WebCore::WrapShapeRectangle::height):
(WebCore::WrapShapeRectangle::cornerRadiusX):
(WebCore::WrapShapeRectangle::cornerRadiusY):
(WebCore::WrapShapeRectangle::setX):
(WebCore::WrapShapeRectangle::setY):
(WebCore::WrapShapeRectangle::setWidth):
(WebCore::WrapShapeRectangle::setHeight):
(WebCore::WrapShapeRectangle::setCornerRadiusX):
(WebCore::WrapShapeRectangle::setCornerRadiusY):
(WebCore::WrapShapeRectangle::WrapShapeRectangle):
(WrapShapeCircle):
(WebCore::WrapShapeCircle::create):
(WebCore::WrapShapeCircle::centerX):
(WebCore::WrapShapeCircle::centerY):
(WebCore::WrapShapeCircle::radius):
(WebCore::WrapShapeCircle::setCenterX):
(WebCore::WrapShapeCircle::setCenterY):
(WebCore::WrapShapeCircle::setRadius):
(WebCore::WrapShapeCircle::WrapShapeCircle):
(WrapShapeEllipse):
(WebCore::WrapShapeEllipse::create):
(WebCore::WrapShapeEllipse::centerX):
(WebCore::WrapShapeEllipse::centerY):
(WebCore::WrapShapeEllipse::radiusX):
(WebCore::WrapShapeEllipse::radiusY):
(WebCore::WrapShapeEllipse::setCenterX):
(WebCore::WrapShapeEllipse::setCenterY):
(WebCore::WrapShapeEllipse::setRadiusX):
(WebCore::WrapShapeEllipse::setRadiusY):
(WebCore::WrapShapeEllipse::WrapShapeEllipse):
(WrapShapePolygon):
(WebCore::WrapShapePolygon::create):
(WebCore::WrapShapePolygon::windRule):
(WebCore::WrapShapePolygon::values):
(WebCore::WrapShapePolygon::getXAt):
(WebCore::WrapShapePolygon::getYAt):
(WebCore::WrapShapePolygon::setWindRule):
(WebCore::WrapShapePolygon::appendPoint):
(WebCore::WrapShapePolygon::WrapShapePolygon):
* rendering/style/StyleRareNonInheritedData.h:

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

8 years ago[CSSRegions]Add support for text-shadow in region styling
commit-queue@webkit.org [Thu, 30 Aug 2012 13:19:42 +0000 (13:19 +0000)]
[CSSRegions]Add support for text-shadow in region styling
https://bugs.webkit.org/show_bug.cgi?id=94472

Patch by Andrei Onea <onea@adobe.com> on 2012-08-30
Reviewed by David Hyatt.

Source/WebCore:

The CSSRegions spec allows region styling to be applied on the text-shadow property
as well. We need to also add this in WebKit.

Test: fast/regions/region-style-text-shadow.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
Make sure we actually collect text-shadow property from parser in an @region rule.
* rendering/InlineBox.cpp:
(WebCore::InlineBox::styleInRegion):
(WebCore):
(WebCore::InlineBox::regionDuringLayout):
* rendering/InlineBox.h:
(WebCore):
(InlineBox):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addToLine):
Take into account region styling, so that "knownToHaveNoOverflow" is computed
properly.
(WebCore::InlineFlowBox::addTextBoxVisualOverflow):
Take into account region styling, so that the visual overflow rect is computed
properly.
* rendering/RenderRegion.h:
(RenderRegion):
Made computeStyleInRegion public.

LayoutTests:

Added test for region styling on the text shadow property.

* fast/regions/region-style-text-shadow-expected.html: Added.
* fast/regions/region-style-text-shadow.html: Added.

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Thu, 30 Aug 2012 13:04:50 +0000 (13:04 +0000)]
Unreviewed GTK gardening.

Adding a platform-specific baseline that's required after r127117.

Fixing expectations for a couple of tests that were gardened in r127109.
They are both reftests so image failures are occurring.

* platform/gtk/TestExpectations:
* platform/gtk/fast/events/set-attribute-listener-window-onerror-crash-expected.txt: Added.

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

8 years agoUpdate test expectations to follow common guidelines.
ossy@webkit.org [Thu, 30 Aug 2012 12:59:28 +0000 (12:59 +0000)]
Update test expectations to follow common guidelines.
https://bugs.webkit.org/show_bug.cgi?id=95442

Patch by Anton Muhin <antonm@chromium.org> on 2012-08-30
Reviewed by Csaba Osztrogon√°c.

Follow up to https://trac.webkit.org/changeset/127117

* fast/events/set-attribute-listener-window-onerror-crash-expected.txt:
* platform/chromium/fast/events/set-attribute-listener-window-onerror-crash-expected.txt: Added.

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

8 years ago[BlackBerry] Eliminate build warnings
charles.wei@torchmobile.com.cn [Thu, 30 Aug 2012 12:37:11 +0000 (12:37 +0000)]
[BlackBerry] Eliminate build warnings
https://bugs.webkit.org/show_bug.cgi?id=95338

Reviewed by Filip Pizlo.

static_cast to the same type to eliminate the build time warnings.

* assembler/AssemblerBufferWithConstantPool.h:
(JSC::AssemblerBufferWithConstantPool::flushWithoutBarrier):
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::branch32):

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

8 years ago[EFL] Gardening after r127108
commit-queue@webkit.org [Thu, 30 Aug 2012 11:53:09 +0000 (11:53 +0000)]
[EFL] Gardening after r127108
https://bugs.webkit.org/show_bug.cgi?id=95438

Unreviewed gardening.

Gardening of fast/dom/shadow/shadowdom-for-textarea-complex-shadow.html and
fast/dom/shadow/shadowdom-for-textarea-with-placeholder.html.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-30

* platform/efl/TestExpectations:

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

8 years agoElement: Share code between setAttributeNode() and other attribute setters.
kling@webkit.org [Thu, 30 Aug 2012 11:43:14 +0000 (11:43 +0000)]
Element: Share code between setAttributeNode() and other attribute setters.
<http://webkit.org/b/95328>

Reviewed by Antti Koivisto.

Removed the specialized ElementAttributeData::replaceAttribute() that was only used for
replacing an existing Attr node on an Element. Instead, just use Element::setAttributeInternal()
like all the other attribute setters.

* dom/Element.cpp:
(WebCore::Element::setAttributeNode):
* dom/ElementAttributeData.cpp:
* dom/ElementAttributeData.h:
(ElementAttributeData):

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

8 years ago[QT][WK2] webview API doc
hausmann@webkit.org [Thu, 30 Aug 2012 11:33:26 +0000 (11:33 +0000)]
[QT][WK2] webview API doc
https://bugs.webkit.org/show_bug.cgi?id=81701

Patch by Mike Sierra <mike.sierra@nokia.com> on 2012-08-30
Reviewed by Simon Hausmann.

Various improvements and additions to the documentation of the QML WebView element.

* UIProcess/API/qt/qquickwebview.cpp:

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

8 years ago1.9.90 drops symbols, breaking compatibility
commit-queue@webkit.org [Thu, 30 Aug 2012 11:18:29 +0000 (11:18 +0000)]
1.9.90 drops symbols, breaking compatibility
https://bugs.webkit.org/show_bug.cgi?id=93477

Patch by Xan Lopez <xlopez@igalia.com> on 2012-08-30
Reviewed by Martin Robinson.

Add a bunch of compatibility methods to the GObject DOM bindings
to cope with recent renames.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_html_element_get_class_list):
(webkit_dom_element_get_webkit_region_overflow):
(webkit_dom_webkit_named_flow_get_content_nodes):
(webkit_dom_webkit_named_flow_get_regions_by_content_node):
* bindings/gobject/WebKitDOMCustom.h:

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