Add ChromeClient::isPlayingAudioDidChange().
https://bugs.webkit.org/show_bug.cgi?id=137220

Reviewed by Jer Noble.

This is called when the Page's m_isPlayingAudio changes.

No new tests, no behavior change.

* page/ChromeClient.h:
(WebCore::ChromeClient::isPlayingAudioDidChange):
* page/Page.cpp:
(WebCore::Page::updateIsPlayingAudio):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
build.webkit.org/dashboard: Add commit queue
https://bugs.webkit.org/show_bug.cgi?id=137462

Reviewed by Tim Horton.

Generalizes EWS into "bubble queue", which also includes commit queue and style queue.
Style queue is still invisible, as it doesn't have an associated platform, and also
we never have problems with it anyway, so it's not worth watching.

The UI now allows for adding more bots to the Other column (such as leaks bot).
To make that actually happen, we'll need to refactor QueueView, allowing for multiple
sources of data in a cell.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueue.js: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js.
(BubbleQueue):
(BubbleQueue.prototype.get statusPageURL):
(BubbleQueue.prototype.update):
(BubbleQueue.prototype.loadDetailedStatus):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js.
(BubbleQueueServer):
(BubbleQueueServer.prototype.jsonQueueLengthURL):
(BubbleQueueServer.prototype.jsonQueueStatusURL):
(BubbleQueueServer.prototype.queueStatusURL):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueView.js: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js.
(BubbleQueueView):
(BubbleQueueView.prototype.update.appendQueue):
(BubbleQueueView.prototype.update):
(BubbleQueueView.prototype._addQueueHeadingToPopover):
(BubbleQueueView.prototype._popoverContentForBubbleQueue):
(BubbleQueueView.prototype._presentPopoverForBubbleQueue):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js: Removed.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js: Removed.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js: Removed.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:
(.bubble-server-popover .popover-queue-heading .queue-charts-link):
(.bubble-server-popover .latest-status-no-link):
(.bubble-server-popover .bot-status-description):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsMain.js:
(buildAggregateTable):
(buildQueuesTable):
Removed dysfunctional support for EWS for now. It will be different.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't attempt to paint into zero-sized backing store
https://bugs.webkit.org/show_bug.cgi?id=137465

Reviewed by Tim Horton.

Page scale could cause the backing store for a small composited element to become empty,
in which case we'd try to allocate, and paint into a graphics context with no surface
behind it.

Fix by bailing from RemoteLayerBackingStore::display() when checking the backing store
size after accounting for scale.

* Shared/mac/RemoteLayerBackingStore.h:
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::backingStoreSize):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::display):

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

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Update exports for
64-bit symbol names.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] We are spending too much time serializing ProtectionSpace objects
https://bugs.webkit.org/show_bug.cgi?id=137367

Reviewed by Dan Bernstein.

When profiling the load of nytimes.com, I noticed that we were spending
a lot of CPU time serializing ProtectionSpace objects (in particular
the NSURLProtectionSpace platform data):
- 5.6% of CPU time for Network Process
- 2.5% of CPU time for WebProcess

Serializing an NSURLProtectionSpace seems to be costly due to server
trust verification. We do this for every sub-resource load over HTTPS
due to the canAuthenticateAgainstProtectionSpace() callback for server
trust validation, from the NetworkProcess to the WebProcess and then to
the UIProcess.

This patch adds a WKContextSetCanHandleHTTPSServerTrustEvaluation(bool)
WK2 private API that the client can call to indicate that it cannot
handle HTTPS server trust evaluation and that it is thus unnecessary to
call the canAuthenticateAgainstProtectionSpace() callback for such
evaluations. This reduces the amount of IPC between the process and
thus the number of times we have to serialize the ProtectionSpace.

In the case of the nytimes.com load, there is no longer any
ProtectionSpace serialization happening as
canAuthenticateAgainstProtectionSpace() was only called for HTTPS
server trust evaluation.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setCanHandleHTTPSServerTrustEvaluation):
* NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::canHandleHTTPSServerTrustEvaluation):
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
* UIProcess/API/C/WKContext.cpp:
(WKContextSetCanHandleHTTPSServerTrustEvaluation):
* UIProcess/API/C/WKContextPrivate.h:
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _setCanHandleHTTPSServerTrustEvaluation:]):
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::setCanHandleHTTPSServerTrustEvaluation):
* UIProcess/WebContext.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (Simple Line Layout): Inline block baselines computed incorrectly
https://bugs.webkit.org/show_bug.cgi?id=137461

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/inline-block/simple-line-layout.html

* rendering/SimpleLineLayoutFunctions.h:
(WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
(WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
Fix the baseline computation functions in simple line layout to
use lineCount rather than runCount.

LayoutTests:

* fast/inline-block/simple-line-layout-expected.html: Added.
* fast/inline-block/simple-line-layout.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixed compiler warnings on Windows build.
<https://webkit.org/b/135205>

Reviewed by Geoffrey Garen.

Benchmarking with jsc shows that perf is neutral with this change.

* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::call):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* dfg/DFGArgumentPosition.h:
(JSC::DFG::ArgumentPosition::mergeShouldNeverUnbox):
(JSC::DFG::ArgumentPosition::mergeArgumentUnboxingAwareness):
* dfg/DFGEdge.h:
(JSC::DFG::Edge::makeWord):
* dfg/DFGNodeFlags.h:
(JSC::DFG::nodeMayOverflow):
(JSC::DFG::nodeMayNegZero):
* dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::reifyInlinedCallFrames):
* dfg/DFGVariableAccessData.cpp:
(JSC::DFG::VariableAccessData::mergeIsCaptured):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::mergeIsProfitableToUnbox):
(JSC::DFG::VariableAccessData::mergeStructureCheckHoistingFailed):
(JSC::DFG::VariableAccessData::mergeCheckArrayHoistingFailed):
(JSC::DFG::VariableAccessData::mergeIsArgumentsAlias):
(JSC::DFG::VariableAccessData::mergeIsLoadedFrom):
* runtime/JSDataViewPrototype.cpp:
(JSC::getData):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@174371 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed merge fix for r174279.
https://bugs.webkit.org/show_bug.cgi?id=137097

* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont):

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