[Win] Remove use of 'grep' in build steps
https://bugs.webkit.org/show_bug.cgi?id=134770
<rdar://problem/17608783>

Reviewed by Tim Horton.

Replace uses of the grep command in Windows builds with the equivalent
Perl program.


Source/JavaScriptCore: 
* JavaScriptCore.vcxproj/JavaScriptCorePreBuild.cmd:
* JavaScriptCore.vcxproj/jsc/jscPreBuild.cmd:
* JavaScriptCore.vcxproj/testRegExp/testRegExpPreBuild.cmd:
* JavaScriptCore.vcxproj/testapi/testapiPreBuild.cmd:

Source/WebCore: 
* WebCore.vcxproj/WebCoreGenerated.make:
* WebCore.vcxproj/WebCorePreBuild.cmd:
* platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
(WebCore::WebCoreAVCFResourceLoader::notifyFinished):

Source/WebKit: 
* WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd:
* WebKit.vcxproj/WebKit/WebKitPreBuild.cmd:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd:
* WebKit.vcxproj/WebKitGUID/WebKitGUIDPreBuild.cmd:

Source/WTF: 
* WTF.vcxproj/WTFPreBuild.cmd:

Tools: 
* DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreePreBuild.cmd:
* DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiffPreBuild.cmd:
* DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePluginPreBuild.cmd:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPIPreBuild.cmd:
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibPreBuild.cmd:
* WinLauncher/WinLauncher.vcxproj/WinLauncherPreBuild.cmd:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RemoteLayerBackingStore::ensureBackingStore should ensure that the entire backing store gets redrawn
https://bugs.webkit.org/show_bug.cgi?id=134772

Reviewed by Tim Horton.

* Shared/mac/RemoteLayerBackingStore.h:
(WebKit::RemoteLayerBackingStore::Buffer::operator bool):
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureBackingStore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement Editor::fontAttributesForSelectionStart() or iOS.
https://bugs.webkit.org/show_bug.cgi?id=134771
<rdar://problem/16167838>

Reviewed by Ryosuke Niwa.


Source/WebCore: 
Implement for iOS the equivalent function we have for OS X.

* editing/ios/EditorIOS.mm:
(WebCore::Editor::fontAttributesForSelectionStart):

Source/WebKit/mac: 
* WebView/WebViewPrivate.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use IOSurface ViewSnapshots everywhere on Mac, remove JPEG encoding path
https://bugs.webkit.org/show_bug.cgi?id=134773

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
* UIProcess/mac/ViewSnapshotStore.h:
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshotStore::~ViewSnapshotStore):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshot::clearImage):
(WebKit::ViewSnapshot::asLayerContents):
(WebKit::createIOSurfaceFromImage): Deleted.
(WebKit::compressImageAsJPEG): Deleted.
(WebKit::ViewSnapshotStore::reduceSnapshotMemoryCost): Deleted.
(WebKit::ViewSnapshotStore::didCompressSnapshot): Deleted.
Remove all ViewSnapshot(Store) code related to JPEG-encoded snapshots.
Remove the "image" member on ViewSnapshot; Mac will always start out with an IOSurface instead.
Adopt WebCore::IOSurface::createFromImage to make that happen.
Add a comment noting that if a snapshot comes back empty, we should throw it away completely.

* WebCore.exp.in:
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::createFromImage):
Move make-an-IOSurface-from-a-CGImageRef into WebCore::IOSurface.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS][WK2] subviews of the unscaled view drift out during CA animations
https://bugs.webkit.org/show_bug.cgi?id=134751

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-09
Reviewed by Enrica Casucci.

It is not possible to animate the WKContentView and the inverse view in such a way
that the combined matrix remain the identity for every frame of the animation.

This patch solves the issue by moving the unscaled view as a sibling of WKContentView
instead of a child so that we do not need to update two scales simultaneously.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _processDidExit]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:]):
Set the z scale to 1 or no coordinate transform will work with this view.

(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
* UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
Since we need to observe changes inside the animation block, the code now use KVO to observe changes of scale.

(-[WKContentView cleanupInteraction]):
(-[WKContentView unscaledView]):
(-[WKContentView inverseScale]):
(-[WKContentView observeValueForKeyPath:ofObject:change:context:]):
We update the utility views as usual. The extra bits here are to deal with views coming in during an animation.

If a new utility view comes in during a scaling animation, we do not want to start a new animation with the same curve
to end up at the right place. To avoid any issue, we just hide the view until the animation is finished.

(-[WKContentView hitTest:withEvent:]):
(-[WKContentView _showTapHighlight]):
(-[WKContentView _updateUnscaledView]): Deleted.


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