Fix regression introduced in r113927.

Unreviewed, build fix.

I failed to rename skipped_tests() to skipped_layout_tests()
everywhere it needed to be renamed. The unit tests didn't catch
this because the TestPort was one of the places that didn't get
renamed :(.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.parse_expectations):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.skipped_layout_tests):
* Scripts/webkitpy/tool/commands/queries.py:
(PrintExpectations._model):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
op_is_foo should be optimized
https://bugs.webkit.org/show_bug.cgi?id=83666

Reviewed by Gavin Barraclough.
        
This implements inlining of op_is_undefined, op_is_string, op_is_number,
and op_is_boolean in LLInt and the baseline JIT. op_is_object and
op_is_function are not inlined because they are quite a bit more complex.
        
This also implements all of the op_is_foo opcodes in the DFG, but it does
not do any type profiling based optimizations, yet.

* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::compare8):
(MacroAssemblerARMv7):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::compare8):
(MacroAssemblerX86Common):
* assembler/MacroAssemblerX86_64.h:
(MacroAssemblerX86_64):
(JSC::MacroAssemblerX86_64::testPtr):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::setupArguments):
(CCallHelpers):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
(JIT):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_is_undefined):
(JSC):
(JSC::JIT::emit_op_is_boolean):
(JSC::JIT::emit_op_is_number):
(JSC::JIT::emit_op_is_string):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_is_undefined):
(JSC):
(JSC::JIT::emit_op_is_boolean):
(JSC::JIT::emit_op_is_number):
(JSC::JIT::emit_op_is_string):
* jit/JITStubs.cpp:
(JSC):
* llint/LLIntSlowPaths.cpp:
(LLInt):
* llint/LLIntSlowPaths.h:
(LLInt):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* offlineasm/armv7.rb:
* offlineasm/instructions.rb:
* offlineasm/x86.rb:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for [ArrayClass] and use that on NodeList
https://bugs.webkit.org/show_bug.cgi?id=81573

Reviewed by Adam Barth.

With this patch NodeLists now have Array.prototype on their prototype chain which allows
methods such as forEach and map to work on NodeLists.

http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist

For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which
does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore
set when the constructor is created.

For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has
a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This
causes test failures in the tests until that has been fixed.

Source/WebCore:

Test: fast/dom/NodeList/node-list-array-class.html

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Include ArrayPrototype.h if an ArrayClass.
(GenerateImplementation): If ArrayClass use arrayPrototype as prototype.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNamedConstructorCallback):
(GenerateImplementation): Adds a flag to the WrapperTypeInfo.
* bindings/scripts/IDLAttributes.txt: Adds new attribute: ArrayClass.
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::createPrototype):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
* bindings/v8/V8BindingPerContextData.cpp:
(WebCore::V8BindingPerContextData::init): Get the array prototype too.
(WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
(WebCore::V8BindingPerContextData::constructorForTypeSlowCase): If this is an ArrayClass we need to
set the [[Prototype]].
* bindings/v8/V8BindingPerContextData.h:
(V8BindingPerContextData):
* bindings/v8/V8HiddenPropertyName.h:
(WebCore):
* bindings/v8/WrapperTypeInfo.h:
(WrapperTypeInfo):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore):
* dom/NodeList.idl:

LayoutTests:

* fast/dom/HTMLSelectElement/named-options-expected.txt:
* fast/dom/HTMLSelectElement/script-tests/named-options.js:
* fast/dom/NodeList/node-list-array-class-expected.txt: Added.
* fast/dom/NodeList/node-list-array-class.html: Added.
* fast/dom/NodeList/nodelist-item-call-as-function-expected.txt:
* platform/chromium/fast/dom/HTMLSelectElement/named-options-expected.txt: Copied from LayoutTests/fast/dom/HTMLSelectElement/named-options-expected.txt.
* platform/chromium/inspector/console/command-line-api-expected.txt: Added.
* platform/chromium/inspector/console/console-dir-expected.txt:
* platform/chromium/inspector/console/console-format-collections-expected.txt:
* platform/mac/fast/dom/prototype-inheritance-2-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Correct pixel snapping error in RenderBox::pixelSnappedClientWidth/Height
https://bugs.webkit.org/show_bug.cgi?id=83621

Reviewed by Eric Seidel.

Though the problem wouldn't yet manifest itself since we haven't flipped the switch on sub-pixel
layout, clientWidth and clientHeight, when pixel snapped, need to take the RenderBox's location
into account. Previously, ClientLeft/Top were used, but these are simply the width of the borders,
and don't include the box's sub-pixel location, which is needed to properly snap the width/height.

No new tests. Untestable until we switch to FractionalLayoutUnits. A test case that covers this
is in the subpixellayout branch and will land with the switch.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::pixelSnappedClientWidth):
(WebCore::RenderBox::pixelSnappedClientHeight):
(WebCore::RenderBox::scrollWidth): Replacing a raw zero with ZERO_LAYOUT_UNIT.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test webaudio/* is flaky
https://bugs.webkit.org/show_bug.cgi?id=83624

Reviewed by Chris Rogers.

Source/WebCore:

No new tests; fixes webaudio/ layout tests.

A merge error led to an Mutex overunlock situation, which caused all future mutex trylock
attempts to fail, but only on Windows. Remove the extraneous mutex unlock().

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::process):

LayoutTests:

Re-enable webaudio/ layout tests on chromium-win.

* platform/chromium/test_expectations.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
unrevert
Security checks
remove webkit prefix from seamless
Frame flattening should not try to flatten seamless iframes
First stab at auto-sizing, per discussion with ojan (does not work yet)
Check mayDisplaySeamless on the correct document
Add (currently failing) tests for CSS min/max width/height as well as floated seamless iframes
Move off embeddedContentBox, it looks to be SVG only
Commit (currently broken) test results
Make child frames cause their parents to relayout
Try making RenderIframe force the child frame to recalc before grabbing preferred widths
Fix metrics in seamless-float test
Remove default iframe borders from tests
Fix error from bad merge
Try forcing seamless to block for now