Subpixel rendering: Make <input type=> and <button> elements' decoration subpixel aware.
https://bugs.webkit.org/show_bug.cgi?id=133812
<rdar://problem/17286309>

Reviewed by Simon Fraser.

Enable <input type=> and <button> decoration painting on subpixel positions.
The theme size is still integral, but its position is snapped to device pixels.
Theme's label, the InlineTextBox is already subpixel position aware.
webkit.org/b/132005 tracks the rest of the themes.

Source/WebCore:
Not testable.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::boundingBoxForQuads): Keep integral snapping for now.
* platform/Theme.h:
(WebCore::Theme::paint):
(WebCore::Theme::inflateControlPaintRect):
* platform/mac/ThemeMac.h:
* platform/mac/ThemeMac.mm:
(WebCore::inflateRect):
(WebCore::configureToggleButton):
(WebCore::sharedRadioCell):
(WebCore::sharedCheckboxCell):
(WebCore::paintToggleButton):
(WebCore::setUpButtonCell):
(WebCore::button):
(WebCore::paintButton):
(WebCore::paintStepper):
(WebCore::ThemeMac::inflateControlPaintRect):
(WebCore::ThemeMac::paint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addVisualOverflowFromTheme): Keep integral snapping for now.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme): Keep integral snapping for now.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::adjustRepaintRect):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::adjustRepaintRect):

LayoutTests:
* platform/mac-mountainlion/compositing/contents-opaque/control-layer-expected.txt:
* platform/mac/compositing/contents-opaque/control-layer-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS][WK2] Do not update the viewport configuration on load until the first viewport arguments is received
https://bugs.webkit.org/show_bug.cgi?id=133719
<rdar://problem/17008149>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-12
Reviewed by Simon Fraser.

When pages are loaded from the page cache, we were updating the viewport to the initial values
in WebPage::dynamicViewportSizeUpdate(), then update the viewport again when the page's viewport argument
are received.

The problem is that was messing up with text autosizing. The page would relayout with the default viewport
configuration, adopt the text autosizing parameters from that size, then remain in that state when
the actual viewport configuration would be set.

With this patch, the viewport configuration is updated from the values in WebCore instead of with default values.
For new documents, this is strictly equivalent. For documents coming from the page cache, the values are from
the previous state of the page, which ensure we do not restart negotiating a viewport configuration from scratch.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):


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