Unreviewed. Fix build break for chromium.

* Platform.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Move compositor HUD font atlas initialization code out of compositor core
https://bugs.webkit.org/show_bug.cgi?id=92924

Reviewed by Adrienne Walker.

Source/Platform:

The chromium compositor does not have any text rendering capabilities. It generally does not need them, but it
is helpful for some debugging aids to be able to render at least ASCII text to the screen. This provides an API
on WebLayerTreeView by which an embedder can provide an ASCII glyph atlas to use for displaying debug
information.

* chromium/public/WebLayerTreeView.h:
(WebLayerTreeView):

Source/WebCore:

This moves the HUD font atlas initialization code out of the compositor implementation to cut out Font-related
dependencies. The new flow is that an embedder can pass a font atlas to the CCLayerTreeHost, after which the
atlas is provided the HUD layer (if any) on the next commit. The HUD layer renders text using the font atlas if
it has any if the settings require text.

HUD tested manually, we don't have automated tests for this debugging-only feature.

* platform/graphics/chromium/CompositorHUDFontAtlas.cpp:
(WebCore):
(WebCore::CompositorHUDFontAtlas::generateFontAtlas):
* platform/graphics/chromium/CompositorHUDFontAtlas.h:
(CompositorHUDFontAtlas):
* platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
(WebCore::HeadsUpDisplayLayerChromium::create):
(WebCore::HeadsUpDisplayLayerChromium::HeadsUpDisplayLayerChromium):
(WebCore::HeadsUpDisplayLayerChromium::setFontAtlas):
(WebCore):
(WebCore::HeadsUpDisplayLayerChromium::createCCLayerImpl):
(WebCore::HeadsUpDisplayLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/HeadsUpDisplayLayerChromium.h:
(HeadsUpDisplayLayerChromium):
* platform/graphics/chromium/cc/CCFontAtlas.cpp:
(WebCore::CCFontAtlas::CCFontAtlas):
* platform/graphics/chromium/cc/CCFontAtlas.h:
(WebCore):
(WebCore::CCFontAtlas::create):
(CCFontAtlas):
* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
(WebCore::CCHeadsUpDisplayLayerImpl::CCHeadsUpDisplayLayerImpl):
(WebCore::CCHeadsUpDisplayLayerImpl::setFontAtlas):
(WebCore):
* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
(WebCore::CCHeadsUpDisplayLayerImpl::create):
(CCHeadsUpDisplayLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::setFontAtlas):
(WebCore):
(WebCore::CCLayerTreeHost::willCommit):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore):
(CCLayerTreeHost):

Source/WebKit/chromium:

This initializes the compositor's font atlas when initialization the compositor if the "Show FPS counter" or
"Show layer tree" settings are true.

* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::setFontAtlas):
(WebKit):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cache support for OpenTypeVerticalData
https://bugs.webkit.org/show_bug.cgi?id=81332

Patch by Koji Ishii <kojiishi@gmail.com> on 2012-08-01
Reviewed by Tony Chang.

This patch adds FontCache to cache OpenTypeVerticalData class
instances that was introduced in bug 81326.

We need one instance of the class per OpenType font file, and we don't
have a class to hold such instances today.

ENABLE_OPENTYPE_VERTICAL isn't enabled for any platforms yet, so this
patch isn't on any code path. Apple Windows port (bug 48459) is going
to use this code, and probably Chromium (51450, 69282) as well.

"FIXME" comment in SimpleFontData.h will be implemented in 48459.

No new tests are required. No behavior changes.

* platform/graphics/FontCache.cpp:
(WebCore::FontCache::getCachedFontPlatformData): Ignore leading "@" on Windows to disable Windows feature for vertical flow.
(WebCore):
(WebCore::FontCache::getVerticalData): Get cached OpenTypeVerticalData from FontPlatformData, or crete one.
(WebCore::FontCache::purgeInactiveFontData): Purge inactive OpenTypeVerticalData.
* platform/graphics/FontCache.h:
(WebCore):
* platform/graphics/SimpleFontData.h:
(SimpleFontData):
(WebCore::SimpleFontData::verticalData): A dummy implementation for purgeInactiveFontData() to work.
* platform/graphics/opentype/OpenTypeVerticalData.h: Added m_inFontCache for mark & sweep.
(OpenTypeVerticalData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG should distinguish between PutByVal's that clobber the world and ones that don't
https://bugs.webkit.org/show_bug.cgi?id=92923

Reviewed by Mark Hahnenberg.

This is performance-neutral. I also confirmed that it's neutral if we make the
clobbering variant (PutByValSafe) clobber all knowledge of what is an array,
which should feed nicely into work on removing uses of ClassInfo.

* bytecode/DFGExitProfile.h:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::checkStructureLoadElimination):
(JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
(JSC::DFG::CSEPhase::putByOffsetStoreElimination):
(JSC::DFG::CSEPhase::getPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::getIndexedPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::byValIsPure):
(JSC::DFG::Graph::clobbersWorld):
* 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::compile):



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