Split InteractiveChartComponent and CommitsViewerComponent into separate files
https://bugs.webkit.org/show_bug.cgi?id=139716

Rubber-stamped by Benjamin Poulain.

Refactored InteractiveChartComponent and CommitsViewerComponent out of app.js into commits-viewer.js
and interactive-chart.js respectively since app.js has gotten really large.

* public/v2/app.js:
* public/v2/commits-viewer.js: Added.
* public/v2/interactive-chart.js: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get rid of a couple of binds in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139717

Reviewed by Sam Weinig.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::postDatabaseTask):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::didShutdownBackingStore):
(WebKit::UniqueIDBDatabase::postMainThreadTask):
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask):
(WebKit::UniqueIDBDatabase::performNextMainThreadTaskWithoutAdoptRef): Deleted.
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::initializeDeadNameSource):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::processLauncherWorkQueue):
(WebKit::ProcessLauncher::ProcessLauncher):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::unprotectPluginFromDestruction):
(WebKit::derefPluginView): Deleted.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix lambda and std::function formatting
https://bugs.webkit.org/show_bug.cgi?id=139719

Reviewed by Sam Weinig.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::getOrigins):
(WebKit::DatabaseProcess::deleteEntriesForOrigin):
(WebKit::DatabaseProcess::deleteEntriesModifiedBetweenDates):
(WebKit::DatabaseProcess::deleteAllEntries):
* DatabaseProcess/DatabaseProcess.h:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::deleteDatabase):
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
(WebKit::UniqueIDBDatabase::openTransaction):
(WebKit::UniqueIDBDatabase::beginTransaction):
(WebKit::UniqueIDBDatabase::commitTransaction):
(WebKit::UniqueIDBDatabase::resetTransaction):
(WebKit::UniqueIDBDatabase::rollbackTransaction):
(WebKit::UniqueIDBDatabase::postTransactionOperation):
(WebKit::UniqueIDBDatabase::changeDatabaseVersion):
(WebKit::UniqueIDBDatabase::createObjectStore):
(WebKit::UniqueIDBDatabase::deleteObjectStore):
(WebKit::UniqueIDBDatabase::clearObjectStore):
(WebKit::UniqueIDBDatabase::createIndex):
(WebKit::UniqueIDBDatabase::deleteIndex):
(WebKit::UniqueIDBDatabase::putRecord):
(WebKit::UniqueIDBDatabase::getRecord):
(WebKit::UniqueIDBDatabase::openCursor):
(WebKit::UniqueIDBDatabase::cursorAdvance):
(WebKit::UniqueIDBDatabase::cursorIterate):
(WebKit::UniqueIDBDatabase::count):
(WebKit::UniqueIDBDatabase::deleteRange):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::store):
* Shared/AsyncTask.h:
(WebKit::AsyncTask::AsyncTask):
* Shared/ChildProcess.cpp:
(WebKit::didCloseOnConnectionWorkQueue):
* Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::WebContextMenuItemData):
* Shared/WebContextMenuItemData.h:
(WebKit::WebContextMenuItemData::selectionHandler):
* Shared/mac/SecItemShim.cpp:
(WebKit::responseMap):
* UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::PluginProcessManager):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::m_processSuppressionDisabledForPageCounter):
* UIProcess/WebOriginDataManagerProxy.cpp:
(WebKit::CallbackSynchronizer::create):
(WebKit::CallbackSynchronizer::CallbackSynchronizer):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(-[WKSelectionHandlerWrapper initWithSelectionHandler:]):
(WebKit::nsMenuItemVector):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::deleteDatabase):
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::openTransaction):
(WebKit::WebIDBServerConnection::beginTransaction):
(WebKit::WebIDBServerConnection::commitTransaction):
(WebKit::WebIDBServerConnection::resetTransaction):
(WebKit::WebIDBServerConnection::rollbackTransaction):
(WebKit::WebIDBServerConnection::setIndexKeys):
(WebKit::WebIDBServerConnection::createObjectStore):
(WebKit::WebIDBServerConnection::createIndex):
(WebKit::WebIDBServerConnection::deleteIndex):
(WebKit::WebIDBServerConnection::get):
(WebKit::WebIDBServerConnection::put):
(WebKit::WebIDBServerConnection::count):
(WebKit::WebIDBServerConnection::deleteRange):
(WebKit::WebIDBServerConnection::clearObjectStore):
(WebKit::WebIDBServerConnection::deleteObjectStore):
(WebKit::WebIDBServerConnection::changeDatabaseVersion):
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
* WebProcess/OriginData/WebOriginDataManagerSupplement.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getOrigins):
(WebKit::WebProcess::deleteEntriesForOrigin):
(WebKit::WebProcess::deleteEntriesModifiedBetweenDates):
(WebKit::WebProcess::deleteAllEntries):
* WebProcess/WebProcess.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement and adopt two new TextIndicator presentation animations
https://bugs.webkit.org/show_bug.cgi?id=139715
<rdar://problem/19237945>

Reviewed by Anders Carlsson.

* WebCore.exp.in:
Adjust one symbol and export another.

* page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithSelectionInFrame):
Take a blue-highlight snapshot if we're doing a crossfade without a bounce.

* page/TextIndicator.h:
(WebCore::TextIndicator::presentationTransition):
Add FadeIn and Crossfade transition types.

* page/mac/TextIndicatorWindow.h:
* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(createBounceAnimation):
(createContentCrossfadeAnimation):
(createShadowFadeAnimation):
(createFadeInAnimation):
(-[WebTextIndicatorView _textIndicatorWantsBounce]):
(-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]):
(-[WebTextIndicatorView _textIndicatorWantsFadeIn]):
Factor out the animation construction.

(-[WebTextIndicatorView _animationDuration]):
Factor out the duration computation.

(-[WebTextIndicatorView present]):
(-[WebTextIndicatorView setAnimationProgress:]):
Implement FadeIn and Crossfade transitions.
They can be driven externally and then continue from where they
left off when the progress reaches 100%.
FadeIn changes the opacity of the whole bubble, Crossfade
crossfades the content (from blue to yellow).

(WebCore::TextIndicatorWindow::TextIndicatorWindow):
(WebCore::TextIndicatorWindow::~TextIndicatorWindow):
Don't immediately destroy the window if it is crossfades or fades in.
Fade it out, instead.

(WebCore::TextIndicatorWindow::setAnimationProgress):
Drive the paused animation manually. If progress hits 100%,
start running it automatically from where it last left off.

(WebCore::TextIndicatorWindow::setTextIndicator):
(WebCore::TextIndicatorWindow::startFadeOut):
(-[WebTextIndicatorView presentWithCompletionHandler:]): Deleted.
(WebCore::TextIndicatorWindow::startFadeOutTimerFired): Deleted.
Remove the completion block from -present.

* platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
Add some SPI.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _showTextIndicator]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView quickLookWithEvent:]):
Remove the completionHandler from text indicator presentation.

* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WebImmediateActionController _menuItemForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForText]):
(-[WebImmediateActionController _showTextIndicator]):
Forward immediate action gesture recognizer animation progress
to TextIndicator. Force us to keep the selection when immediate
action popovers steal first responder status from the WebView.
If the Lookup range is equal to the selection range, use a Crossfade
animation; otherwise, use a FadeIn animation.

* WebView/WebView.mm:
(-[WebView _setMaintainsInactiveSelection:]):
(-[WebView maintainsInactiveSelection]):
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
(-[WebView _setTextIndicator:fadeOut:]):
(-[WebView _clearTextIndicator]):
(-[WebView _setTextIndicatorAnimationProgress:]):
(-[WebView _showDictionaryLookupPopup:]):
(-[WebView _dictionaryLookupPopoverWillClose:]):
(-[WebView _setTextIndicator:fadeOut:animationCompletionHandler:]):
Remove the completionHandler from text indicator presentation.
Add a _setMaintainsInactiveSelection, which allows WebKit internals
to change the return value of -maintainsInactiveSelection, allowing
us to keep the selection alive when the WebView loses first responder status.

* WebView/WebViewData.h:
* WebView/WebViewInternal.h:

* UIProcess/API/mac/WKView.mm:
(-[WKView _setTextIndicator:fadeOut:]):
(-[WKView _setTextIndicatorAnimationProgress:]):
(-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]): Deleted.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setTextIndicatorAnimationProgress):
(WebKit::WebPageProxy::performActionMenuHitTestAtLocation):
* UIProcess/WebPageProxy.h:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
(WebKit::PageClientImpl::didPerformDictionaryLookup):
Remove the completion handler block argument from TextIndicator
installation.
Plumb animation progress through PageClient to TextIndicatorWindow.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WKImmediateActionController _menuItemForDataDetectedText]):
(-[WKImmediateActionController _animationControllerForText]):
Forward immediate action gesture recognizer animation progress
to TextIndicator. Force us to keep the selection when immediate
action popovers steal first responder status from the WebView.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::textIndicatorTransitionForActionMenu):
(WebKit::WebPage::performActionMenuHitTestAtLocation):
Factor out the presentation animation decision code.
For immediate actions, of the Lookup range is equal to the
selection range, use a Crossfade animation; otherwise, use a FadeIn
animation.
Push whether the actionMenuHitTest is for an immediate action
or a menu to the Web process, to make the presentation animation
decision code live entirely in the Web process.
Avoid extracting encoded image data if we know we're doing
an immediate action and will never need it.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Update expected results for LayoutTests/http

* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/http/tests/loading/simple-subframe-expected.txt: Added.
* platform/ios-simulator/http/tests/local/file-url-sent-as-referer-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/acid2-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/acid2-pixel-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/error404-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/favicon-as-image-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/frame-access-during-load-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/generated-content-inside-table-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/iframe404-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/location-replace-crossdomain-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/slow-loading-image-in-pattern-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/slow-loading-mask-expected.txt: Added.
* platform/ios-simulator/http/tests/multipart/invalid-image-data-expected.txt: Added.
* platform/ios-simulator/http/tests/multipart/invalid-image-data-standalone-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/error404-basic-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/error404-goback-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/error404-subframeload-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/javascriptlink-frames-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/postredirect-basic-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/postredirect-goback1-expected.txt: Added.
* platform/ios-simulator/http/tests/uri/css-href-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move WebCore/platform/graphics/surfaces to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=139641

Reviewed by Andreas Kling.

Source/WebCore:

Replace OwnPtr|PassOwnPtr with std::make_unique<>|std::unique_ptr<>.

* platform/graphics/GLContext.cpp:
(WebCore::GLContext::sharingContext):
(WebCore::GLContext::createContextForWindow):
(WebCore::GLContext::createOffscreenContext):
* platform/graphics/GLContext.h:
* platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/GraphicsContext3DPrivate.h:
* platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createPbufferContext):
(WebCore::GLContextEGL::createPixmapContext):
(WebCore::GLContextEGL::createContext):
* platform/graphics/egl/GLContextEGL.h:
* platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::createWindowContext):
(WebCore::GLContextGLX::createPbufferContext):
(WebCore::GLContextGLX::createPixmapContext):
(WebCore::GLContextGLX::createContext):
* platform/graphics/glx/GLContextGLX.h:
* platform/graphics/surfaces/GLTransportSurface.cpp:
(WebCore::GLTransportSurface::createTransportSurface):
(WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
* platform/graphics/surfaces/GLTransportSurface.h:
* platform/graphics/surfaces/GraphicsSurface.h:
* platform/graphics/surfaces/GraphicsSurfaceToken.h:
* platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
* platform/graphics/surfaces/egl/EGLSurface.cpp:
(WebCore::EGLTransportSurface::createTransportSurface):
(WebCore::EGLTransportSurface::createTransportSurfaceClient):
(WebCore::EGLTransportSurface::EGLTransportSurface):
* platform/graphics/surfaces/egl/EGLSurface.h:
* platform/graphics/surfaces/egl/EGLXSurface.cpp:
(WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
* platform/graphics/surfaces/egl/EGLXSurface.h:
* platform/graphics/surfaces/glx/GLXSurface.cpp:
(WebCore::GLXTransportSurface::GLXTransportSurface):
(WebCore::GLXOffScreenSurface::initialize):
* platform/graphics/surfaces/glx/GLXSurface.h:

Source/WebKit2:

* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Update expected results for LayoutTests/fast

* TestExpectations: Added entries fast/parser/document-write-fighting-eof.html and fast/parser/document-write-partial-entity-before-load.html
and removed these entries from the GTK, Mac, and Windows-specific TestExpectation files. These tests are known to fail in debug builds on
all ports. See http://webkit.org/b/110546 for more details.
* platform/gtk/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
[...]
* platform/mac/TestExpectations:
* platform/win/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Adding the forgotten svnprop.

* tools/pull-svn.py: Added property svn:executable.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, EFL build fix since r177427.

* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::setTextIndicatorAnimationProgress): Added.
* UIProcess/CoordinatedGraphics/WebView.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: REGRESSION: Dragging undocked web inspector causes mouse to change from pointer to i-bar cursor over window title
https://bugs.webkit.org/show_bug.cgi?id=139720

Patch by Matt Baker <mattbaker@apple.com> on 2014-12-16
Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js:
Prevent default handling of the mouse event when clicking in the titlebar area. WebCore won't continue handling the event,
but docking buttons/context menu still function.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
TestWebKitAPI should use a static lib to support both Mac and iOS cleanly
https://bugs.webkit.org/show_bug.cgi?id=139718

Reviewed by Mark Rowe.

Change TestWebKitAPI to be more like DumpRenderTree by moving all the source
files into a static lib which the command line utility can link link against.
This will allow us to create a TestWebKitAPI.app that can run on iOS.

* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/Configurations/TestWebKitAPILibrary.xcconfig: Added.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:



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