[iOS][WK2] Disable text quantization while actively changing the page's scale factor
https://bugs.webkit.org/show_bug.cgi?id=134781

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-09
Reviewed by Tim Horton and Myles C. Maxfield.


Source/WebCore: 
Query the chrome client to setup quantization on each layers.

* page/ChromeClient.h:
(WebCore::ChromeClient::hasStablePageScaleFactor):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFontSubpixelQuantization):

Source/WebKit2: 
While zooming a page, text quantization causes glyphs to "move" in order to get to the closest
boundary for the current scale factor.

We do not want this to happen while dynamically changing the scale factor because the effect
is visible. To avoid this, we disable text quantization if the page's scale factor changes
in response to a non-stable contentRect update.

* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::hasStablePageScaleFactor):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::hasStablePageScaleFactor):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Unreviewed build fix.

Build bots don't have a three-part default version string,
breaking pattern matching. Handle this case.

* win/tools/scripts/auto-version.pl:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fire connected/disconnected events for Gamepads.
https://bugs.webkit.org/show_bug.cgi?id=134386

Reviewed by Dean Jackson.

No new tests (No effect in a currently tested config)

* Modules/gamepad/GamepadManager.cpp:
(WebCore::navigatorGamepadFromDOMWindow): Handling converting a possibly-null Navigator into
    a possibly null NavigatorGamepad.
(WebCore::GamepadManager::platformGamepadConnected): Notify blind Navigator/DOMWindows of all
    previously attached Gamepads, then notify everybody of this new gamepad.
(WebCore::GamepadManager::platformGamepadDisconnected): Handle dispatching the disconnected
    event to all registered DOMWindows.
(WebCore::GamepadManager::platformGamepadInputActivity): Notify blind Navigator/DOMWindows of all
    attached Gamepads.
(WebCore::GamepadManager::makeGamepadVisible): Handles notifying setting up a new gamepads
    with all NavigatorGamepads as well as dispatching the connected even to DOMWindows.
(WebCore::GamepadManager::registerDOMWindow):
(WebCore::GamepadManager::unregisterDOMWindow):
(WebCore::GamepadManager::makeGamepadsVisibileToBlindNavigators): Deleted.
* Modules/gamepad/GamepadManager.h:

* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::gamepadAtIndex):
* Modules/gamepad/NavigatorGamepad.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Buffer CSS and JS resources in network process before sending over to web process
https://bugs.webkit.org/show_bug.cgi?id=134560
<rdar://problem/16737186>

Reviewed by Antti Koivisto.

For CSS and JS resources, ask the network process to buffer the entire resource instead of
sending it to web process in chunks since the web process can't do anything with a partial
css or js file.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):

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