build.webkit.org/dashboard says "failed build" even if it's another step that failed
https://bugs.webkit.org/show_bug.cgi?id=126461

Reviewed by Geoffrey Garen.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus): Link to main
build page if it's not the compilation that failed. Use text from buildbot for description.
Show a yellow icon if it's a different kind of failure.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype.update): Record whether it was compile-webkit step that failed.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove SPI, user default for disabling process suppression
https://bugs.webkit.org/show_bug.cgi?id=126458

Reviewed by Sam Weinig.

* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKContextGetProcessSuppressionEnabled):
(WKContextSetProcessSuppressionEnabled):
    - depracated SPI.
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
    - depracated SPI.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
    - removed m_processSuppressionEnabled.
* UIProcess/WebContext.h:
    - removed setProcessSuppressionEnabled, processSuppressionEnabled implementation,
      processSuppressionEnabledChanged, m_processSuppressionEnabled.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitialize):
    - removed m_processSuppressionEnabled.
(WebKit::WebContext::processSuppressionEnabled):
    - check whether all pages in all processes are suppressible.
(WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
    - removed call to omitProcessSuppression, m_processSuppressionEnabled -> processSuppressionEnabled().
(WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
    - removed call to omitProcessSuppression, processSuppressionEnabled (we don't care if a page in a difference process is not suppresible).
(WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):
    - removed call to omitProcessSuppression, s_processSuppressionEnabledForAllContexts -> processSuppressionIsEnabledForAllContexts().



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161291 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Cocoa] Expose session state API
https://bugs.webkit.org/show_bug.cgi?id=126463

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new property and method.
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController sessionState]): Added. Calls WebPageProxy::sessionStateData.
(-[WKBrowsingContextController restoreFromSessionState:]): Added. Calls
WebPageProxy::restoreFromSessionState.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161292 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Give all PlatformCALayers a PlatformLayerID, not just remote ones
https://bugs.webkit.org/show_bug.cgi?id=126466

Reviewed by Tim Horton.

Source/WebCore:

The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
which is confusing, and is necessary because the underlying PlatformLayer
inside a GraphicsLayer can change. In order to hide some of this complexity,
expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
can hold onto to test for underlying layer swapping.

Also constify LayerType m_layerType on PlatformCALayer, which required
cleaning up the construction of PlatformCALayerMac in the case where a
PlatformCALayerMac is wrapping an existing CALayer (which happens for video).

* WebCore.exp.in:
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::primaryLayerID):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::primaryLayerID):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::generateLayerID):
(WebCore::PlatformCALayer::PlatformCALayer):
* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::layerID):
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::create):
(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::commonInit):

Source/WebKit2:

The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
which is confusing, and is necessary because the underlying PlatformLayer
inside a GraphicsLayer can change. In order to hide some of this complexity,
expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
can hold onto to test for underlying layer swapping.

GraphicsLayerCARemote and PlatformCALayerRemote can now just use the
primaryLayerID() function exposed via the base class.

* WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
* WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::PlatformCALayerRemote):
(PlatformCALayerRemote::recursiveBuildTransaction):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161293 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WebGL] CGLPixelFormat should specify SampleBuffer and Sample count when using MSAA
https://bugs.webkit.org/show_bug.cgi?id=126468

Reviewed by Dean Jackson.

Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html

* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::setPixelFormat): Add kCGLPFAMultisample, kCGLPFASampleBuffers (and count), and
kCGLPFASamples (and count) to our pixel format when 'antialias=true'.
(WebCore::GraphicsContext3D::GraphicsContext3D): Pass a new 'antialias' flag to the setPixelFormat
method so we can turn on MSAA features when needed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
It's confusing to have two elements link to the same URL at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126467

Reviewed by Geoffrey Garen.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:
(StatusLineView): Don't linkify the label text, the bubble is easier to target with mouse
pointer, or to tap.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161295 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] [WK2] TileController creates all tiles on first paint, making it slow and consuming lots of memory
https://bugs.webkit.org/show_bug.cgi?id=126457

Reviewed by Simon Fraser.

Instead of making all of the tiles all of the time, we should use the
view-exposed-rect mechanism to inform TileController about what portion
of the WKContentView is currently exposed by the WKScrollView.

* UIProcess/API/ios/WKContentView.h:
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView setViewportSize:]):
(-[WKContentView didFinishScrollTo:]):
(-[WKContentView didScrollTo:]):
Inform the WebPageProxy that our exposed rect changed.

* UIProcess/API/ios/WKView.mm:
(-[WKView scrollViewDidScroll:]):
Inform the WKContentView that we've scrolled at all.
Rename the existing WKContentView didScrollTo: to didFinishScrollTo:,
because it is expected to only fire when a scroll lands. Add didScrollTo:,
which fires continually as scrolling progresses.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::viewExposedRectChanged):
(WebKit::WebPageProxy::exposedRectChangedTimerFired):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::viewExposedRect):
* UIProcess/mac/WebPageProxyMac.mm:
Move view-exposed-rect stuff to WebPageProxy so it can be built on both
Mac and iOS, and un-!PLATFORM(IOS) some of the related members.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::setExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::mainFrameTiledBacking):
Steal TiledCoreAnimationDrawingArea's exposed-rect code.
Note that on iOS, we don't need to manually offset the exposed rect by
the scroll position, because the scroll position is already baked into
the exposed rect, and WebCore's notion of the scroll position will be
inaccurate until the scroll lands.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161296 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WebGL] Blit operation from Multisample FBO to rendering FBO must ignore GL_SCISSOR test
https://bugs.webkit.org/show_bug.cgi?id=126470
<rdar://problem/15201370>

Reviewed by Dean Jackson.

Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html

* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Temporarily deactivate the GL_SCISSOR
test while we do our blit, then reactivate if necessary.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r161274.
http://trac.webkit.org/changeset/161274
https://bugs.webkit.org/show_bug.cgi?id=126475

Volates ECMA and WebGL Specification (Requested by bfulgham on
#webkit).

* webgl/1.0.2/resources/webgl_test_files/conformance/typedarrays/data-view-test.html:

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