REGRESSION (r176677): All tests crash on Windows
https://bugs.webkit.org/show_bug.cgi?id=139321

Reviewed by Alexey Proskuryakov.

* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):
Don't call CFRelease on the url while we have an outstanding pointer to its string,
and use the right number of bytes when allocating the testURL buffer.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Gardening: another build fix for GTK builds.

* CMakeLists.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
URTBF after r176849.

* CMakeLists.txt: Added WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
URTBF, remove duplicated entry due to parallel buildfixing.

* CMakeLists.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[JSC][FTL] Add the data layout to the module and fix the pass order.
https://bugs.webkit.org/show_bug.cgi?id=138748

Patch by Juergen Ributzka <juergen@apple.com> on 2014-12-05
Reviewed by Oliver Hunt.

This adds the data layout to the module, so it can be used by all
optimization passes in the LLVM optimizer pipeline. This also allows
FastISel to select more instructions, because less non-legal types are
generated.

Also fix the order of the alias analysis passes in the optimization
pipeline.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Gardening: one more build fix for GTK builds.

* CMakeLists.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get rid of config.h includes and include config.h in the prefix header instead
https://bugs.webkit.org/show_bug.cgi?id=139323

Reviewed by Brent Fulgham.

This is making it easier to share code between WebKit1 for Mac and WebKit1 for Windows.

* AccessibleBase.cpp:
* AccessibleDocument.cpp:
* AccessibleImage.cpp:
* AccessibleTextImpl.cpp:
* CFDictionaryPropertyBag.cpp:
* DOMCSSClasses.cpp:
* DOMCoreClasses.cpp:
* DOMEventsClasses.cpp:
* DOMHTMLClasses.cpp:
* DefaultDownloadDelegate.cpp:
* DefaultPolicyDelegate.cpp:
* ForEachCoClass.cpp:
* FullscreenVideoController.cpp:
* MarshallingHelpers.cpp:
* MemoryStream.cpp:
* WebActionPropertyBag.cpp:
* WebArchive.cpp:
* WebBackForwardList.cpp:
* WebCache.cpp:
* WebCoreStatistics.cpp:
* WebCoreSupport/AcceleratedCompositingContext.cpp:
* WebCoreSupport/EmbeddedWidget.cpp:
* WebCoreSupport/WebChromeClient.cpp:
* WebCoreSupport/WebContextMenuClient.cpp:
* WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
* WebCoreSupport/WebDragClient.cpp:
* WebCoreSupport/WebEditorClient.cpp:
* WebCoreSupport/WebFrameLoaderClient.cpp:
* WebCoreSupport/WebFrameNetworkingContext.cpp:
* WebCoreSupport/WebGeolocationClient.cpp:
* WebCoreSupport/WebInspectorClient.cpp:
* WebCoreSupport/WebInspectorDelegate.cpp:
* WebCoreSupport/WebPlatformStrategies.cpp:
* WebCoreSupport/WebVisitedLinkStore.cpp:
* WebDataSource.cpp:
* WebDatabaseManager.cpp:
* WebDocumentLoader.cpp:
* WebDownload.cpp:
* WebDownloadCFNet.cpp:
* WebDownloadCurl.cpp:
* WebDropSource.cpp:
* WebElementPropertyBag.cpp:
* WebError.cpp:
* WebFrame.cpp:
* WebFramePolicyListener.cpp:
* WebGeolocationPolicyListener.cpp:
* WebGeolocationPosition.cpp:
* WebHTMLRepresentation.cpp:
* WebHistory.cpp:
* WebHistoryItem.cpp:
* WebIconDatabase.cpp:
* WebInspector.cpp:
* WebJavaScriptCollector.cpp:
* WebKitCOMAPI.cpp:
* WebKitClassFactory.cpp:
* WebKitDLL.cpp:
* WebKitGraphics.cpp:
* WebKitLogging.cpp:
* WebKitPrefix.h:
* WebKitStatistics.cpp:
* WebKitSystemBits.cpp:
* WebLocalizableStrings.cpp:
* WebMutableURLRequest.cpp:
* WebNavigationData.cpp:
* WebNodeHighlight.cpp:
* WebNotification.cpp:
* WebNotificationCenter.cpp:
* WebPreferences.cpp:
* WebResource.cpp:
* WebScriptObject.cpp:
* WebScriptWorld.cpp:
* WebSecurityOrigin.cpp:
* WebSerializedJSValue.cpp:
* WebTextRenderer.cpp:
* WebURLAuthenticationChallenge.cpp:
* WebURLAuthenticationChallengeSender.cpp:
* WebURLAuthenticationChallengeSenderCFNet.cpp:
* WebURLAuthenticationChallengeSenderCurl.cpp:
* WebURLCredential.cpp:
* WebURLProtectionSpace.cpp:
* WebURLResponse.cpp:
* WebUserContentURLPattern.cpp:
* WebView.cpp:
* WebWorkersPrivate.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
URTBF, EFL is happy now.

* UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::defaultDataStoreConfiguration):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::createNonPersistent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use the system string for telephone number menu
https://bugs.webkit.org/show_bug.cgi?id=139324
<rdar://problem/18726471>

Reviewed by Anders Carlsson.

* Platform/mac/MenuUtilities.mm:
(WebKit::menuItemTitleForTelephoneNumberGroup):
Make use of the SPI to retrieve the string if it exists.

* WebCore.xcodeproj/project.pbxproj:
* platform/spi/mac/TUCallSPI.h: Added.
Add an SPI header.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use the system string for telephone number menu
https://bugs.webkit.org/show_bug.cgi?id=139324
<rdar://problem/18726471>

* platform/spi/mac/TUCallSPI.h: Added.
Actually add the SPI header from the last commit.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] proj files copying over too many resources..
https://bugs.webkit.org/show_bug.cgi?id=139315.
<rdar://problem/19148278>

Reviewed by Brent Fulgham.

* WebCore.vcxproj/WebCore.proj: Don't copy over bin32 build output.
* WebKit.vcxproj/WebKit.proj: Only copy resource folders and WebKit.dll.
* JavaScriptCore.vcxproj/JavaScriptCore.proj: Only copy resource folders and JavaScriptCore.dll.
* WTF.vcxproj/WTF.proj: Only copy WTF.dll.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176896 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Query -[WAKWindow screenScale] instead of using WKGetScreenScaleFactor()
https://bugs.webkit.org/show_bug.cgi?id=139326

Reviewed by Anders Carlsson.

Ask the window for its screen scale factor instead of calling WKGetScreenScaleFactor()
to query the OS for it. This approach will ensure DumpRenderTree takes the snapshot
using the same scale factor as used in WebKit.

* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView):

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

* platform/spi/mac/TUCallSPI.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Programmatic scrolling and content changes are not always synchronized
https://bugs.webkit.org/show_bug.cgi?id=139245
rdar://problem/18833612

Reviewed by Anders Carlsson.

Manual test that tries to sync layout with programmatic scrolling.

* ManualTests/programmatic-scroll-flicker.html: Added.

Source/WebCore:

For programmatic scrolls, AsyncScrollingCoordinator::requestScrollPositionUpdate()
calls updateScrollPositionAfterAsyncScroll(), then dispatches the requested
scroll position to the scrolling thread.

Once the scrolling thread commits, it calls back to the main thread via
scheduleUpdateScrollPositionAfterAsyncScroll(), which schedules a second
call to updateScrollPositionAfterAsyncScroll() on a timer. That's a problem,
because some other scroll may have happened in the meantime; when the timer
fires, it can sometimes restore a stale scroll position.

Fix by bailing early from scheduleUpdateScrollPositionAfterAsyncScroll()
for programmatic scrolls, since we know that requestScrollPositionUpdate()
already did the updateScrollPositionAfterAsyncScroll().

Test:
    ManualTests/programmatic-scroll-flicker.html

* page/FrameView.cpp:
(WebCore::FrameView::reset): nullptr.
(WebCore::FrameView::setScrollPosition): Ditto.
(WebCore::FrameView::setWasScrolledByUser): Ditto.
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate): Use a local variable for
isProgrammaticScroll just to make sure we use the same value for the duration of this function.
(WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll): Do nothing
if this is a programmatic scroll.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a delegate method for didReceiveServerRedirectForProvisionalLoadForFrame.
https://bugs.webkit.org/show_bug.cgi?id=139325

Add delegate method webProcessPlugInBrowserContextController:didReceiveServerRedirectForProvisionalLoadForFrame: into
WKWebProcessPlugInLoadDelegate to listen to server side redirect in injected bundle.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-12-05
Reviewed by Dan Bernstein.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(didReceiveServerRedirectForProvisionalLoadForFrame):
(setUpPageLoaderClient):

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