[Chromium] Marking a pair of fast/history layout tests as flaky (TEXT).
https://bugs.webkit.org/show_bug.cgi?id=87321

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactored WeakBlock to use malloc, clarify behavior
https://bugs.webkit.org/show_bug.cgi?id=87318

Reviewed by Filip Pizlo.

We want to use malloc so we can make these smaller than 4KB,
since an individual MarkedBlock will usually have fewer than
4KB worth of weak pointers.

* heap/Heap.cpp:
(JSC::Heap::markRoots): Renamed visitLiveWeakImpls to visit, since
we no longer need to distinguish from "visitDeadWeakImpls".

Renamed "visitDeadWeakImpls" to "reap" because we're not actually
doing any visiting -- we're just tagging things as dead.

* heap/WeakBlock.cpp:
(JSC::WeakBlock::create):
(JSC::WeakBlock::destroy):
(JSC::WeakBlock::WeakBlock): Malloc!

(JSC::WeakBlock::visit):
(JSC::WeakBlock::reap): Renamed as above.

* heap/WeakBlock.h:
(WeakBlock): Reduced to 3KB, as explained above.

* heap/WeakSet.cpp:
(JSC::WeakSet::visit):
(JSC::WeakSet::reap):
* heap/WeakSet.h:
(WeakSet): Updated for renames, and to match WebKit style.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118269 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG should be able to optimize foo.apply(bar, arguments)
https://bugs.webkit.org/show_bug.cgi?id=86306

Reviewed by Gavin Barraclough.
        
Merge r116912 from dfgopt.
        
Enables compilation of op_jneq_ptr and some forms of op_call_varargs.
        
Also includes a bunch of bug fixes that were made necessary by the increased
pressure on the CFG simplifier.
        
This is a 1-2% win on V8.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::CodeBlock):
(JSC::ProgramCodeBlock::canCompileWithDFGInternal):
(JSC::EvalCodeBlock::canCompileWithDFGInternal):
(JSC::FunctionCodeBlock::canCompileWithDFGInternal):
* bytecode/CodeBlock.h:
(CodeBlock):
(JSC::CodeBlock::canCompileWithDFG):
(JSC::CodeBlock::canCompileWithDFGState):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getLocalLoadElimination):
(CSEPhase):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::debugFail):
(DFG):
(JSC::DFG::canHandleOpcodes):
(JSC::DFG::canCompileOpcodes):
(JSC::DFG::canInlineOpcodes):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):
(DFG):
(JSC::DFG::canCompileOpcodes):
(JSC::DFG::canCompileEval):
(JSC::DFG::canCompileProgram):
(JSC::DFG::canCompileFunctionForCall):
(JSC::DFG::canCompileFunctionForConstruct):
* dfg/DFGCommon.h:
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGValidate.cpp:
(Validate):
(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::checkOperand):
(JSC::DFG::Validate::reportValidationContext):
* jit/JIT.cpp:
(JSC::JIT::emitOptimizationCheck):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JIT.h:
* jit/JITArithmetic.cpp:
(JSC::JIT::compileBinaryArithOp):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompilePutByIdTransition):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::privateCompilePutByIdTransition):
* tools/CodeProfile.cpp:
(JSC::CodeProfile::sample):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118270 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r118134.
http://trac.webkit.org/changeset/118134
https://bugs.webkit.org/show_bug.cgi?id=87209

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

* bindings/v8/custom/V8HTMLElementCustom.cpp:
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/v8/custom/V8HistoryCustom.cpp:
(WebCore::V8History::stateAccessorGetter):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ImageDataCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int16ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int8ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::dataAccessorGetter):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::V8Node::insertBeforeCallback):
(WebCore::V8Node::replaceChildCallback):
(WebCore::V8Node::removeChildCallback):
(WebCore::V8Node::appendChildCallback):
(WebCore::toV8Slow):
* bindings/v8/custom/V8PopStateEventCustom.cpp:
(WebCore::V8PopStateEvent::stateAccessorGetter):
* bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
(WebCore::V8SQLResultSetRowList::itemCallback):
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGElementCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGPathSegCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8TrackEventCustom.cpp:
(WebCore::V8TrackEvent::trackAccessorGetter):
* bindings/v8/custom/V8Uint16ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint8ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
(WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::toV8):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r118133.
http://trac.webkit.org/changeset/118133
https://bugs.webkit.org/show_bug.cgi?id=87207

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSRuleCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSValueCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ClipboardCustom.cpp:
(WebCore::V8Clipboard::typesAccessorGetter):
* bindings/v8/custom/V8CoordinatesCustom.cpp:
(WebCore::V8Coordinates::altitudeAccessorGetter):
(WebCore::V8Coordinates::altitudeAccuracyAccessorGetter):
(WebCore::V8Coordinates::headingAccessorGetter):
(WebCore::V8Coordinates::speedAccessorGetter):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMTokenListCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
(WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::intervalAccessorGetter):
* bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
(WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DocumentLocationCustom.cpp:
(WebCore::V8Document::locationAccessorGetter):
* bindings/v8/custom/V8EntryCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EntrySyncCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Float32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Float64ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::V8HTMLCanvasElement::getContextCallback):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::toV8):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118273 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r118129.
http://trac.webkit.org/changeset/118129
https://bugs.webkit.org/show_bug.cgi?id=87202

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateFunctionCallback):
(NativeToJSValue):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::contentDocumentAttrGetter):
(WebCore::TestObjV8Internal::getSVGDocumentCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118274 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r118120.
http://trac.webkit.org/changeset/118120
https://bugs.webkit.org/show_bug.cgi?id=87193

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestException.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestInterface.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestObj.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(WebCore::toV8):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118275 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Enable the CCLayerTreeHostTestCanDrawBlocksDrawing test in single-threaded mode
https://bugs.webkit.org/show_bug.cgi?id=87308

Reviewed by James Robinson.

Chromium bug: http://crbug.com/127481

Unit test: CCLayerTreeHostTestCanDrawBlocksDrawing.runSingleThread

* tests/CCLayerTreeHostTest.cpp:
(WTF::TestHooks::didCommit):
(WTF):
(WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::didCommit):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG should optimize inlined uses of arguments.length and arguments[i]
https://bugs.webkit.org/show_bug.cgi?id=86327

Reviewed by Gavin Barraclough.
        
Merged r117017 from dfgopt.
        
Turns inlined uses of arguments.length into a constant.
        
Turns inlined uses of arguments[constant] into a direct reference to the
argument.
        
Big win on micro-benchmarks. Not yet a win on V8 because the hot uses of
arguments.length and arguments[i] are aliased. I'll leave the aliasing
optimizations to a later patch.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/DFGExitProfile.h:
(FrequentExitSite):
(JSC::DFG::FrequentExitSite::FrequentExitSite):
(JSC::DFG::QueryableExitProfile::hasExitSite):
(QueryableExitProfile):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGArgumentsSimplificationPhase.cpp: Added.
(DFG):
(ArgumentsSimplificationPhase):
(JSC::DFG::ArgumentsSimplificationPhase::ArgumentsSimplificationPhase):
(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::performArgumentsSimplification):
* dfg/DFGArgumentsSimplificationPhase.h: Added.
(DFG):
* dfg/DFGAssemblyHelpers.cpp:
(JSC::DFG::AssemblyHelpers::executableFor):
(DFG):
* dfg/DFGAssemblyHelpers.h:
(AssemblyHelpers):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getLocalLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::executableFor):
(Graph):
(JSC::DFG::Graph::clobbersWorld):
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToConstant):
(JSC::DFG::Node::convertToGetLocalUnlinked):
(Node):
(JSC::DFG::Node::unlinkedLocal):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::considerAddingAsFrequentExitSiteSlow):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* 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@118278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
auto margins on flexbox should allocate space in the cross direction
https://bugs.webkit.org/show_bug.cgi?id=86913

Reviewed by Ojan Vafai.

Source/WebCore:

Test: css3/flexbox/auto-margins.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis):
(WebCore):
(WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): If we have flex-align: baseline and auto margins, we ignore flex-align: baseline.
(WebCore::RenderFlexibleBox::alignChildren): auto margins apply before flex-align.
* rendering/RenderFlexibleBox.h:

LayoutTests:

* css3/flexbox/auto-margins-expected.html: Added.
* css3/flexbox/auto-margins.html: Added. These are the test cases in the spec.
* css3/flexbox/flex-align-vertical-writing-mode.html: Fix tests with auto margins and add more tests.
Also reduce the height so it's easier to see the test cases (these vertical tests don't check the height).
* css3/flexbox/flex-align.html: Fix tests with auto margins and add more tests.
* css3/flexbox/flex-flow-auto-margins.html: Fix results now that we handle auto in the cross direction.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Prevents assertion from potentially dereferencing null pointer.
https://bugs.webkit.org/show_bug.cgi?id=87290

Patch by David Tseng <dtseng@google.com> on 2012-05-23
Reviewed by Chris Fleizach.

Changes to assertions. Coverage by existing tests.

* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::cellForColumnAndRow):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove the Chromium Grid Layout bot from the waterfall
https://bugs.webkit.org/show_bug.cgi?id=87311

Reviewed by Ryosuke Niwa.

I removed the compiler define in r117613, so we don't need a separate
bot to compile/test this code.

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


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] GraphicsContext should avoid converting rotation angle to degrees
https://bugs.webkit.org/show_bug.cgi?id=87317

Reviewed by Noam Rosenthal.

The angle for rotate is already in radians, so we should take advantage of it
by using QTransform::rotateRadians, rather than converting it back internally.

* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::rotate):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, fix Windows build.

* bytecode/CodeBlock.h:
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canCompileOpcodes):
* dfg/DFGCommon.h:
(DFG):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add seamless layout code (and pass most of the remaining seamless tests)
https://bugs.webkit.org/show_bug.cgi?id=86608

Reviewed by Ojan Vafai.

Source/WebCore:

This patch contains almost all the layout changes needed for seamless iframes.
I removed the scroll-bar avoiding code at the last moment, as it didn't
work for platforms other than mac-lion.  I'll add that, as well as the
HTMLIFrameElement.seamless idl attribute in a follow-up patch.

Seamless iframes piggy-back a bit on the existing frame-flattening
logic, however seamless is different from frame-flattening in a few ways:
- Frame flattening can only ever make an iframe larger (seamless just behaves like a normal div).
- Frame flattening disables scrollbars (seamless frames behave like normal overflow: auto divs).
- Seamless only has to work with iframes (flattening works with frame/frameset as well).
- Seamless support shrink-wrap size negotiation when the iframe is inline.

Test: fast/frames/seamless/seamless-percent-height.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle): map inline -> inline-block for seamless iframes.
* dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
 - Seamless iframes don't manage their own style recalc.
(WebCore::Document::recalcStyle):
 - We should make sure our parent is resolved before we are, but currently that causes some tests to crash
   I don't have a test to demonstrate this need yet, as presumably it's fulfilled through other codepaths atm.
* page/FrameView.cpp:
(WebCore::FrameView::scheduleRelayout): Do the cheaper check first.
(WebCore::FrameView::isInChildFrameWithFrameFlattening): Make frameview layout abort child layouts like how frame flattening does.
* rendering/RenderBox.h:
(WebCore::RenderBox::stretchesToViewport): Disable the stretch-to-viewport quirk for seamless iframes (it makes no sense and breaks the layout code).
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::computeLogicalHeight):
 - This function is needed for the child document to participate in the normal block shrink-wrap algorithm.
   Thankfully all the shrink-wrap logic is in RenderBox instead of RenderBlock. In the future we may make
   RenderIframe a RenderBlock for the seamless case. We may just split RenderIframe into two renderers.
(WebCore::RenderIFrame::computeLogicalWidth):
(WebCore::RenderIFrame::shouldComputeSizeAsReplaced):
 - seamless iframes behave like blocks, not inline replaced elements.
(WebCore):
(WebCore::RenderIFrame::isInlineBlockOrInlineTable):
 - Behave like an inline-block when marked inline.
(WebCore::RenderIFrame::minPreferredLogicalWidth):
 - When asked for our pref widths, return those of our child document.
(WebCore::RenderIFrame::maxPreferredLogicalWidth):
(WebCore::RenderIFrame::isSeamless): helper function
(WebCore::RenderIFrame::contentRootRenderer): helper function
(WebCore::RenderIFrame::flattenFrame): seamless iframes never use the frame-flattening feature.
(WebCore::RenderIFrame::layoutSeamlessly): The guts of seamless layout.
(WebCore::RenderIFrame::layout):
* rendering/RenderIFrame.h:
(WebCore):
(RenderIFrame):

LayoutTests:

Add a test for percent height in child documents, as well as
disabling the expand-to-fill-viewport quirk of html/body elements
in quirks mode.
Also update all the expectations now that we pass almost all the tests.

* fast/frames/seamless/resources/percent-square.html: Added.
* fast/frames/seamless/resources/two-inline-blocks.html:
* fast/frames/seamless/seamless-basic-expected.txt:
* fast/frames/seamless/seamless-float-expected.txt:
* fast/frames/seamless/seamless-inherited-origin-expected.txt:
* fast/frames/seamless/seamless-inherited-origin.html:
* fast/frames/seamless/seamless-inline-expected.txt:
* fast/frames/seamless/seamless-nested-expected.txt:
* fast/frames/seamless/seamless-percent-height-expected.txt: Added.
* fast/frames/seamless/seamless-percent-height.html: Added.
* fast/frames/seamless/seamless-quirks-expected.txt:
* fast/frames/seamless/seamless-sandbox-flag-expected.txt:
* fast/frames/seamless/seamless-sandbox-srcdoc-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118291 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unused declarations in MemoryCache.h
https://bugs.webkit.org/show_bug.cgi?id=87323

It is originated from r75912.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-05-23
Reviewed by Darin Adler.

* loader/cache/MemoryCache.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118292 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (115573): Incorrect rounding of margins for floats
https://bugs.webkit.org/show_bug.cgi?id=87319

Reviewed by Eric Seidel.

Source/WebCore:

In RenderBlock::computeInlinePreferredLogicalWidths we used a float to
accumulate margins for floating children while the children themselves
represent their margins as LayoutUnits. Due to lack of rounding this can
cause the block to be too small at certain certain zoom levels, causing
unwanted wrapping.

This patch changes computeInlinePreferredLogicalWidths to use a
LayoutUnit to accumulate the margins and thus ensures that the margin
values are rounded the same way.

Test: fast/block/float/floats-with-margin-should-not-wrap.html

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

LayoutTests:

Add new test ensuring that using margins with floats doesn't cause
undesired wrapping.

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


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Shadow] drop event is not fired on nodes in Shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=85774

Reviewed by Dimitri Glazkov.

Source/WebCore:

EventHander::updateDragAndDrop re-targets an event to a shadow ancestor node,
however it should be done by adjusting event target. So we don't need to have it.

Tests: fast/dom/shadow/drop-event-for-input-in-shadow.html
       fast/dom/shadow/drop-event-in-shadow.html

* page/EventHandler.cpp:
(WebCore::EventHandler::updateDragAndDrop):

LayoutTests:

Confirms drop event is fired on div and input in Shadow DOM.

* fast/dom/shadow/drop-event-for-input-in-shadow-expected.txt: Added.
* fast/dom/shadow/drop-event-for-input-in-shadow.html: Added.
* fast/dom/shadow/drop-event-in-shadow-expected.txt: Added.
* fast/dom/shadow/drop-event-in-shadow.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118298 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Adjust a target node of a mouse event correctly when a distributed text node is clicked.
https://bugs.webkit.org/show_bug.cgi?id=86999

Reviewed by Dimitri Glazkov.

Source/WebCore:

Make EventHandler::updateMouseEventTargetNode() be aware of shadow dom subtree
so that an insertion point can receive an event when a distributed text node is clicked.

Tests: fast/dom/shadow/shadow-dom-event-dispatching.html

* page/EventHandler.cpp:
(WebCore::EventHandler::updateMouseEventTargetNode):

LayoutTests:

* 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@118299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove an unused setter in CachedResource.h.
https://bugs.webkit.org/show_bug.cgi?id=87324

CachedResource::setInLiveDecodedResourcesList was defined in r24925, but it has
been unused.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-05-23
Reviewed by Darin Adler.

* loader/cache/CachedResource.h:

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