[CMake] Unreviewed, add ENABLE_CSS3_FLEXBOX after r118304.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION: compositing/video/video-poster.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=87199

Reviewed by Maciej Stachowiak.

No new tests; fixes failing compositing/video/video-poster.html test.

Instead of creating the video layer directly, simply allow the layer
to be created in updateStates() by changing the definition of
isReadyForVideoSetup() to bypass the m_isAllowedToRender check if
the player reports a video track is present.  This causes the video layer
to be created and for future calls to prepareForRendering() to result
in calls to mediaPlayerRenderingModeChanged().

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup):
(WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Gardening after r118203 and r118171.

Remove wrong expectations added in r118171 and unskip passing
tests after r118203.

* platform/efl/compositing/layer-creation/fixed-position-scroll-expected.png: Removed.
* platform/efl/compositing/layer-creation/fixed-position-scroll-expected.txt: Removed.
* platform/efl/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash in RenderTableCol::nextColumn
https://bugs.webkit.org/show_bug.cgi?id=87314

Reviewed by Abhishek Arya.

Source/WebCore:

Tests: fast/table/canvas-column-in-column-group.html
       fast/table/columngroup-inside-columngroup.html

The issue comes from elements not abiding by the display property (e.g. canvas). This means
that any renderer with display: table-column would pass the current isChildAllowed check and
would confuse our algorithm to iterate.

We were getting away with allowing those children as table columns or column groups don't
paint themselves but it's better to just not allow such children in the first place.

* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::isChildAllowed):
Fixed the logic to only accept proper column renderer (RenderTableCol with display: column
to ignore column-groups). Also removed an unneeded NULL-check.

LayoutTests:

* fast/table/canvas-column-in-column-group-expected.txt: Added.
* fast/table/canvas-column-in-column-group.html: Added.
* fast/table/columngroup-inside-columngroup-expected.txt: Added.
* fast/table/columngroup-inside-columngroup.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Document.caretRangeFromPoint exposes inner elemnet of Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87231

Reviewed by Dimitri Glazkov.

Source/WebCore:

Document::caretRangeFromPoint didn't consider nested Shadow DOM.
The container node should be adjusted up to document TreeScope beyond ShadowRoot TreeScope.

Test: fast/dom/shadow/caret-range-from-point-in-nested-shadow.html

* dom/Document.cpp:
(WebCore::Document::caretRangeFromPoint):

LayoutTests:

* fast/dom/shadow/caret-range-from-point-in-nested-shadow-expected.txt: Added.
* fast/dom/shadow/caret-range-from-point-in-nested-shadow.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r118297.
http://trac.webkit.org/changeset/118297
https://bugs.webkit.org/show_bug.cgi?id=87338

It caused several layout failures on Mac (Requested by
sundiamonde on #webkit).

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

Source/WebCore:

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):

LayoutTests:

* fast/block/float/floats-with-margin-should-not-wrap-expected.html: Removed.
* fast/block/float/floats-with-margin-should-not-wrap.html: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Document.elementFromPoint exposes inner element of Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87235

Reviewed by Dimitri Glazkov.

Source/WebCore:

Document::elementFromPoint didn't consider nested Shadow DOM.
The container node should be adjusted up to document TreeScope beyond ShadowRoot TreeScope.

Test: fast/dom/shadow/element-from-point-in-nested-shadow.html

* dom/Document.cpp:
(WebCore::Document::elementFromPoint):

LayoutTests:

* fast/dom/shadow/element-from-point-in-nested-shadow-expected.txt: Added.
* fast/dom/shadow/element-from-point-in-nested-shadow.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a test case of event dispatching which uses inactive insertion points.
https://bugs.webkit.org/show_bug.cgi?id=87229

Reviewed by Darin Adler.

* fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
* fast/dom/shadow/shadow-dom-event-dispatching.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change EFL debug build name with more detail one
https://bugs.webkit.org/show_bug.cgi?id=87254

Reviewed by Ryosuke Niwa.

EFL Linux Debug buildbot name needs to be consistent with other EFL buildbot name.
In addition, remove efl-linux-debug triggerable since nobody uses it.

* BuildSlaveSupport/build.webkit.org-config/config.json:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
sort the array 'non_wrapper_types'
https://bugs.webkit.org/show_bug.cgi?id=87335

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-05-23
Reviewed by Kentaro Hara.

* bindings/scripts/CodeGeneratorV8.pm:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG should optimize aliased uses of the Arguments object of the current call frame
https://bugs.webkit.org/show_bug.cgi?id=86552

Source/JavaScriptCore: 

Reviewed by Geoff Garen.
        
Merged r117542 and r117543 from dfgopt.
        
Performs must-alias and escape analysis on uses of CreateArguments, and if
a variable is must-aliased to CreateArguments and does not escape, then we
turn all uses of that variable into direct arguments accesses.
        
36% speed-up on V8/earley leading to a 2.3% speed-up overall in V8.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::uncheckedArgumentsRegister):
* bytecode/ValueRecovery.h:
(JSC::ValueRecovery::argumentsThatWereNotCreated):
(ValueRecovery):
(JSC::ValueRecovery::dump):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGAdjacencyList.h:
(AdjacencyList):
(JSC::DFG::AdjacencyList::removeEdgeFromBag):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
(ArgumentsSimplificationPhase):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUses):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
(JSC::DFG::ArgumentsSimplificationPhase::removeArgumentsReferencingPhantomChild):
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::argumentsRegisterFor):
(AssemblyHelpers):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::removePotentiallyDeadPhiReference):
* dfg/DFGGPRInfo.h:
(GPRInfo):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::collectGarbage):
(DFG):
* dfg/DFGGraph.h:
(Graph):
(JSC::DFG::Graph::executableFor):
(JSC::DFG::Graph::argumentsRegisterFor):
(JSC::DFG::Graph::uncheckedArgumentsRegisterFor):
(JSC::DFG::Graph::clobbersWorld):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler.h:
(JSC::DFG::OSRExitCompiler::OSRExitCompiler):
(OSRExitCompiler):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::ValueSource::dump):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsArgumentsAlias):
(VariableAccessData):
(JSC::DFG::VariableAccessData::isArgumentsAlias):
* jit/JITOpcodes.cpp:
(JSC::JIT::emitSlow_op_get_argument_by_val):

LayoutTests: 

Rubber stamped by Geoff Garen.
        
Merged r117542 from dfgopt.
        
Added a bunch of tests that check that our optimizations for aliased uses of the
'arguments' object are robust against various forms of JavaScript crazy.
        
* fast/js/dfg-arguments-alias-escape-expected.txt: Added.
* fast/js/dfg-arguments-alias-escape.html: Added.
* fast/js/dfg-arguments-alias-expected.txt: Added.
* fast/js/dfg-arguments-alias.html: Added.
* fast/js/dfg-arguments-cross-code-origin-expected.txt: Added.
* fast/js/dfg-arguments-cross-code-origin.html: Added.
* fast/js/dfg-arguments-mixed-alias-expected.txt: Added.
* fast/js/dfg-arguments-mixed-alias.html: Added.
* fast/js/dfg-arguments-osr-exit-expected.txt: Added.
* fast/js/dfg-arguments-osr-exit.html: Added.
* fast/js/dfg-arguments-unexpected-escape-expected.txt: Added.
* fast/js/dfg-arguments-unexpected-escape.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-arguments-alias-escape.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-arguments-alias.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-arguments-cross-code-origin.js: Added.
(foo):
(bar):
(baz):
* fast/js/script-tests/dfg-arguments-mixed-alias.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-arguments-osr-exit.js: Added.
(baz):
(foo):
(bar):
* fast/js/script-tests/dfg-arguments-unexpected-escape.js: Added.
(baz):
(foo):
(bar):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG should not do unnecessary indirections when storing to objects
https://bugs.webkit.org/show_bug.cgi?id=86959

Reviewed by Oliver Hunt.
        
Merged r117819 from dfgopt.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG CFA should record if a node can OSR exit
https://bugs.webkit.org/show_bug.cgi?id=86905

Reviewed by Oliver Hunt.
        
Merged r117931 from dfgopt.
        
Adds a NodeFlag that denotes nodes that are known to not have OSR exits.
This ought to aid any backwards analyses that need to know when a
backward flow merge might happen due to a side exit.
        
Also added assertions into speculationCheck() that ensure that we did not
mark a node as non-exiting and then promptly compile in an exit. This
helped catch some minor bugs where we were doing unnecessary speculation
checks.
        
This is a perf-neutral change. The speculation checks that this removes
were not on hot paths of major benchmarks.

* bytecode/PredictedType.h:
(JSC):
(JSC::isAnyPrediction):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGAbstractState.h:
(JSC::DFG::AbstractState::speculateInt32Unary):
(AbstractState):
(JSC::DFG::AbstractState::speculateNumberUnary):
(JSC::DFG::AbstractState::speculateBooleanUnary):
(JSC::DFG::AbstractState::speculateInt32Binary):
(JSC::DFG::AbstractState::speculateNumberBinary):
* dfg/DFGNode.h:
(JSC::DFG::Node::mergeFlags):
(JSC::DFG::Node::filterFlags):
(Node):
(JSC::DFG::Node::setCanExit):
(JSC::DFG::Node::canExit):
* dfg/DFGNodeFlags.cpp:
(JSC::DFG::nodeFlagsAsString):
* dfg/DFGNodeFlags.h:
(DFG):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed: Web Inspector single line fix for r118162.

* inspector/front-end/HeapSnapshotDataGrids.js:
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype._populateChildren):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, merge the arguments fix in r118138 to get bots green.

* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG operationTearOffActivation should return after handling the null activation case
https://bugs.webkit.org/show_bug.cgi?id=87348
<rdar://problem/11522295>

Reviewed by Oliver Hunt.

Source/JavaScriptCore: 

* dfg/DFGOperations.cpp:

LayoutTests: 

* fast/js/dfg-tear-off-arguments-not-activation-expected.txt: Added.
* fast/js/dfg-tear-off-arguments-not-activation.html: Added.
* fast/js/script-tests/dfg-tear-off-arguments-not-activation.js: Added.
(bar):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] The EFL port has no support for title directionality
https://bugs.webkit.org/show_bug.cgi?id=86462

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-24
Reviewed by Gustavo Noronha Silva.

Source/WebKit/efl:

Define a new Ewk_Text_With_Direction type to store the direction of
the text along with the text itself. This is needed to support text
directionality in EFL port.

Use the new Ewk_Text_With_Direction type for the frame title. Updated
"title,changed" signal, title getter/setter and Ewk_Hit_Test struct.

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::dispatchDidReceiveTitle):
* ewk/ewk_frame.cpp:
(Ewk_Frame_Smart_Data):
(_ewk_frame_smart_del):
(ewk_frame_title_get):
(ewk_frame_hit_test_free):
(ewk_frame_hit_test_new):
(ewk_frame_title_set):
* ewk/ewk_frame.h:
* ewk/ewk_frame_private.h:
* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(ewk_view_title_get):
(ewk_view_title_set):
* ewk/ewk_view.h:
* ewk/ewk_view_private.h:

Tools:

Update "title,changed" signal handlers in DRT and EWebLauncher to
reflect the change from const char* to Ewk_Text_With_Direction* type
for the title.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::onTitleChanged):
* EWebLauncher/main.c:
(title_set):
(on_title_changed):
(on_key_down):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed 32 bit buildfix after r118325.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal): Use ASSERT_UNUSED instead ASSERT.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] EFL's LayoutTestController needs to implement sendWebIntentResponse
https://bugs.webkit.org/show_bug.cgi?id=86867

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-24
Reviewed by Adam Barth.

Source/WebKit/efl:

ewk_intent_request_failure_post() should call
WebCore::IntentRequest::postFailure(), not
WebCore::IntentRequest::postResult().

* ewk/ewk_intent_request.cpp:
(ewk_intent_request_failure_post):

Tools:

Add implementation for sendWebIntentResponse() in EFL's
LayoutTestController and add empty implementation for other ports.

* DumpRenderTree/LayoutTestController.cpp:
(sendWebIntentResponseCallback):
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
(LayoutTestController::sendWebIntentResponse):
* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::currentIntentRequest):
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):
(DumpRenderTreeChrome::onFrameIntentNew):
* DumpRenderTree/efl/DumpRenderTreeChrome.h:
(DumpRenderTreeChrome):
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::sendWebIntentResponse):
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::sendWebIntentResponse):
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
(LayoutTestController::sendWebIntentResponse):
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::sendWebIntentResponse):
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:
(LayoutTestController::sendWebIntentResponse):

LayoutTests:

Remove from test expectations the webintents tests that require
support for sendWebIntentResponse() in EFL's LayoutTestController.

* platform/efl/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed fix, add ENABLE_CSS3_FLEXBOX after r118304.

* qmake/mkspecs/features/features.pri:

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