Build fix.

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Make WebVTT tests less flaky by ensuring captions are set to display
in each test, rather than relying on earlier tests turning captions on. This caused tests to
fail if run out of order.

* media/track/regions-webvtt/vtt-region-display.html: Turn captions on.
* media/track/regions-webvtt/vtt-region-dom-layout.html: Ditto.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove Brian Burg's apple.com email address.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove WebKit1 GTK+ bots
https://bugs.webkit.org/show_bug.cgi?id=130904

Reviewed by Anders Carlsson.

* BuildSlaveSupport/build.webkit.org-config/config.json: Remove references to GTK+ WebKit1 test bot and ensure
all bots are testing WebKit2 only.
* Scripts/webkitpy/common/config/ews.json: Remove references to GTK+ WK1 EWS.
* Scripts/webkitpy/common/config/ports.py: Remove references to GTK+ WK1 bots.
* Scripts/webkitpy/common/config/ports_unittest.py: Ditto.
* Scripts/webkitpy/port/builders.py: Ditto.
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py: Ditto.
* TestResultServer/static-dashboards/builders.jsonp: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
In some situations, partial layouts of floating elements produce incorrect results.
https://bugs.webkit.org/show_bug.cgi?id=122668

Reviewed by David Hyatt.

Source/WebCore:

When performing partial layout of float elements and checking if other float
elements are encountered, incorrect results were obtained by not checking
the size of the existing floats vector.

Test: fast/block/float/floats-in-clean-line-crash.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::checkFloatsInCleanLine):

LayoutTests:

Added test to ensure an assertion is not reached when performing a partial
layout of float elements in certain situations.

* fast/block/float/floats-in-clean-line-crash-expected.txt: Added.
* fast/block/float/floats-in-clean-line-crash.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Removed unused method logChannelByName.
https://bugs.webkit.org/show_bug.cgi?id=130897

Reviewed by Anders Carlsson.

* Platform/Logging.cpp:
(WebKit::logChannelByName): Deleted.
* Platform/Logging.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Don't cancel composition on selection change
https://bugs.webkit.org/show_bug.cgi?id=130909

Reviewed by Enrica Casucci.

Fixing a recent regression from bug 130727.

* WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move sync CancelComposition message under an ifdef
https://bugs.webkit.org/show_bug.cgi?id=130908

Reviewed by Enrica Casucci.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::cancelComposition): Deleted.
* UIProcess/mac/WebPageProxyMac.mm:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] Enable async text input implementation
https://bugs.webkit.org/show_bug.cgi?id=130856

Reviewed by Sam Weinig.

Source/WebKit2: 

* UIProcess/API/mac/WKView.mm: (-[WKView _interpretKeyEvent:completionHandler:]):
Temporarily work around <rdar://16393434>.

Source/WTF: 

* wtf/Platform.h: Added a USE macro definition.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add willSubmitForm callback support to WKWebProcessPlugInFormDelegatePrivate.

https://bugs.webkit.org/show_bug.cgi?id=130875

Patch by Cody Krieger <cjk@apple.com> on 2014-03-28
Reviewed by Anders Carlsson.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h:
Add -_webProcessPlugInBrowserContextController:willSubmitForm:toFrame:fromFrame:withValues:
to the WKWebProcessPlugInFormDelegatePrivate protocol.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
Wire up the willSubmitForm() callback to the new
WKWebProcessPlugInFormDelegatePrivate method.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Replay: add page-level setting to bypass the MemoryCache
https://bugs.webkit.org/show_bug.cgi?id=130728

Reviewed by Timothy Hatcher.

Source/WebCore:

When replaying a specific Page we don't want to store its cached resources in the
MemoryCache. This patch adds a page setting to prevent the page's resources from
being saved in the MemoryCache.

If Settings::usesMemoryCache() is false, page resources are given the special
SessionID bypassCacheSessionID(). The cached resource loader and memory cache
act as if the memory cache is disabled if the resource has this special session id.

Hook up ReplayController to override the memory cache setting during capture/replay.

Test: http/tests/cache/bypass-memory-cache-after-reload.html

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::add):
* page/Page.cpp:
(WebCore::Page::sessionID):
* page/SessionID.h:
(WebCore::SessionID::bypassCacheSessionID):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setUsesMemoryCache):
(WebCore::Settings::usesMemoryCache):
* replay/ReplayController.cpp:
(WebCore::ReplayController::setForceDeterministicSettings):
* replay/ReplayController.h:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setUsesMemoryCache):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

Source/WebKit2:

* UIProcess/APISession.cpp:
(API::generateID): update the base ID for generating unique sessions.

LayoutTests:

Mac WebKit2 needs different expectations because of resource load timing characteristics
introduced by the interaction of Settings::usesMemoryCache and NetworkProcess.

* http/tests/cache/bypass-memory-cache-after-reload-expected.txt: Added.
* http/tests/cache/bypass-memory-cache-after-reload.html: Added.
* platform/mac-wk2/http/tests/cache/bypass-memory-cache-after-reload-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Enable Media Track testing features on Windows
https://bugs.webkit.org/show_bug.cgi?id=130851

Reviewed by Eric Carlson.

* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Execute code on Windows as well.
(WebCore::Internals::Internals): Ditto.
(WebCore::Internals::captionsStyleSheetOverride): Ditto.
(WebCore::Internals::setCaptionsStyleSheetOverride): Ditto.
(WebCore::Internals::setPrimaryAudioTrackLanguageOverride): Ditto.
(WebCore::Internals::setCaptionDisplayMode): Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Really drop all locks in nested run loop on iOS if WebThread is enabled
https://bugs.webkit.org/show_bug.cgi?id=130912

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-03-28
Reviewed by Geoffrey Garen.

Previously we were calling DropAllLocks inside of a single line if statement,
so the JSLock was getting reaquired very quickly. We really want to DropAllLocks
for the duration of running the nested run loop on iOS if there is a WebThread.

* bindings/js/PageScriptDebugServer.h:
* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
(WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Add myself as a committer.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166437 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: AXI: expose what elements get generic "clickable" status
https://bugs.webkit.org/show_bug.cgi?id=130721

Patch by James Craig <jcraig@apple.com> on 2014-03-28
Reviewed by Timothy Hatcher.

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
Test: inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html

Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

Update AccessibilityNodeObject::mouseButtonListener() to optionally return body element if
    requested so that Web Inspector can display body event delegate handlers.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::mouseButtonListener):
* accessibility/AccessibilityNodeObject.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/protocol/DOM.json:

Source/WebInspectorUI:

Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

* Localizations/en.lproj/localizedStrings.js: New "Mouse Event" string.
* UserInterface/Models/DOMNode.js: Added nodeId and mouseEventNodeId.
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI for new detail row.

LayoutTests:

Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Simple coverage of mouseEventNodeId.
* inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId-expected.txt: Added.
* inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html: Added. Full coverage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: console.warn is showing as error instead of warning
https://bugs.webkit.org/show_bug.cgi?id=130921

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-03-28
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* runtime/ConsolePrototype.cpp:
(JSC::consoleProtoFuncWarn):
console.warn should be MessageLevel Warning, not Error.

Source/WebInspectorUI:

* UserInterface/Models/DefaultDashboard.js:
(WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
Use our enums instead of hardcoded strings.

LayoutTests:

Add a test for console.log, warn, error, etc to make sure they get
to the frontend with the expected source and level.

* inspector-protocol/console/console-message-expected.txt: Added.
* inspector-protocol/console/console-message.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
mandreel throws a checksum error on 32-bit x86.
<https://webkit.org/b/125706>

Reviewed by Filip Pizlo.

The 32-bit DFG can emit code that loads double constants from its
CodeBlock's m_constantRegisters vector.  The emitted instruction will
embed the address of the constant from the vector's backing store.
Subsequently, while inserting new constants, the DFG may resize the
vector, thereby reallocating the backing store.  This renders the
previously embedded constant addresses stale.

The fix is to use a dedicated doubles constant pool stored in the DFG
CommonData instead.  This constant pool won't be reallocated, and
hence will not manifest this issue.

* dfg/DFGCommonData.h:
* dfg/DFGGraph.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::addressOfDoubleConstant):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addressOfDoubleConstant): Deleted.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Have the plugin process track visibility of it’s plugin and sleep when none
are visible.
Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
https://bugs.webkit.org/show_bug.cgi?id=130694

Reviewed by Anders Carlsson.

Currently AppSleep is enabled on the PluginProcess based on web page visibility.
Add visibility tracking to plugins and move the decision to AppSleep into the the
PluginProcess

* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::PluginProcess): Add a new activity for visible plugins
(WebKit::PluginProcess::pluginsForWebProcessDidBecomeVisible): take an activity
     assertion if any web processes have a visible plugin.
(WebKit::PluginProcess::pluginsForWebProcessDidBecomeHidden):
* PluginProcess/PluginProcess.h:
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::removePluginControllerProxy): remove plugin from
    visible plugins when destroying it
(WebKit::WebProcessConnection::pluginDidBecomeVisible):
(WebKit::WebProcessConnection::pluginDidBecomeHidden): track which plugins are
    visible for each web process
* PluginProcess/WebProcessConnection.h:
* PluginProcess/mac/PluginControllerProxyMac.mm:
(WebKit::PluginControllerProxy::windowVisibilityChanged): notify WebProcessConnection
    when visibility changed.
* UIProcess/WebContext.h:
* UIProcess/mac/WebContextMac.mm:  instead of tracking plugin app sleep state on the web pref.
    and visibility state, just use the web pref.
(WebKit::WebContext::updateProcessSuppressionState):
(WebKit::WebContext::processSuppressionPreferenceIsEnabledForAllContexts):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Notification handler for telling if audio hardware is active.
https://bugs.webkit.org/show_bug.cgi?id=130743

Reviewed by Jer Noble.

Not web-exposed so no easy way to test.

Listen to CoreAudio to see if audio hardware is active in the current process.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/audio/AudioHardwareListener.cpp: Added.
(WebCore::AudioHardwareListener::create):
(WebCore::AudioHardwareListener::AudioHardwareListener):
* platform/audio/AudioHardwareListener.h: Added.
(WebCore::AudioHardwareListener::Client::~Client):
(WebCore::AudioHardwareListener::~AudioHardwareListener):
(WebCore::AudioHardwareListener::isHardwareActive):
* platform/audio/mac/AudioHardwareListenerMac.cpp: Added.
(WebCore::isAudioHardwareProcessRunning):
(WebCore::AudioHardwareListener::create):
(WebCore::AudioHardwareListenerMac::create):
(WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):
(WebCore::AudioHardwareListenerMac::~AudioHardwareListenerMac):
(WebCore::AudioHardwareListenerMac::setHardwareActive):
* platform/audio/mac/AudioHardwareListenerMac.h: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Rename pluginDidEvaluate to better represent when it’s called.
Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.

Reviewed by Anders Carlsson.

No new test because it’s just a name change.

* page/PageThrottler.h:
(WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):

Source/WebKit2: Stop waking up the web process in the background because of plugin activity.
Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.

Reviewed by Anders Carlsson.

Plugin activity in the background can constantly wake up web processes.  This is only
necessary when audio is playing to support web apps like Pandora and youtube playing
in the background.  Use a new api in CoreAudio to see if there is audio playing in
the PluginProcess.

* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::PluginProcess): Add a AudioHardwareListener
(WebKit::PluginProcess::createWebProcessConnection): tell web process current state
(WebKit::PluginProcess::audioHardwareDidBecomeActive): respond to audio hardware notifications
(WebKit::PluginProcess::audioHardwareDidBecomeInactive):
* PluginProcess/PluginProcess.h:
* PluginProcess/WebProcessConnection.cpp: tell WebProcess when audio state in PluginProcess
     changes.
(WebKit::WebProcessConnection::audioHardwareDidBecomeActive):
(WebKit::WebProcessConnection::audioHardwareDidBecomeInactive):
* PluginProcess/WebProcessConnection.h:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
     Only invoke pageThrottler activity when playing audio
(WebKit::NPRuntimeObjectMap::evaluate):
* WebProcess/Plugins/Plugin.h: add function to get audio state
(WebKit::Plugin::audioIsPlayingInPluginProcess):
* WebProcess/Plugins/PluginProcessConnection.cpp: store audio state
(WebKit::PluginProcessConnection::PluginProcessConnection):
(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::audioHardwareDidBecomeActive):
(WebKit::PluginProcessConnection::audioHardwareDidBecomeInactive):
* WebProcess/Plugins/PluginProcessConnection.h:
(WebKit::PluginProcessConnection::audioIsPlaying):
* WebProcess/Plugins/PluginProcessConnection.messages.in:
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::audioIsPlayingInPluginProcess):
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::audioIsPlayingInPluginProcess):
* WebProcess/Plugins/PluginView.h:

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