1ex should equal .5em when the font has no x-height metric
https://bugs.webkit.org/show_bug.cgi?id=80360

Patch by Tab Atkins <tabatkins@google.com> on 2012-10-04
Reviewed by Eric Seidel.

Source/WebCore:

Updated FontMetrics and CSSPrimitiveValue to have/use an explicit "hasXHeight" flag to determine how to size an 'ex' unit.

Updated a few of the platform font files to set the flag properly.

Patch cleanup by David Barr <davidbarr@chromium.org>.

Test: fast/css/ex-unit-with-no-x-height.html

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLengthDouble):
* platform/graphics/FontMetrics.h:
(WebCore::FontMetrics::FontMetrics):
(WebCore::FontMetrics::setXHeight):
(FontMetrics):
(WebCore::FontMetrics::hasXHeight):
(WebCore::FontMetrics::setHasXHeight):
(WebCore::FontMetrics::reset):
* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::platformInit):

LayoutTests:

If a font has no x-height metric, 1ex should equal .5em.

Test layout tweaked by David Barr <davidbarr@chromium.org>.

* fast/css/ex-unit-with-no-x-height-expected.txt: Added.
* fast/css/ex-unit-with-no-x-height.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130437 268f45cc-cd09-0410-ab3c-d52691b4dbfc
GTK+ rebaselines after r130411.

* platform/gtk/editing/deleting/delete-block-merge-contents-018-expected.txt:
* platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.txt:
* platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.txt:
* platform/gtk/editing/deleting/delete-block-merge-contents-021-expected.txt:
* platform/gtk/editing/deleting/delete-block-merge-contents-022-expected.txt:
* platform/gtk/editing/deleting/merge-no-br-expected.txt:
* platform/gtk/editing/execCommand/find-after-replace-expected.txt:
* platform/gtk/editing/execCommand/paste-2-expected.txt:
* platform/gtk/editing/pasteboard/4944770-2-expected.txt:
* platform/gtk/editing/pasteboard/5006779-expected.txt:
* platform/gtk/editing/pasteboard/5028447-expected.txt:
* platform/gtk/editing/pasteboard/drag-drop-modifies-page-expected.txt:
* platform/gtk/editing/pasteboard/merge-end-borders-expected.txt:
* platform/gtk/editing/pasteboard/paste-line-endings-008-expected.txt:
* platform/gtk/editing/pasteboard/paste-line-endings-009-expected.txt:
* platform/gtk/editing/pasteboard/paste-line-endings-010-expected.txt:
* platform/gtk/editing/pasteboard/paste-text-008-expected.txt:
* platform/gtk/editing/pasteboard/paste-xml-expected.txt:
* platform/gtk/editing/pasteboard/smart-drag-drop-expected.txt:
* platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.txt:
* platform/gtk/fast/lists/drag-into-marker-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Final part of "sync" to "flush" renaming
https://bugs.webkit.org/show_bug.cgi?id=98430

Reviewed by Tim Horton.

Change method names on GraphicsLayer and GraphicsLayerClient that
refer to "sync" to use the term "flush" instead, to be consistent
with the rest of the code.

Source/WebCore:

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::flushCompositingState):
(WebCore::GraphicsLayer::flushCompositingStateForThisLayerOnly):
* platform/graphics/GraphicsLayerClient.h:
(GraphicsLayerClient):
* platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
(WebCore::GraphicsLayerBlackBerry::notifyFlushRequired):
* platform/graphics/blackberry/LayerWebKitThread.cpp:
(WebCore::LayerWebKitThread::setNeedsCommit):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::flushCompositingState):
(WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
(WebCore::GraphicsLayerCA::positionForCloneRootLayer):
(WebCore::GraphicsLayerCA::noteLayerPropertyChanged):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::notifyChange):
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerTextureMapper::flushCompositingState):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::flushCompositingState):
(WebCore::TextureMapperLayer::flushCompositingStateSelf):
* platform/graphics/texmap/TextureMapperLayer.h:
(TextureMapperLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::notifyFlushRequired):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
* rendering/RenderLayerCompositor.h:
(WebCore::RenderLayerCompositor::notifyFlushRequired):

Source/WebKit/blackberry:

* Api/WebOverlay.cpp:
(BlackBerry::WebKit::WebOverlayPrivateWebKitThread::notifyFlushRequired):
* Api/WebOverlay_p.h:
(WebOverlayPrivateWebKitThread):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::notifyFlushRequired):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebKitSupport/DefaultTapHighlight.cpp:
(BlackBerry::WebKit::DefaultTapHighlight::notifyFlushRequired):
* WebKitSupport/DefaultTapHighlight.h:
(DefaultTapHighlight):
* WebKitSupport/InspectorOverlayBlackBerry.cpp:
(BlackBerry::WebKit::InspectorOverlay::notifyFlushRequired):
* WebKitSupport/InspectorOverlayBlackBerry.h:
(InspectorOverlay):
* WebKitSupport/SelectionOverlay.cpp:
(BlackBerry::WebKit::SelectionOverlay::notifyFlushRequired):
* WebKitSupport/SelectionOverlay.h:
(SelectionOverlay):

Source/WebKit/efl:

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::syncLayersNow):
(WebCore::AcceleratedCompositingContext::attachRootGraphicsLayer):

Source/WebKit/gtk:

* WebCoreSupport/AcceleratedCompositingContext.h:
(AcceleratedCompositingContext):
* WebCoreSupport/AcceleratedCompositingContextCairo.cpp:
(WebKit::AcceleratedCompositingContext::attachRootGraphicsLayer):
(WebKit::AcceleratedCompositingContext::resizeRootLayer):
(WebKit::AcceleratedCompositingContext::syncLayersNow):
(WebKit::AcceleratedCompositingContext::notifyFlushRequired):
* WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
(WebKit::AcceleratedCompositingContext::flushPendingLayerChanges):
(WebKit::AcceleratedCompositingContext::notifyFlushRequired):
* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::flushPendingLayerChanges):
(WebKit::AcceleratedCompositingContext::notifyFlushRequired):

Source/WebKit/mac:

* WebView/WebView.mm:

Source/WebKit/qt:

* WebCoreSupport/PageClientQt.cpp:
(WebCore::TextureMapperLayerClientQt::syncRootLayer):

Source/WebKit/win:

* WebView.cpp:
(WebView::notifyFlushRequired):
(WebView::flushPendingGraphicsLayerChanges):
* WebView.h:

Source/WebKit2:

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
(WebKit::LayerTreeRenderer::flushLayerChanges):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit::LayerTreeRenderer::notifyFlushRequired):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::didChangeLayerState):
(WebCore::CoordinatedGraphicsLayer::didChangeAnimatedProperties):
(WebCore::CoordinatedGraphicsLayer::didChangeChildren):
(WebCore::CoordinatedGraphicsLayer::didChangeFilters):
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::notifyFlushRequired):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
(WebKit::LayerTreeHostCA::notifyFlushRequired):
(WebKit::LayerTreeHostCA::flushPendingLayerChanges):
* WebProcess/WebPage/ca/LayerTreeHostCA.h:
(LayerTreeHostCA):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::notifyFlushRequired):
(WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::notifyFlushRequired):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
More Qt rebaselines after r130411.

* platform/qt/editing/deleting/delete-block-merge-contents-020-expected.txt:
* platform/qt/editing/deleting/delete-block-merge-contents-021-expected.txt:
* platform/qt/editing/pasteboard/5006779-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-007-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-008-expected.txt:
* platform/qt/editing/pasteboard/smart-paste-004-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
TiledCoreAnimationDrawingArea.mm should not include RenderLayerCompositor.h
https://bugs.webkit.org/show_bug.cgi?id=98471

Reviewed by Dean Jackson.

Remove #import of <WebCore/RenderLayerCompositor.h> from this file.
It is not required.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MutationRecord attributeName should be null for non attribute changes
https://bugs.webkit.org/show_bug.cgi?id=98438

Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/mutation/mutation-record-nullity.html

* dom/MutationRecord.idl:

LayoutTests:

* fast/mutation/mutation-record-nullity-expected.txt: Added.
* fast/mutation/mutation-record-nullity.html: Added.


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