[EFL] gardening after r170864
https://bugs.webkit.org/show_bug.cgi?id=134713

Unreviewed, EFL gardening.

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-07-07

* platform/efl/TestExpectations: Report and mark several unexpected image-only failures.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Subpixel rendering: Inline box decoration rounds to integral.
https://bugs.webkit.org/show_bug.cgi?id=134523
<rdar://problem/17530298>

Reviewed by Darin Adler.

This patch removes 2 integral roundings from InlineFlowBox:
1. Border and padding sizes are implicitly integral truncated by the 'int' return type
   of borderLogicalLeft/Right()/paddingLogicalLeft/Right(). It results in losing
   fractional border/padding values.
2. Painting rectangle is explicitly rounded which pushes border and
   other decoration elements to odd device pixel positions on retina displays.
These values get pixel snapped right before calling in to GraphicsContext::*.

Source/WebCore:
Test: fast/inline/hidpi-inline-text-decoration-with-subpixel-value.html

* rendering/InlineBox.h:
(WebCore::InlineBox::frameRect):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
(WebCore::InlineFlowBox::roundedFrameRect): Deleted.
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::borderLogicalLeft):
(WebCore::InlineFlowBox::borderLogicalRight):
(WebCore::InlineFlowBox::paddingLogicalLeft):
(WebCore::InlineFlowBox::paddingLogicalRight):

LayoutTests:
* fast/inline/hidpi-inline-text-decoration-with-subpixel-value-expected.html: Added.
* fast/inline/hidpi-inline-text-decoration-with-subpixel-value.html: Added.
* platform/mac/css1/formatting_model/inline_elements-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LinkBuffer should not keep a reference to the MacroAssembler
https://bugs.webkit.org/show_bug.cgi?id=134668

Reviewed by Geoffrey Garen.


Source/JavaScriptCore: 
In FTL, the LinkBuffer can outlive the MacroAssembler that was used for code generation.
When that happens, the pointer m_assembler points to released memory. That was not causing
issues because the attribute is not used after linking, but that was not particularily
future proof.

This patch refactors LinkBuffer to avoid any lifetime risk. The MacroAssembler is now passed
as a reference, it is used for linking but no reference is ever stored with the LinkBuffer.

While fixing the call sites to use a reference, I also discovered LinkBuffer.h was included
everywhere. I refactored some #include to avoid that.

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode):
(JSC::LinkBuffer::linkCode):
* assembler/LinkBuffer.h:
(JSC::LinkBuffer::LinkBuffer):
* bytecode/Watchpoint.cpp:
* dfg/DFGDisassembler.cpp:
* dfg/DFGDisassembler.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::linkFunction):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGPlan.cpp:
* dfg/DFGThunks.cpp:
(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::osrEntryThunkGenerator):
* ftl/FTLCompile.cpp:
(JSC::FTL::generateICFastPath):
(JSC::FTL::fixFunctionBasedOnStackMaps):
* ftl/FTLJSCall.cpp:
* ftl/FTLJSCall.h:
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* ftl/FTLLowerDFGToLLVM.cpp:
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* ftl/FTLThunks.cpp:
(JSC::FTL::osrExitGenerationThunkGenerator):
(JSC::FTL::slowPathCallThunkGenerator):
* jit/ArityCheckFailReturnThunks.cpp:
(JSC::ArityCheckFailReturnThunks::returnPCsFor):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
* jit/JITCall.cpp:
(JSC::JIT::privateCompileClosureCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::privateCompileClosureCall):
* jit/JITDisassembler.cpp:
* jit/JITDisassembler.h:
* jit/JITOpcodes.cpp:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::stringGetByValStubGenerator):
* jit/RegisterPreservationWrapperGenerator.cpp:
(JSC::generateRegisterPreservationWrapper):
(JSC::registerRestorationThunkGenerator):
* jit/Repatch.cpp:
(JSC::generateByIdStub):
(JSC::tryCacheGetByID):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):
(JSC::tryRepatchIn):
(JSC::linkClosureCall):
* jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::finalize):
* jit/ThunkGenerators.cpp:
(JSC::throwExceptionFromCallSlowPathGenerator):
(JSC::linkForThunkGenerator):
(JSC::linkClosureCallForThunkGenerator):
(JSC::virtualForThunkGenerator):
(JSC::nativeForGenerator):
(JSC::arityFixup):
* llint/LLIntThunks.cpp:
(JSC::LLInt::generateThunkWithJumpTo):
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::compile):

Source/WebCore: 
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Subpixel rendering: icloud.com password arrow has clipped circle at some window sizes.
https://bugs.webkit.org/show_bug.cgi?id=134710
<rdar://problem/17545291>

Reviewed by Simon Fraser.

Transparent layer clipping needs device pixel snapping.

Source/WebCore:
Test: fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers):

LayoutTests:
* fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position-expected.html: Added.
* fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the build after r170876

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-07

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::linkCode):


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