WebKit-https.git
7 years agoRemove some unneeded code noticed while looking at StylePendingImage
darin@apple.com [Thu, 12 Dec 2013 08:44:32 +0000 (08:44 +0000)]
Remove some unneeded code noticed while looking at StylePendingImage
https://bugs.webkit.org/show_bug.cgi?id=125618

Reviewed by Andreas Kling.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.

* rendering/RenderImageResource.cpp: Removed unneeded nullImage and
usesImageContainerSize member functions.
(WebCore::RenderImageResource::image): Use Image::nullImage directly instead of
through RenderImageResourceImage::nullImage.

* rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize
and nullImage functions. Also removed unneeded includes.

* rendering/RenderImageResourceStyleImage.h: Removed unneeded
usesImageContainerSize override. Nobody was calling it.

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

7 years ago[WK2] Build fix after r160464
gyuyoung.kim@samsung.com [Thu, 12 Dec 2013 04:01:26 +0000 (04:01 +0000)]
[WK2] Build fix after r160464
https://bugs.webkit.org/show_bug.cgi?id=125615

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2013-12-11
Reviewed by Gyuyoung Kim.

Modify the 2nd parameter for calling WebContext::addMessageReceiver from "this" to "*this"
because the parameter type is modified from CoreIPC::MessageReceiver* to CoreIPC::MessageReceiver&

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
* UIProcess/WebBatteryManagerProxy.cpp:
(WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
* UIProcess/WebNetworkInfoManagerProxy.cpp:
(WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
* UIProcess/WebVibrationProxy.cpp:
(WebKit::WebVibrationProxy::WebVibrationProxy):
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
* WebProcess/Battery/WebBatteryManager.cpp:
(WebKit::WebBatteryManager::WebBatteryManager):
* WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
(WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestManager::WebSoupRequestManager):

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

7 years agoVersioning.
lforschler@apple.com [Thu, 12 Dec 2013 02:47:12 +0000 (02:47 +0000)]
Versioning.

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

7 years agoAdd the CFNetwork implementation of the asynchronous ResourceHandle
benjamin@webkit.org [Thu, 12 Dec 2013 01:56:25 +0000 (01:56 +0000)]
Add the CFNetwork implementation of the asynchronous ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=124440

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-11
Reviewed by Alexey Proskuryakov.

Add a second subclass of ResourceHandleCFURLConnectionDelegate: ResourceHandleCFURLConnectionDelegateWithOperationQueue.
The difference is those objects handle the network callback on a different queue.

Some common code has been refactored in ResourceHandleCFURLConnectionDelegate to reduce duplicated code.

The initialization of the request and connection is moved to the subclass to clean up initialization.

* WebCore.xcodeproj/project.pbxproj:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.cpp:
(WebCore::ResourceHandleClient::willCacheResponseAsync):
* platform/network/ResourceHandleClient.h:
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: Added.
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::~ResourceHandleCFURLConnectionDelegateWithOperationQueue):
(WebCore::connectionWasCancelled):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupConnectionScheduling):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueShouldUseCredentialStorage):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: Copied from Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueWillSendRequest):
(WebCore::ResourceHandle::continueDidReceiveResponse):
(WebCore::ResourceHandle::continueShouldUseCredentialStorage):
(WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueWillCacheResponse):
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegate::releaseHandle):
(WebCore::ResourceHandleCFURLConnectionDelegate::synthesizeRedirectResponseIfNecessary):
(WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupConnectionScheduling):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillSendRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueDidReceiveResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueShouldUseCredentialStorage):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillCacheResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueCanAuthenticateAgainstProtectionSpace):
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:

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

7 years agocheck-webkit-style shouldn't check spacing in #if preprocessor lines
commit-queue@webkit.org [Thu, 12 Dec 2013 01:26:03 +0000 (01:26 +0000)]
check-webkit-style shouldn't check spacing in #if preprocessor lines
https://bugs.webkit.org/show_bug.cgi?id=125534

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-11
Reviewed by Ryosuke Niwa.

Preprocessor lines that start with #if shouldn't have to adhere to
the same spacing requirements that regular code does

* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_spacing_for_binary_ops):
(WebKitStyleTest.test_line_breaking):

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

7 years ago[Win] Build fix after r159768.
commit-queue@webkit.org [Wed, 11 Dec 2013 23:38:23 +0000 (23:38 +0000)]
[Win] Build fix after r159768.
https://bugs.webkit.org/show_bug.cgi?id=125467

Patch by Alex Christensen <achristensen@webkit.org> on 2013-12-11
Reviewed by Brent Fulgham.

* WebKit.vcxproj/WebKit/WebKitVersion.cmd:
Set PATH environment variable to include cygwin bin directory.

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

7 years agoMessageReceiverMap should take MessageReceiver objects by reference
andersca@apple.com [Wed, 11 Dec 2013 23:36:53 +0000 (23:36 +0000)]
MessageReceiverMap should take MessageReceiver objects by reference
https://bugs.webkit.org/show_bug.cgi?id=125605

Reviewed by Tim Horton.

* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::addMessageReceiver):
* Platform/CoreIPC/MessageReceiverMap.h:
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::AuthenticationManager):
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::addMessageReceiver):
* Shared/ChildProcess.h:
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::addMessageReceiver):
* Shared/ChildProcessProxy.h:
* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::createDownloadProxy):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::DrawingAreaProxy):
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
* UIProcess/WebConnectionToWebProcess.cpp:
(WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::addMessageReceiver):
* UIProcess/WebContext.h:
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::WebIconDatabase):
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
* UIProcess/WebOriginDataManagerProxy.cpp:
(WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
* UIProcess/WebResourceCacheManagerProxy.cpp:
(WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::WebCookieManager):
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::WebGeolocationManager):
* WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
(WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy):
* WebProcess/MediaCache/WebMediaCacheManager.cpp:
(WebKit::WebMediaCacheManager::WebMediaCacheManager):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::WebNotificationManager):
* WebProcess/OriginData/WebOriginDataManager.cpp:
(WebKit::WebOriginDataManager::WebOriginDataManager):
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::WebResourceCacheManager):
* WebProcess/Storage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::StorageAreaMap):
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::WebDatabaseManager):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

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

7 years ago[Win] Unreviewed link fix.
alex.christensen@flexsim.com [Wed, 11 Dec 2013 23:17:20 +0000 (23:17 +0000)]
[Win] Unreviewed link fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Corrected 64-bit linker symbols.

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

7 years agoDefine m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
ddkilzer@apple.com [Wed, 11 Dec 2013 23:15:45 +0000 (23:15 +0000)]
Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
<http://webkit.org/b/125329>

Reviewed by Darin Adler.

Source/WebCore:

No tests since this is a build fix for:

    $ ./Tools/Scripts/build-webkit --release OTHER_CFLAGS="$inherited -DADDRESS_SANITIZER=1"

* rendering/InlineBox.cpp:
* rendering/InlineBox.h:
- Replace ASSERT_DISABLED use with
  ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for m_hasBadParent.

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::~InlineFlowBox):
- Use !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED instead of
  #ifndef NDEBUG since this calls setHasBadParent().
(WebCore::InlineFlowBox::checkConsistency):
- Move ASSERT(!m_hasBadChildList) outside of
  #if CHECK_CONSISTENCY and change to
  ASSERT_WITH_SECURITY_IMPLICATION(!m_hasBadChildList).

* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::InlineFlowBox):
(WebCore::InlineFlowBox::setHasBadChildList):
- Change #ifndef NDEBUG to
  #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for code using
  m_hasBadChildList.

Source/WTF:

* wtf/Assertions.h: Define macro
ASSERT_WITH_SECURITY_IMPLICATION_DISABLED based on whether
ASSERT_WITH_SECURITY_IMPLICATION() is enabled.

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

7 years agocheck-webkit-style can't determine if a comma is part of an initialization list
commit-queue@webkit.org [Wed, 11 Dec 2013 23:05:52 +0000 (23:05 +0000)]
check-webkit-style can't determine if a comma is part of an initialization list
https://bugs.webkit.org/show_bug.cgi?id=125537

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-11
Reviewed by Darin Adler.

The original check to make sure that initialization list lines start with
a comma didn't distinguish between commas that belong to the initialization
list and commas that are part of function calls. Because we don't want to
match parentheses with regular expressions, we should weaken this check to
only check for commas at the end of initialization list lines.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_member_initialization_list):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_member_initialization_list):

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

7 years agoType punning error in MD5.cpp
commit-queue@webkit.org [Wed, 11 Dec 2013 23:00:08 +0000 (23:00 +0000)]
Type punning error in MD5.cpp
https://bugs.webkit.org/show_bug.cgi?id=125412

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-11
Reviewed by Darin Adler.

* wtf/MD5.cpp:
(WTF::toLittleEndian): Renamed, and use memcpy instead of casting.
(WTF::MD5::addBytes): Renamed reverseBytes to toLittleEndian.
(WTF::MD5::checksum): Same, and use memcpy instead of casting to prevent type punning error.

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

7 years agoMake it possible to compare layout test results between various configurations of...
timothy_horton@apple.com [Wed, 11 Dec 2013 22:47:07 +0000 (22:47 +0000)]
Make it possible to compare layout test results between various configurations of WebKit
https://bugs.webkit.org/show_bug.cgi?id=125212
<rdar://problem/15199108>

Reviewed by Darin Adler.

* Scripts/compare-webkit-configurations: Added.
Add a script that allows comparison between the "normal" WebKit configuration
used for testing and a different configuration (e.g. with accelerated drawing
turned on, with the remote layer tree enabled, or WebKit1 vs WebKit2), like so:

compare-webkit-configurations -2 --comparison=accelerated-drawing compositing/background-color

This script runs the tests once in the default configuration, ignoring
all test expectations, writing the results out to a temporary directory.

It then runs the tests again in the modified configuration, against the
just-written temporary results.

Ref tests are treated as pixel tests, with their pixel output dumped to disk.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
(initializeGlobalsFromCommandLineOptions):
Enable accelerated drawing if requested.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
Add --accelerated-drawing and --remote-layer-tree feature switches, which
are forwarded on to the test drivers.
Move those two and --complex-text into their own "feature switches" section.
Drive-by change "Mac OS X" to "OS X".
Add --treat-ref-tests-as-pixel-tests option, which treats ref tests
as traditional pixel tests (with PNGs dumped on disk), and
ignores e.g. -expected.html files.

* Scripts/webkitpy/port/base.py:
(Port.reference_files):
Pretend that there are no ref tests.
Since is_reference_html_file is intact, our mechanism to ignore
the expected files will continue working in this case.

* Scripts/webkitpy/port/driver.py:
(Driver.cmd_line):
Forward --accelerated-drawing and --remote-layer-tree to DRT/WKTR.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::TestController::initialize):
(WTR::TestController::resetPreferencesToConsistentValues):
* WebKitTestRunner/TestController.h:
(WTR::TestController::shouldUseRemoteLayerTree):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::updateThreadedScrollingForCurrentTest):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
Parse and implement the three feature switches.

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

7 years ago[WebGL] Fix build on GL ES 2.0 targets after r160119
commit-queue@webkit.org [Wed, 11 Dec 2013 22:46:47 +0000 (22:46 +0000)]
[WebGL] Fix build on GL ES 2.0 targets after r160119
https://bugs.webkit.org/show_bug.cgi?id=125541

Patch by Ralph Thomas <ralpht@gmail.com> on 2013-12-11
Reviewed by Brent Fulgham.

GL ES 2.0 doesn't define GL_HALF_FLOAT_ARB, so pass through HALF_FLOAT_OES (which is defined for GL ES 2.0).
This change also reverts r160324 which incorrectly defined GL_HALF_FLOAT_ARB for the Windows ANGLE target.

No new tests, no change in functionality.

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::texSubImage2D):

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

7 years agoWeb Inspector: Push More Inspector Required Classes Down into JavaScriptCore
joepeck@webkit.org [Wed, 11 Dec 2013 22:40:23 +0000 (22:40 +0000)]
Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=125324

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
* JavaScriptCore.vcxproj/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bindings/ScriptFunctionCall.cpp: Renamed from Source/WebCore/bindings/js/ScriptFunctionCall.cpp.
* bindings/ScriptFunctionCall.h: Renamed from Source/WebCore/bindings/js/ScriptFunctionCall.h.
* bindings/ScriptObject.cpp: Copied from Source/WebCore/inspector/WorkerConsoleAgent.cpp.
* bindings/ScriptObject.h: Renamed from Source/WebCore/inspector/InspectorBaseAgent.h.
* bindings/ScriptValue.cpp: Renamed from Source/WebCore/bindings/js/ScriptValue.cpp.
* bindings/ScriptValue.h: Renamed from Source/WebCore/bindings/js/ScriptValue.h.
* inspector/InspectorAgentBase.h: Copied from Source/WebCore/inspector/InspectorAgentRegistry.h.
* inspector/InspectorAgentRegistry.cpp: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.cpp.
* inspector/InspectorBackendDispatcher.h: Renamed from Source/WebCore/inspector/InspectorBackendDispatcher.h.
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
(Inspector::InspectorSupplementalBackendDispatcher::~InspectorSupplementalBackendDispatcher):
* inspector/InspectorValues.cpp: Renamed from Source/WebCore/inspector/InspectorValues.cpp.
* inspector/InspectorValues.h: Renamed from Source/WebCore/inspector/InspectorValues.h.

Source/WebCore:

Part 1: Push down core inspector classes.

  - Move InspectAgentBase, InspectorAgentRegistry, InspectorBackendDispatcher, InspectorValues
    down to JavaScriptCore and into the Inspector namespace.
  - Add forwarding headers for JavaScriptCore/inspector files.
  - Use the Inspector namespace where appropriate.
  - Rename InspectorBaseAgent to InspectorAgentBase for clarity.

Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.

  - Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
  - Add forwarding headers
  - Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.

Part 3: Push Down ScriptFunctionCall

  - Move ScriptFunctionCall to JavaScriptCore/bindings into namespace Deprecated.
  - Give constructor a function to all for a different JSC::call, because
    WebCore ScriptFunctionCall's use JSMainThreadExecState when isMainThread.
  - Prefer Deprecated::ScriptFunctionCall everywhere it is used in WebCore.

Part 4: Extract InspectorTypeBuilder helper functions

  - There is a chunk of InspectorTypeBuilder that never changes. Extract it into
    its own file, InspectorTypeBuilder.h in JSC/inspector, Inspector namespace.
  - This moves TypeBuilder from namespace WebCore to namespace Inspector
  - Rename the WebCore generated InspectorTypeBuilder to InspectorWebTypeBuilders,
    eventually the CodeGenerator script will do this for more then TypeBuilders
    and there will be "JS" TypeBuilders and "Web" TypeBuilders files.

No new tests. No change in functionality, just moving things around.

* CMakeLists.txt:
* ForwardingHeaders/bindings/ScriptFunctionCall.h: Added.
* ForwardingHeaders/bindings/ScriptObject.h: Added.
* ForwardingHeaders/bindings/ScriptValue.h: Added.
* ForwardingHeaders/inspector/InspectorAgentBase.h: Added.
* ForwardingHeaders/inspector/InspectorAgentRegistry.h: Added.
* ForwardingHeaders/inspector/InspectorBackendDispatcher.h: Added.
* ForwardingHeaders/inspector/InspectorTypeBuilder.h: Added.
* ForwardingHeaders/inspector/InspectorValues.h: Added.
* GNUmakefile.am:
* GNUmakefile.list.am:
* Modules/indexeddb/IDBAny.cpp:
(WebCore::IDBAny::scriptValue):
(WebCore::IDBAny::IDBAny):
* Modules/indexeddb/IDBAny.h:
* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::key):
(WebCore::IDBCursor::primaryKey):
(WebCore::IDBCursor::value):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::setValueReady):
* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::cmp):
* Modules/indexeddb/IDBFactory.h:
* Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
* Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
* Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::lowerValue):
(WebCore::IDBKeyRange::upperValue):
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
* Modules/indexeddb/IDBKeyRange.h:
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::generateIndexKeysForValue):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::count):
* Modules/indexeddb/IDBObjectStore.h:
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::setResultCursor):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::onSuccessInternal):
* Modules/indexeddb/IDBRequest.h:
* Modules/mediastream/CapabilityRange.cpp:
(WebCore::scriptValue):
(WebCore::CapabilityRange::min):
(WebCore::CapabilityRange::max):
* Modules/mediastream/CapabilityRange.h:
* Modules/mediastream/MediaTrackConstraint.h:
* Modules/mediastream/RTCIceCandidate.cpp:
* Modules/plugins/QuickTimePluginReplacement.cpp:
* Modules/plugins/QuickTimePluginReplacement.h:
* UseJSC.cmake:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/Dictionary.h:
(WebCore::Dictionary::getEventListener):
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::canInjectIDBKeyIntoScriptValue):
(WebCore::deserializeIDBValue):
(WebCore::deserializeIDBValueBuffer):
(WebCore::idbKeyToScriptValue):
(WebCore::scriptValueToIDBKey):
* bindings/js/IDBBindingUtilities.h:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDictionary.h:
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::scriptValueAsNode):
(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::inspectedObject):
(WebCore::JSInjectedScriptHost::inspect):
* bindings/js/JSInjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
* bindings/js/JSMainThreadExecState.cpp:
(WebCore::functionCallHandlerFromAnyThread):
* bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::currentState):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data):
(WebCore::handleInitMessageEvent):
* bindings/js/ScheduledAction.cpp:
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptArguments):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::executeScriptInWorld):
(WebCore::ScriptController::executeScript):
(WebCore::ScriptController::executeIfJavaScriptURL):
* bindings/js/ScriptController.h:
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setScriptSource):
(WebCore::ScriptDebugServer::updateCallStack):
(WebCore::ScriptDebugServer::dispatchDidPause):
(WebCore::ScriptDebugServer::runScript):
* bindings/js/ScriptDebugServer.h:
* bindings/js/ScriptGlobalObject.cpp: Renamed from Source/WebCore/bindings/js/ScriptObject.cpp.
(WebCore::handleException):
(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):
* bindings/js/ScriptGlobalObject.h: Copied from Source/WebCore/inspector/ScriptCallStack.h.
(WebCore::ScriptGlobalObject::ScriptGlobalObject):
* bindings/js/ScriptObject.h: Removed.
* bindings/js/ScriptProfile.cpp:
(WebCore::buildInspectorObjectFor):
(WebCore::ScriptProfile::buildInspectorObjectForHead):
(WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
* bindings/js/ScriptProfile.h:
* bindings/js/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::objectByHeapObjectId):
(WebCore::ScriptProfiler::getHeapObjectId):
* bindings/js/ScriptProfiler.h:
* bindings/js/ScriptState.h:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::deserializeForInspector):
(WebCore::SerializedScriptValue::serialize):
(WebCore::SerializedScriptValue::deserialize):
* bindings/js/SerializedScriptValue.h:
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):
* bindings/js/WorkerScriptController.h:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjAnyAttribute):
* dom/CustomEvent.cpp:
(WebCore::CustomEvent::initCustomEvent):
* dom/CustomEvent.h:
(WebCore::CustomEvent::detail):
* dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::initMessageEvent):
* dom/MessageEvent.h:
(WebCore::MessageEvent::create):
(WebCore::MessageEvent::dataAsScriptValue):
* dom/PopStateEvent.h:
(WebCore::PopStateEvent::state):
* dom/ScriptElement.cpp:
* html/HTMLMediaElement.cpp:
* html/parser/XSSAuditor.cpp:
* html/parser/XSSAuditorDelegate.cpp:
* inspector/CodeGeneratorInspector.py:
(RawTypes.BaseType.get_raw_validator_call_text):
(RawTypes.Object.get_array_item_raw_c_type_text):
(RawTypes.Any.get_array_item_raw_c_type_text):
(RawTypes.Array.get_array_item_raw_c_type_text):
(CommandReturnPassModel.OptOutput.get_return_var_type):
(CommandReturnPassModel.OptOutput.get_output_parameter_type):
(TypeModel.ExactlyInt.get_input_param_type_text):
(TypeModel.ExactlyInt.get_opt_output_type_):
(TypeModel.init_class):
(TypeBindings.create_named_type_declaration.Helper):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
(TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
(Inspector):
(ArrayBinding.get_array_item_c_type_text):
(Generator.go):
(Generator.process_command):
* inspector/CodeGeneratorInspectorStrings.py:
(void):
(InspectorFrontend_h):
(InspectorBackendDispatchers_h):
* inspector/ConsoleMessage.cpp:
(WebCore::messageSourceValue):
(WebCore::messageTypeValue):
(WebCore::messageLevelValue):
(WebCore::ConsoleMessage::addToFrontend):
* inspector/ConsoleMessage.h:
* inspector/ContentSearchUtils.cpp:
(WebCore::ContentSearchUtils::buildObjectForSearchMatch):
(WebCore::ContentSearchUtils::searchInTextByLines):
* inspector/ContentSearchUtils.h:
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::InjectedScript):
(WebCore::InjectedScript::evaluate):
(WebCore::InjectedScript::callFunctionOn):
(WebCore::InjectedScript::evaluateOnCallFrame):
(WebCore::InjectedScript::getFunctionDetails):
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::getInternalProperties):
(WebCore::InjectedScript::nodeForObjectId):
(WebCore::InjectedScript::releaseObject):
(WebCore::InjectedScript::wrapCallFrames):
(WebCore::InjectedScript::wrapObject):
(WebCore::InjectedScript::wrapTable):
(WebCore::InjectedScript::wrapNode):
(WebCore::InjectedScript::findObjectById):
(WebCore::InjectedScript::inspectNode):
(WebCore::InjectedScript::releaseObjectGroup):
(WebCore::InjectedScript::nodeAsScriptValue):
* inspector/InjectedScript.h:
* inspector/InjectedScriptBase.cpp:
(WebCore::InjectedScriptBase::InjectedScriptBase):
(WebCore::InjectedScriptBase::initialize):
(WebCore::InjectedScriptBase::injectedScriptObject):
(WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
(WebCore::InjectedScriptBase::makeCall):
(WebCore::InjectedScriptBase::makeEvalCall):
* inspector/InjectedScriptBase.h:
* inspector/InjectedScriptCanvasModule.cpp:
(WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
(WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
(WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
(WebCore::InjectedScriptCanvasModule::markFrameEnd):
(WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
(WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
(WebCore::InjectedScriptCanvasModule::traceLog):
(WebCore::InjectedScriptCanvasModule::replayTraceLog):
(WebCore::InjectedScriptCanvasModule::resourceInfo):
(WebCore::InjectedScriptCanvasModule::resourceState):
* inspector/InjectedScriptCanvasModule.h:
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::inspectImpl):
(WebCore::InjectedScriptHost::InspectableObject::get):
* inspector/InjectedScriptHost.h:
* inspector/InjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::injectedScriptFor):
* inspector/InjectedScriptManager.h:
* inspector/InjectedScriptModule.cpp:
(WebCore::InjectedScriptModule::ensureInjected):
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::InspectorAgent):
(WebCore::InspectorAgent::didCreateFrontendAndBackend):
(WebCore::InspectorAgent::inspect):
* inspector/InspectorAgent.h:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::SelectorProfile::toInspectorObject):
(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getStyleSheet):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::stopSelectorProfiler):
(WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::collectStyleSheets):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
(WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorCanvasInstrumentation.h:
(WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
* inspector/InspectorClient.cpp:
* inspector/InspectorClient.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
(WebCore::InspectableHeapObject::get):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
(WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::breakpointActionTypeForString):
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
(WebCore::scriptToInspectorObject):
(WebCore::InspectorDebuggerAgent::searchInContent):
(WebCore::InspectorDebuggerAgent::setScriptSource):
(WebCore::InspectorDebuggerAgent::getFunctionDetails):
(WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
(WebCore::InspectorDebuggerAgent::compileScript):
(WebCore::InspectorDebuggerAgent::runScript):
(WebCore::InspectorDebuggerAgent::currentCallFrames):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::didContinue):
(WebCore::InspectorDebuggerAgent::clear):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorForwarding.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
* inspector/InspectorFrontendHost.cpp:
(WebCore::FrontendMenuProvider::create):
(WebCore::FrontendMenuProvider::disconnect):
(WebCore::FrontendMenuProvider::FrontendMenuProvider):
(WebCore::FrontendMenuProvider::contextMenuItemSelected):
(WebCore::FrontendMenuProvider::contextMenuCleared):
(WebCore::InspectorFrontendHost::showContextMenu):
* inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
(WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
(WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
(WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorInputAgent.cpp:
(WebCore::InspectorInputAgent::InspectorInputAgent):
(WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
* inspector/InspectorInputAgent.h:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorOverlay.cpp:
* inspector/InspectorOverlay.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::getResourceTree):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::searchInResources):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::createProfileHeader):
(WebCore::InspectorProfilerAgent::createSnapshotHeader):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore::InspectorProfilerAgent::getCPUProfile):
(WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
(WebCore::InspectorProfilerAgent::getHeapObjectId):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::InspectorResourceAgent):
* inspector/InspectorResourceAgent.h:
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
(WebCore::buildErrorRangeObject):
(WebCore::InspectorRuntimeAgent::parse):
(WebCore::InspectorRuntimeAgent::evaluate):
(WebCore::InspectorRuntimeAgent::callFunctionOn):
(WebCore::InspectorRuntimeAgent::getProperties):
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorStyleSheet::canBind):
* inspector/InspectorStyleTextEditor.cpp:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
(WebCore::InspectorTimelineAgent::setDOMCounters):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::sendEvent):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
* inspector/InspectorWebAgentBase.h: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.h.
(WebCore::InspectorAgentBase::InspectorAgentBase):
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
* inspector/InspectorWorkerAgent.h:
* inspector/InstrumentingAgents.cpp:
* inspector/NetworkResourcesData.cpp:
* inspector/PageConsoleAgent.cpp:
(WebCore::InspectableNode::get):
* inspector/PageDebuggerAgent.cpp:
* inspector/PageDebuggerAgent.h:
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
* inspector/PageRuntimeAgent.h:
* inspector/ScriptArguments.cpp:
(WebCore::ScriptArguments::create):
(WebCore::ScriptArguments::ScriptArguments):
(WebCore::ScriptArguments::argumentAt):
(WebCore::ScriptArguments::getFirstArgumentAsString):
* inspector/ScriptArguments.h:
* inspector/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h:
* inspector/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::buildInspectorArray):
* inspector/ScriptCallStack.h:
* inspector/ScriptDebugListener.h:
* inspector/TimelineRecordFactory.cpp:
* inspector/TimelineRecordFactory.h:
(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):
* inspector/WorkerConsoleAgent.cpp:
* inspector/WorkerDebuggerAgent.cpp:
* inspector/WorkerInspectorController.cpp:
* inspector/WorkerInspectorController.h:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
* inspector/WorkerRuntimeAgent.h:
* page/Console.cpp:
* page/ContentSecurityPolicy.cpp:
* page/Frame.cpp:
* page/PageConsole.cpp:
* plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):
* testing/Internals.cpp:
(WebCore::Internals::parserMetaData):
* testing/Internals.h:
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::createConnectEvent):
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::importScripts):
* workers/WorkerThread.cpp:
* xml/XMLTreeViewer.cpp:
* xml/parser/XMLDocumentParser.cpp:
* xml/parser/XMLDocumentParserLibxml2.cpp:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/blackberry:

* Api/WebPage.cpp:

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* ewk/ewk_frame.cpp:

Source/WebKit/gtk:

* webkit/webkitwebview.cpp:

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
* WebCoreSupport/WebInspectorClient.mm:
* WebView/WebFrame.mm:
* WebView/WebView.mm:

Source/WebKit/win:

* WebFrame.cpp:
* WebView.cpp:

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performJavaScriptURLRequest):
* WebProcess/WebPage/WebInspector.cpp:
* WebProcess/WebPage/WebInspector.h:
* WebProcess/WebPage/WebPage.cpp:

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

7 years agoStore SHA1 hash in std::array
commit-queue@webkit.org [Wed, 11 Dec 2013 22:31:07 +0000 (22:31 +0000)]
Store SHA1 hash in std::array
https://bugs.webkit.org/show_bug.cgi?id=125446

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-11
Reviewed by Darin Adler.

Change Vector to std::array and use typedef.

Source/JavaScriptCore:

* bytecode/CodeBlockHash.cpp:
(JSC::CodeBlockHash::CodeBlockHash):

Source/WebCore:

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::createDigest):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::HostTLSCertificateSet::computeCertificateHash):

Source/WTF:

* wtf/SHA1.cpp:
(WTF::SHA1::computeHash):
(WTF::SHA1::hexDigest):
(WTF::SHA1::computeHexDigest):
* wtf/SHA1.h:

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

7 years agoWebCrypto keys should support structured clone
ap@apple.com [Wed, 11 Dec 2013 22:13:55 +0000 (22:13 +0000)]
WebCrypto keys should support structured clone
https://bugs.webkit.org/show_bug.cgi?id=125590

Reviewed by Oliver Hunt.

Source/WebCore:

Tests: crypto/subtle/aes-postMessage.html
       crypto/subtle/hmac-postMessage.html
       crypto/subtle/postMessage-worker.html
       crypto/subtle/rsa-postMessage.html

* crypto/CryptoAlgorithmIdentifier.h:
(WebCore::CryptoAlgorithmIdentifier):
* bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
AES_KW was added to WebCrypto spec editor's draft yesterday night. Now that we're
adding a matching enum for structired clone serialization, it's as good a time as
any to update the order of values to match.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::countUsages):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::read):
(WebCore::CloneDeserializer::readHMACKey):
(WebCore::CloneDeserializer::readAESKey):
(WebCore::CloneDeserializer::readRSAKey):
(WebCore::CloneDeserializer::readCryptoKey):
(WebCore::CloneDeserializer::readTerminal):
Added serialization/deserialization for CryptoKey. This doesn't update version
number, because we don't currently store structured clones in persistent storage -
and even if we did, we wouldn't want to invalidate everything users already stored.

* crypto/CryptoAlgorithmRegistry.cpp:
(WebCore::CryptoAlgorithmRegistry::shared):
(WebCore::registryMutex):
(WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
(WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
(WebCore::CryptoAlgorithmRegistry::create):
(WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
* crypto/CryptoKey.idl:
With structured clone, it is now possible to send a Key to a web worker. That's
of no practical use because the crypto API is not exposed in workers, but we
shouldn't crash anyway.

* crypto/keys/CryptoKeyAES.cpp:
(WebCore::CryptoKeyAES::CryptoKeyAES):
(WebCore::CryptoKeyAES::isValidAESAlgorithm):
* crypto/keys/CryptoKeyAES.h:
Exposed isValidAESAlgorithm, so that a caller could know whether the constructor
will assert.

* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.vcxproj/WebCoreCommon.props:
Added crypto/keys to search paths to avoid build breakage.

LayoutTests:

* crypto/subtle/aes-postMessage-expected.txt: Added.
* crypto/subtle/aes-postMessage.html: Added.
* crypto/subtle/hmac-postMessage-expected.txt: Added.
* crypto/subtle/hmac-postMessage.html: Added.
* crypto/subtle/postMessage-worker-expected.txt: Added.
* crypto/subtle/postMessage-worker.html: Added.
* crypto/subtle/rsa-postMessage-expected.txt: Added.
* crypto/subtle/rsa-postMessage.html: Added.
* crypto/subtle/resources/postMessage-worker.js: Added.

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

7 years ago<https://webkit.org/b/125141> Modernize the JavaScriptCore API headers
mrowe@apple.com [Wed, 11 Dec 2013 22:13:23 +0000 (22:13 +0000)]
<https://webkit.org/b/125141> Modernize the JavaScriptCore API headers
<rdar://problem/15540121>

This consists of three main changes:
1) Converting the return type of initializer methods to instancetype.
2) Declaring properties rather than getters and setters.
3) Tagging C API methods with information about their memory management semantics.

Changing the declarations from getters and setters to properties also required
updating the headerdoc in a number of places.

Reviewed by Anders Carlsson.

* API/JSContext.h:
* API/JSContext.mm:
* API/JSManagedValue.h:
* API/JSManagedValue.mm:
* API/JSStringRefCF.h:
* API/JSValue.h:
* API/JSVirtualMachine.h:
* API/JSVirtualMachine.mm:

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

7 years agoGive Unique StringImpls a meaningful data pointer
oliver@apple.com [Wed, 11 Dec 2013 22:06:13 +0000 (22:06 +0000)]
Give Unique StringImpls a meaningful data pointer
https://bugs.webkit.org/show_bug.cgi?id=125598

Reviewed by Michael Saboff.

Found by code inspection.  If there is a collision in an Identifier
table when comparing to a string literal we attempt to use the data
pointer (essentially this ends up being a null termination check).

Previously unique pointers just used the literal 1 as the data address
but this obviously fails when dereferenced.  Instead we now make the
data pointer point to the location of the buffer pointer itself.  As
the buffer pointer is initialised to 0, this satisfies the requirement
that the 0-length unique string is null terminated.

* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):

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

7 years ago<https://webkit.org/b/125559> Move JavaScriptCore off the legacy WebKit availability...
mrowe@apple.com [Wed, 11 Dec 2013 22:06:11 +0000 (22:06 +0000)]
<https://webkit.org/b/125559> Move JavaScriptCore off the legacy WebKit availability macros

The legacy WebKit availability macros are verbose, confusing, and provide no benefit over
using the system availability macros directly. The original vision was that they'd serve
a cross-platform purpose but that never came to be.

Map from WebKit version to OS X version based on the mapping in WebKitAvailability.h.
All iOS versions are specified as 7.0 as that is when the JavaScriptCore C API was made
public.

Part of <rdar://problem/15512304>.

Reviewed by Anders Carlsson.

* API/JSBasePrivate.h:
* API/JSContextRef.h:
* API/JSContextRefPrivate.h:
* API/JSObjectRef.h:
* API/JSValueRef.h:

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

7 years agoWeb Inspector: [CSS Shapes] Highlight margin-shape for shape-outside
betravis@adobe.com [Wed, 11 Dec 2013 21:33:08 +0000 (21:33 +0000)]
Web Inspector: [CSS Shapes] Highlight margin-shape for shape-outside
https://bugs.webkit.org/show_bug.cgi?id=125175

Reviewed by Darin Adler.

Source/WebCore:

In addition to highlighting the shape, also highlight the shape created
by shape-margin with a slightly more transparent color. This patch modifies
the shape info passed to the Inspector Overlay to include a path for both
the raw shape and the shape with margin.

Test: inspector-protocol/model/highlight-shape-outside-margin.html

* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForShapeOutside): Call Shape::buildDisplayPaths rather than
Shape::buildPath, and pass along any relevant paths to the Inspector overlay.
* inspector/InspectorOverlayPage.js:
(_drawShapeHighlight): Draw the margin shape in addition to the raw shape.
* rendering/shapes/BoxShape.cpp:
(WebCore::addRoundedRect): Add a rounded rect to the path.
(WebCore::BoxShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
* rendering/shapes/BoxShape.h:
* rendering/shapes/PolygonShape.cpp:
(WebCore::addPolygon): Add a set of vertices as a polygon to the path.
(WebCore::PolygonShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
* rendering/shapes/PolygonShape.h:
* rendering/shapes/RasterShape.h:
(WebCore::RasterShape::buildDisplayPaths): Ditto.
* rendering/shapes/RectangleShape.cpp:
(WebCore::RectangleShape::buildDisplayPaths): Ditto.
* rendering/shapes/RectangleShape.h:
* rendering/shapes/Shape.h:

LayoutTests:

Test that the shape and margin-shape are properly passed to the Inspector Overlay.
Arcs for rounded rectangles, circles, and ellipses are approximated using the same
bezier curve method present in Path.cpp.

* inspector-protocol/model/highlight-shape-outside-margin.html: Added.
* inspector-protocol/model/highlight-shape-outside.html: Updating shape-outside info model.
* inspector-protocol/resources/shape-info-helper.js: Adding utilities to compare alternate
  path formats.

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

7 years ago[ATK] Expose accessibility objects WAI-ARIA landmark roles
mario.prada@samsung.com [Wed, 11 Dec 2013 19:49:39 +0000 (19:49 +0000)]
[ATK] Expose accessibility objects WAI-ARIA landmark roles
https://bugs.webkit.org/show_bug.cgi?id=125584

Reviewed by Chris Fleizach.

Source/WebCore:

Exposed accessibility objects with landmark roles with the proper
AtkRole, to be provided by the next stable release of ATK.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):
(atkRole):

Tools:

Add mappings to DRT & WKTR for landmark roles.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::role):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::role):
* gtk/jhbuild.modules:

LayoutTests:

Update test to unskip landmark elements and update expectations.

* platform/gtk/accessibility/roles-exposed-expected.txt:
* platform/gtk/accessibility/roles-exposed.html:

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

7 years agoRemove platform specific gunk from WebURLRequest and WebURLResponse
andersca@apple.com [Wed, 11 Dec 2013 19:18:08 +0000 (19:18 +0000)]
Remove platform specific gunk from WebURLRequest and WebURLResponse
https://bugs.webkit.org/show_bug.cgi?id=125589

Reviewed by Andreas Kling.

* Shared/API/c/WKURLRequest.cpp:
(WKURLRequestCopyURL):
* Shared/API/c/mac/WKURLRequestNS.mm:
(WKURLRequestCopyNSURLRequest):
* Shared/API/c/mac/WKURLResponseNS.mm:
(WKURLResponseCopyNSURLResponse):
* Shared/WebURLRequest.cpp:
* Shared/WebURLRequest.h:
* Shared/WebURLResponse.h:
* Shared/mac/WebURLRequestMac.mm: Removed.
* Shared/mac/WebURLResponseMac.mm: Removed.
* UIProcess/WebInspectorProxy.cpp:
(WebKit::isMainInspectorPage):
* WebKit2.xcodeproj/project.pbxproj:

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

7 years ago[GTK] Avoid double quotations when passing parameters to valgrind in gtk.py
commit-queue@webkit.org [Wed, 11 Dec 2013 19:03:28 +0000 (19:03 +0000)]
[GTK] Avoid double quotations when passing parameters to valgrind in gtk.py
https://bugs.webkit.org/show_bug.cgi?id=125441

Patch by Alejandro G. Castro <alex@igalia.com> on 2013-12-11
Reviewed by Martin Robinson.

Just avoid the double quotations when building the parameter
because some versions of valgrind are not handling it correctly.

* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):

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

7 years ago[ATK] Add new layout test to check ATK roles in a central place
mario.prada@samsung.com [Wed, 11 Dec 2013 18:58:23 +0000 (18:58 +0000)]
[ATK] Add new layout test to check ATK roles in a central place
https://bugs.webkit.org/show_bug.cgi?id=125525

Reviewed by Chris Fleizach.

New test added, with some skipped tests already present in
platform/mac/accessibility/role-subrole-roledescription.html (this
test is based in that one) as well as some issues specific to ATK
that have been reported in bugs, for traceability.

* platform/gtk/accessibility/roles-exposed-expected.txt: Added.
* platform/gtk/accessibility/roles-exposed.html: Added.

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

7 years ago[GTK] Enable Battery Status API
zandobersek@gmail.com [Wed, 11 Dec 2013 18:25:06 +0000 (18:25 +0000)]
[GTK] Enable Battery Status API
https://bugs.webkit.org/show_bug.cgi?id=125453

Reviewed by Martin Robinson.

Tools:

* Scripts/webkitperl/FeatureList.pm: Enable the Battery Status API feature for the GTK port.

LayoutTests:

* platform/gtk/TestExpectations: Remove expectations for the Battery Status API layout tests
since all the tests pass now that the feature is enabled.

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

7 years ago[GTK][WK2] Add the WebKitBatteryProvider class
zandobersek@gmail.com [Wed, 11 Dec 2013 18:23:02 +0000 (18:23 +0000)]
[GTK][WK2] Add the WebKitBatteryProvider class
https://bugs.webkit.org/show_bug.cgi?id=115720

Reviewed by Martin Robinson.

Source/WebKit2:

This patch adds the WebKitBatteryProvider class which sets up a BatteryProviderUPower instance,
controlling the provider's activity when instrumented to do so by the WebBatteryManagerProxy
and relaying the battery status updates from the battery provider to the battery manager.

* GNUmakefile.list.am: Add the build targets for the new source files.
* UIProcess/API/gtk/WebKitBatteryProvider.cpp: Added.
(toBatteryProvider): A helper inline method that casts the client info to the battery provider instance.
(startUpdatingCallback): Relays the instruction to the WebKitBattery instance.
(stopUpdatingCallback): Ditto.
(WebKitBatteryProvider::create):
(WebKitBatteryProvider::WebKitBatteryProvider): Set up a WKBatteryProvider and set it to the passed-in battery manager.
(WebKitBatteryProvider::~WebKitBatteryProvider): Force the BatteryProviderUPower to stop updating.
(WebKitBatteryProvider::startUpdating): Relays the instruction to the BatteryProviderUPower instance.
(WebKitBatteryProvider::stopUpdating): Ditto.
(WebKitBatteryProvider::notifyBatteryStatusUnavailable): Update the battery manager with the new status that
has the default values that are to be used when the implementation cannot determine the battery status (as per
the Battery Status API specification).
(WebKitBatteryProvider::notifyBatteryStatusUpdated): Update the battery status.
* UIProcess/API/gtk/WebKitBatteryProvider.h: Added.
(WebKitBatteryProvider): Define the WebKitBatteryProvider reference-counted interface that also inherits from the
BatteryProviderUPowerClient interface.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate): Add a WebKitBatteryProvider member variable to the struct.
(createDefaultWebContext): Create a new battery provider when initializing the default web context.

Tools:

* gtk/generate-gtkdoc:
(get_webkit2_options): Ignore the WebKitBatteryProvider source files when generating the documentation.

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

7 years ago[GTK] Add a UPower-based BatteryProvider
zandobersek@gmail.com [Wed, 11 Dec 2013 18:16:48 +0000 (18:16 +0000)]
[GTK] Add a UPower-based BatteryProvider
https://bugs.webkit.org/show_bug.cgi?id=115719

Reviewed by Martin Robinson.

Source/Platform:

* GNUmakefile.am: Add the Source/WebCore/platform/glib directory to the list of directories searched
for header inclusion. Add the upower-glib dependency CFLAGS to the list of libPlatform's CPPFLAGS.

Source/WebCore:

Introduce the BatteryProviderUPower, a provider of the system's battery status that produces the information
using the upower-glib library.

The BatteryProviderUPower creates a new UPower client when the provider should start emitting updates and hooks
up to device alteration signals. These only fire recalculation of the battery status when a battery device is altered.

When recalculating, every battery device is taken into account, accumulating the energy capacities when both empty
and full, the current rate of energy charging/discharging, and the battery status (whether the device is charging or
discharging). This gives a set of data that covers the overall battery status of the system.

This data is then used to calculate the battery status as perceived by the WebCore implementation. Charging is determined
by examining the integral sign of the current combined energy rate. Charging and discharging times are calculated, when
appropriate, by dividing the chargable/dischargable capacity with the current combined energy rate. The battery level is
calculated by dividing the current energy capacity with the full energy capacity (i.e. the combined capacity of all
the batteries that the system possesses). The status is (indirectly) passed onto BatteryManager by invoking the
updateBatteryStatus method on the client, with the first parameter representing the battery charging/discharging state,
the second parameter representing the time left until the battery is fully charged (when charging) or fully
depleted (when discharging), and the third parameter representing the current battery level.

Whenever the implementation cannot provide any information about the battery status of the system, the client's
updateBatteryStatus method is invoked with the first parameter reporting the unavailability of any information
about the battery status. The other two parameters can be omitted as they default to 0 when not given and are neither
available nor useful in such circumstances. The client should handle such an update by reporting the 'default' battery
status - charging, the battery level being at 1.0 and both the charging and discharging time having the value of
the positive infinity (as per the Battery Status API specification).

The implementation is heavily inspired by a similar approach to calculating battery status in GNOME Settings Daemon.

No new tests - no new functionality. The feature is not yet enabled. When enabled, the relevant tests pass.

* GNUmakefile.list.am: Add the BatteryProviderUPower(Client) build targets.
* platform/glib/BatteryProviderUPower.cpp: Added.
(powerDeviceAlterationCallback):
(BatteryProviderUPower::BatteryProviderUPower):
(BatteryProviderUPower::startUpdating):
(BatteryProviderUPower::stopUpdating):
(BatteryProviderUPower::updateBatteryStatus):
* platform/glib/BatteryProviderUPower.h: Added.
(WebCore):
(BatteryProviderUPower):
* platform/glib/BatteryProviderUPowerClient.h: Added.
(WebCore):
(BatteryProviderUPowerClient):

Source/WebKit/gtk:

* GNUmakefile.am: Link the libwebkigtk library against the upower-glib library.

Source/WebKit2:

* GNUmakefile.am: Link the libwebkit2gtk library against the upower-glib library.

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

7 years agoArithmetic overflow when computing max-height CSS property with subpixel layout
commit-queue@webkit.org [Wed, 11 Dec 2013 17:53:46 +0000 (17:53 +0000)]
Arithmetic overflow when computing max-height CSS property with subpixel layout
https://bugs.webkit.org/show_bug.cgi?id=119273

Patch by Javier Fernandez <jfernandez@igalia.com> on 2013-12-11
Reviewed by Martin Robinson.

Enabled SATURATED_LAYOUT_ARITHMETIC for the gtk+ port.

.:

* Source/autotools/SetupWebKitFeatures.m4:

LayoutTests:

* platform/gtk/TestExpectations: Removed failure expectation for autoheight-correct-region-for-lines-2.html

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

7 years ago<https://webkit.org/b/125563> Remove the DumpRenderTree Perl Support module
mrowe@apple.com [Wed, 11 Dec 2013 17:49:44 +0000 (17:49 +0000)]
<https://webkit.org/b/125563> Remove the DumpRenderTree Perl Support module

Now that old-run-webkit-tests is not used on OS X it's not worth the time and effort
to build and maintain this custom Perl module.

Reviewed by Anders Carlsson.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Remove the target.
* DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport.c: Removed.
* DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportPregenerated.pm: Removed.
* DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport_wrapPregenerated.c: Removed.
* DumpRenderTree/mac/PerlSupport/Makefile: Removed.
* Scripts/old-run-webkit-tests: Update a comment that referred to DumpRenderTreeSupport as a reason to
build DumpRenderTree.
(dumpToolDidCrash): Stop importing and using the module.
* Scripts/webkitpy/port/base.py:
(Port._build_driver): Update a comment in the same manner as in old-run-webkit-tests.

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

7 years ago<https://webkit.org/b/125562> Remove a Leopard-specific check from WebKit.xcodeproj
mrowe@apple.com [Wed, 11 Dec 2013 17:47:40 +0000 (17:47 +0000)]
<https://webkit.org/b/125562> Remove a Leopard-specific check from WebKit.xcodeproj

Reviewed by Anders Carlsson.

* WebKit.xcodeproj/project.pbxproj:

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

7 years ago[GTK][WK1] Add an empty BatteryClientGtk
zandobersek@gmail.com [Wed, 11 Dec 2013 16:46:18 +0000 (16:46 +0000)]
[GTK][WK1] Add an empty BatteryClientGtk
https://bugs.webkit.org/show_bug.cgi?id=115628

Reviewed by Martin Robinson.

Add an empty BatteryClientGtk, implementing the WebCore's BatteryClient interface.
The implementation is left empty intentionally as the WebKit1 port is now in maintenance
mode and there's no desire to support new features under it. It's still required as the
WebCore implementation of the Battery Status API expects an existing BatteryClient, even
if the latter does not set up a provider that would then serve information about the battery
state.

* GNUmakefile.am: Add the BatteryClientGtk source files to the build.
* WebCoreSupport/BatteryClientGtk.cpp: Added.
(WebKit):
(WebKit::BatteryClientGtk::BatteryClientGtk):
(WebKit::BatteryClientGtk::startUpdating):
(WebKit::BatteryClientGtk::stopUpdating):
(WebKit::BatteryClientGtk::batteryControllerDestroyed):
* WebCoreSupport/BatteryClientGtk.h: Added.
(WebKit):
(BatteryClientGtk):
* webkit/webkitwebview.cpp:
(webkit_web_view_init): Set up the BatteryClientGtk for the new WebCore::Page object.

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

7 years agoImproving createOffer and createAnswer LayoutTests
commit-queue@webkit.org [Wed, 11 Dec 2013 16:43:08 +0000 (16:43 +0000)]
Improving createOffer and createAnswer LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=125568

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-12-11
Reviewed by Philippe Normand.

The constraints parameter should be optional in both. Also adding tests to check if we already have a local SDP
when creating an answer.

Source/WebCore:

Existing tests were updated.

* platform/mock/RTCPeerConnectionHandlerMock.cpp:
(WebCore::RTCPeerConnectionHandlerMock::createOffer):

LayoutTests:

* fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
* fast/mediastream/RTCPeerConnection-createAnswer.html:
* fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
* fast/mediastream/RTCPeerConnection-createOffer.html:

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

7 years ago[GTK] Support right-side attachment of the inspector
gns@gnome.org [Wed, 11 Dec 2013 16:40:43 +0000 (16:40 +0000)]
[GTK] Support right-side attachment of the inspector
https://bugs.webkit.org/show_bug.cgi?id=124126

Reviewed by Carlos Garcia Campos.

* UIProcess/API/C/gtk/WKInspectorClientGtk.h: add changed attached width callback.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseAddWebInspector): take attachment side parameter into account when adding the
inspector view.
(webkitWebViewBaseContainerRemove): renamed inspectorViewHeight to inspectorViewSize.
(resizeWebKitWebViewBaseFromAllocation): take attachment side into account when allocating the
sizes for the inspector view and the inspected view.
(webkitWebViewBaseSetInspectorViewSize): renamed from webkitWebViewBaseSetInspectorViewHeight.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/gtk/WebInspectorClientGtk.cpp:
(WebKit::WebInspectorClientGtk::didChangeAttachedWidth): notify client that view width has changed.
* UIProcess/gtk/WebInspectorClientGtk.h:
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformAttach): use attachment side for setting the default size
for the inspector view.
(WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): use the new generic SetInspectorViewSize.
(WebKit::WebInspectorProxy::platformSetAttachedWindowWidth): allow setting the inspector view width.

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

7 years ago[GTK] Add "enable-mediasource" property to WebKitWebSettings
commit-queue@webkit.org [Wed, 11 Dec 2013 16:28:27 +0000 (16:28 +0000)]
[GTK] Add "enable-mediasource" property to WebKitWebSettings
https://bugs.webkit.org/show_bug.cgi?id=125566

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-11
Reviewed by Philippe Normand.

Source/WebKit/gtk:

* tests/testwebsettings.c:
(test_webkit_web_settings_copy):
* webkit/webkitwebsettings.cpp:
(webkit_web_settings_class_init):
(webkit_web_settings_set_property):
(webkit_web_settings_get_property):
* webkit/webkitwebsettingsprivate.h:
* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

Source/WebKit2:

* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_mediasource):
(webkit_settings_set_enable_mediasource):
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings):

Tools:

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues): Turn MediaSource on by default for easier testing.
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
(TestRunner::overridePreference): Allow overriding WebKitMediaSourceEnabled.

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

7 years ago[Mac] Observe the activeURL property to keep the MiniBrowser URL field up to date
mitz@apple.com [Wed, 11 Dec 2013 16:16:16 +0000 (16:16 +0000)]
[Mac] Observe the activeURL property to keep the MiniBrowser URL field up to date
https://bugs.webkit.org/show_bug.cgi?id=125579

Reviewed by Anders Carlsson.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController dealloc]): Stop observing the activeURL property.
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]): When the
activeURL property changes, update the URL field with its value.
(-[WK2BrowserWindowController awakeFromNib]): Start observing the activeURL property.
(-[WK2BrowserWindowController browsingContextControllerDidStartProvisionalLoad:]): Just log.
(-[WK2BrowserWindowController browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:]):
Ditto.
(-[WK2BrowserWindowController browsingContextController:didFailProvisionalLoadWithError:]):
Ditto.
(-[WK2BrowserWindowController browsingContextControllerDidCommitLoad:]): Ditto.
(-[WK2BrowserWindowController browsingContextController:didFailLoadWithError:]): Ditto.

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

7 years agoSource/WebCore: [EFL] Fix build with CONTEXT_MENUS flag set OFF
m.pakula@samsung.com [Wed, 11 Dec 2013 16:10:15 +0000 (16:10 +0000)]
Source/WebCore: [EFL] Fix build with CONTEXT_MENUS flag set OFF
https://bugs.webkit.org/show_bug.cgi?id=125572

Reviewed by Gyuyoung Kim.

dispatchEventAsContextMenuEvent is called regardless of CONTEXT_MENUS flag setting,
thus its definition in InspectorFrontendHost should not be guarded by this flag.

No new tests, no behaviour change.

* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):

Source/WebKit2: [EFL] Fix build with CONTEXT_MENUS flag set OFF
https:///bugs.webkit.org/show_bug.cgi?id=125572

Reviewed by Gyuyoung Kim.

Fix EFL build by adding necessary guard, also UNUSED_PARAM macros where added.

* Shared/API/c/WKContextMenuItem.cpp: Added UNUSED_PARAM macros.
(WKContextMenuItemCreateAsAction):
(WKContextMenuItemCreateAsCheckableAction):
(WKContextMenuItemCreateAsSubmenu):
(WKContextMenuItemGetTag):
(WKContextMenuItemGetType):
(WKContextMenuItemCopyTitle):
(WKContextMenuItemGetEnabled):
(WKContextMenuItemGetChecked):
(WKContextMenuCopySubmenuItems):
(WKContextMenuItemGetUserData):
(WKContextMenuItemSetUserData):
* UIProcess/API/C/WKPage.cpp: Ditto.
(WKPageSetPageContextMenuClient):
(WKPageSelectContextMenuItem):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Ditto.
(WKBundlePageSetContextMenuClient):
(WKBundlePageClickMenuItem):
(WKBundlePageCopyContextMenuItems):
(WKBundlePageCopyContextMenuAtPointInWindow)
* UIProcess/efl/WebViewEfl.cpp: Guard createContextMenuProxy method.
* UIProcess/efl/WebViewEfl.h: Ditto.

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Wed, 11 Dec 2013 15:42:16 +0000 (15:42 +0000)]
Unreviewed EFL gardening

Add test expectations for failing ref-tests.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

7 years ago[CURL] Build fails after r160386.
commit-queue@webkit.org [Wed, 11 Dec 2013 15:34:59 +0000 (15:34 +0000)]
[CURL] Build fails after r160386.
https://bugs.webkit.org/show_bug.cgi?id=125571

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-11
Reviewed by Zoltan Herczeg.

Need no new tests.

Fix a typo in commit r160386 that prevents building with curl.

* platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::generateBaseFilename):

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

7 years ago[CSS Shapes] Take into account fill-rule for polygon interpolation
rwlbuis@webkit.org [Wed, 11 Dec 2013 13:38:59 +0000 (13:38 +0000)]
[CSS Shapes] Take into account fill-rule for polygon interpolation
https://bugs.webkit.org/show_bug.cgi?id=125508

Reviewed by Dirk Schulze.

Source/WebCore:

Implement the polygon fill-rule part of http://dev.w3.org/csswg/css-shapes/#basic-shape-interpolation.

Adapt fast/shapes/shape-outside-floats/shape-outside-animation.html.

* rendering/style/BasicShapes.cpp:
(WebCore::BasicShape::canBlend):

LayoutTests:

Adapt fast/shapes/shape-outside-floats/shape-outside-animation.html so it also tests polygon animation
when using different fill rules.

* animations/resources/animation-test-helpers.js:
(parseBasicShape): also allow evenodd when parsing the polygon
* fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
* fast/shapes/shape-outside-floats/shape-outside-animation.html:

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

7 years agoFixed test-wepkitpy logging for buildslaves
commit-queue@webkit.org [Wed, 11 Dec 2013 10:54:06 +0000 (10:54 +0000)]
Fixed test-wepkitpy logging for buildslaves
https://bugs.webkit.org/show_bug.cgi?id=125445

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-11
Reviewed by Csaba Osztrogonác.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunPythonTests):

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

7 years agoTest results of postMessage-clone-port-error.html test are broken
commit-queue@webkit.org [Wed, 11 Dec 2013 10:51:06 +0000 (10:51 +0000)]
Test results of postMessage-clone-port-error.html test are broken
https://bugs.webkit.org/show_bug.cgi?id=125487

Patch by Michal Poteralski <m.poteralski@samsung.com> on 2013-12-11
Reviewed by Alexey Proskuryakov.

Improved Layout test checks correctness of value thrown by postMessage:

* fast/dom/Window/postMessage-clone-port-error-expected.txt:
* fast/dom/Window/postMessage-clone-port-error.html:

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

7 years agoProgrammatically-inserted children lack accessibility events
mario.prada@samsung.com [Wed, 11 Dec 2013 10:28:21 +0000 (10:28 +0000)]
Programmatically-inserted children lack accessibility events
https://bugs.webkit.org/show_bug.cgi?id=100275

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/children-changed-sends-notification.html

Emit children-changed::add and children-changed::remove whenever
an object has been added/removed to the accessibility hierarchy,
that is, when a new AtkObject is being attached/detached.

* accessibility/AXObjectCache.h: Added new enumeration to know
when we are detaching a wrapper because of the cache or the
element is being destroyed, so we can use that information.
(WebCore::AXObjectCache::detachWrapper): Added a new parameter and
updated all the prototypes in different ports.
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::~AXObjectCache): Call detachWrapper()
specifying that we do it because the cache is being destroyed.
(WebCore::AXObjectCache::remove): Call detachWrapper() specifying
that we do it because an accessible element is being destroyed.

* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::detachWrapper): Emit the children-changed
signal when needed. We rely on the cached reference to the parent
AtkObject (using the implementation of atk_object_get_parent from
the AtkObject class) to find the right object to emit the signal
from here, since the accessibility hierarchy from WebCore will no
longer be accessible at this point.
(WebCore::AXObjectCache::attachWrapper): Emit the children-change
signal from here unless we are in the middle of a layout update,
trying to provide as much information (e.g. the offset) as possible.
(WebCore::AXObjectCache::postPlatformNotification): Make sure we
update (touch) the subtree under an accessibility object whenever
we receive AXChildrenChanded from WebCore, to ensure that those
objects will also be visible rightaway to ATs, and that those get
properly notified of the event at that very same moment.

* accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::detachWrapper): Updated function signature.
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::detachWrapper): Ditto.
* accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::detachWrapper): Ditto.

Tools:

Update DRT and WebKitTestRunner to handle the children-changed
signal properly, considering the detail and optional parameters.

* DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp: Updated.
(axObjectEventListener):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: Updated.

LayoutTests:

Add new test to chack that children-changed signals are properly
emitted when adding/removing elements in the accessibility hierarchy.

* accessibility/children-changed-sends-notification-expected.txt: Added.
* accessibility/children-changed-sends-notification.html: Added.

Update test to filter out unrelated non-loading events.
* accessibility/loading-iframe-sends-notification.html: Updated.

Skip the test on the Mac as it does not expose these kind of
notifications when children are being added or removed.
* platform/mac/TestExpectations: Skip newly added test.

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

7 years ago[WK2][Soup] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
commit-queue@webkit.org [Wed, 11 Dec 2013 10:00:59 +0000 (10:00 +0000)]
[WK2][Soup] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
https://bugs.webkit.org/show_bug.cgi?id=125557

Patch by Kwang Yul Seo <skyul@company100.net> on 2013-12-11
Reviewed by Carlos Garcia Campos.

Do what WebProcess::allowSpecificHTTPSCertificateForHost does.

* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):

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

7 years agoREGRESSION(r160389): SVG test assertion extravaganza.
akling@apple.com [Wed, 11 Dec 2013 09:45:37 +0000 (09:45 +0000)]
REGRESSION(r160389): SVG test assertion extravaganza.

Unreviewed. Use getAttribute() instead of fastGetAttribute() for
the "type" attribute since it's animatable on SVG elements.

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

7 years ago<https://webkit.org/b/125139> Modernize the WebKit API headers
mrowe@apple.com [Wed, 11 Dec 2013 09:27:32 +0000 (09:27 +0000)]
<https://webkit.org/b/125139> Modernize the WebKit API headers
<rdar://problem/15540175>

Source/WebKit/mac:

This consists of three main changes:
1) Converting the return type of initializer methods to instancetype.
2) Declaring properties rather than getters and setters.
3) Declaring explicitly sized enums.

Changing the declarations from getters and setters to properties also required
updating the headerdoc in a number of places.

Reviewed by Anders Carlsson.

* DOM/WebDOMOperations.h:
* History/WebBackForwardList.h:
* History/WebHistory.h:
* History/WebHistoryItem.h:
* History/WebHistoryItem.mm:
* Plugins/WebPlugin.h:
* Plugins/WebPluginContainer.h:
* WebView/WebArchive.h:
* WebView/WebArchive.mm:
* WebView/WebDataSource.h:
* WebView/WebDataSource.mm:
* WebView/WebEditingDelegate.h:
* WebView/WebFrame.h:
* WebView/WebFrame.mm:
* WebView/WebFrameView.h:
* WebView/WebPolicyDelegate.h:
* WebView/WebPreferences.h:
* WebView/WebPreferences.mm:
(-[WebPreferences cacheModel]): Cast to the enum.
* WebView/WebResource.h:
* WebView/WebResource.mm:
* WebView/WebUIDelegate.h:
* WebView/WebView.h:
* WebView/WebView.mm:
(+[WebView _didSetCacheModel]): Fix the return type.

Tools:

Reviewed by Anders Carlsson.

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setCacheModel): Cast to the enum type.

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

7 years agoSet m_nextBreakablePosition as private in InlineIterator, and use it.
gyuyoung.kim@samsung.com [Wed, 11 Dec 2013 08:31:33 +0000 (08:31 +0000)]
Set m_nextBreakablePosition as private in InlineIterator, and use it.
https://bugs.webkit.org/show_bug.cgi?id=125482

Reviewed by Andreas Kling.

InlineIterator has been exported m_nextBreakablePosition as public though it is member variable.
This patch set it as private, and add getter/setter functions for it.

No new tests, no behavior changes.

* rendering/InlineIterator.h:
(WebCore::InlineIterator::InlineIterator):
(WebCore::InlineIterator::nextBreakablePosition):
(WebCore::InlineIterator::setNextBreakablePosition):
* rendering/line/BreakingContextInlineHeaders.h:
(WebCore::BreakingContext::handleText):

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

7 years ago<http://webkit.org/b/125556> WebKit doesn't deal with longer bundle versions correctly
mrowe@apple.com [Wed, 11 Dec 2013 07:25:45 +0000 (07:25 +0000)]
<webkit.org/b/125556> WebKit doesn't deal with longer bundle versions correctly
<rdar://problem/15634192>

Reviewed by Dan Bernstein.

Source/WebKit/mac:

* WebView/WebView.mm:
(createUserVisibleWebKitVersionString): Strip as many leading digits as is necessary to
bring the major component of the version down to 3 digits.

Source/WebKit2:

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::userVisibleWebKitVersionString): Strip as many leading digits as is necessary to
bring the major component of the version down to 3 digits.

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

7 years agoGet rid of forward exit on DoubleAsInt32
fpizlo@apple.com [Wed, 11 Dec 2013 06:50:19 +0000 (06:50 +0000)]
Get rid of forward exit on DoubleAsInt32
https://bugs.webkit.org/show_bug.cgi?id=125552

PerformanceTests/SunSpider:

Reviewed by Oliver Hunt.

Use SunSpider as a kind of spot-check for the
no-architecture-specific-optimization paths in the compiler.

* no-architecture-specific-optimizations.yaml: Added.

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

The forward exit was just there so that we wouldn't have to keep the inputs alive up to
the DoubleAsInt32. That's dumb. Forward exits are a complicated piece of machinery and
we shouldn't have it just for a bit of liveness micro-optimization.

Also add a bunch of machinery to test this case on X86.

* assembler/AbstractMacroAssembler.h:
(JSC::optimizeForARMv7s):
(JSC::optimizeForARM64):
(JSC::optimizeForX86):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNodeType.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
* runtime/Options.h:
* tests/stress/double-as-int32.js: Added.
(foo):
(test):

Tools:

Reviewed by Oliver Hunt.

Add some support for testing the generic (non-X86) paths on X86 by disabling
architecture-specific optimizations (ASO's).

* Scripts/run-javascriptcore-tests:
* Scripts/run-jsc-stress-tests:

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

7 years agotop and bottom black background line not getting displayed
commit-queue@webkit.org [Wed, 11 Dec 2013 05:57:01 +0000 (05:57 +0000)]
top and bottom black background line not getting displayed
https://bugs.webkit.org/show_bug.cgi?id=21664

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-12-10
Reviewed by Simon Fraser.

Source/WebCore:

The table cell's background was not being displayed. Since the table
cell had no child correct offsetWidth was not being set even if table
width is being defined.

Test: fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html

* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
cellHasContent should also be set to true incase background color is
present.

LayoutTests:

* fast/dom/HTMLTableElement/empy-table-cell-with-background-color-expected.txt: Added.
* fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html: Added.
Added new test case to verify that table cell offsetWidth is set even
when it has no contents but has background color.
* fast/table/auto-100-percent-width-expected.txt:
* platform/mac/fast/table/empty-cells-expected.txt:
* tables/mozilla/bugs/bug1818-6-expected.txt:
Rebaselining the existing test case as per the new changes. The new
dimension changes are as per mozilla behaviour. For
auto-100-percent-width-expected.txt we get 1 px red background because
if cellHasContent we set columnLayout's minLogicalWidth and
columnLayout's maxLogicalWidth as 1 initially even if cell is empty.

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

7 years agoUnreviewed GTK build fix attempt after r160395 (second)
ryuan.choi@samsung.com [Wed, 11 Dec 2013 04:44:39 +0000 (04:44 +0000)]
Unreviewed GTK build fix attempt after r160395 (second)

* GNUmakefile.list.am:
Added new files for UserData, APIFrameHandle, APIGeometry and APIPageHandle.

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

7 years agoUnreviewed GTK build fix attempt after r160395
ryuan.choi@samsung.com [Wed, 11 Dec 2013 04:16:37 +0000 (04:16 +0000)]
Unreviewed GTK build fix attempt after r160395

Renamed WebUInt64 to API::UInt64, WebDouble to API::Double, WebBoolean
to API::Boolean.

* UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
(didReceiveWebViewMessageFromInjectedBundle):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_snapshot):
* UIProcess/API/gtk/WebKitWindowProperties.cpp: Included APINumber.h instead of WebNumber.h
(webkitWindowPropertiesUpdateFromWebWindowFeatures):
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(didInitiateLoadForResource):
(willSendRequestForFrame):
(didReceiveResponseForResource):
(didReceiveContentLengthForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(webkitWebPageDidReceiveMessage):

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

7 years agoSimplify CSE's treatment of NodeRelevantToOSR
fpizlo@apple.com [Wed, 11 Dec 2013 02:10:46 +0000 (02:10 +0000)]
Simplify CSE's treatment of NodeRelevantToOSR
https://bugs.webkit.org/show_bug.cgi?id=125538

Reviewed by Oliver Hunt.

Make the NodeRelevantToOSR thing obvious: if there is any MovHint on a node then the
node is relevant to OSR.

* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::run):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::performBlockCSE):

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

7 years agoAll observable PageLoadState properties should change in an atomic fashion, with...
mitz@apple.com [Wed, 11 Dec 2013 02:07:33 +0000 (02:07 +0000)]
All observable PageLoadState properties should change in an atomic fashion, with properly nested change notifications
https://bugs.webkit.org/show_bug.cgi?id=125431

Reviewed by Anders Carlsson.

Made PageLoadState maintain two copies of its state data members, one representing the
committed state and one possibly containing uncommitted changes. When changes are committed,
change notifications are sent and the uncommitted state is copied into the committed state.
Changes can be committed explicitly at any time, but are also committed when the last
outstanding transaction ends. Transactions are RAII objects vended by the PageLoadState.
Mutating the PageLoadState requires holding a Transaction, which is enforced by making all
the mutating member functions take a Transaction::Token. Passing a Token also marks the
PageLoadState as possibly having uncommitted changes.

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
Added PageLoadStateObserver::{will,did}ChangeActiveURL overrides that call
-{will,did}ChangeValueForKey:.

* UIProcess/PageLoadState.cpp:
Moved constant from the middle of the file to the beginning and reworded comment.
(WebKit::PageLoadState::PageLoadState): Added initializers for new member variables, removed
initialization of members that are not part of Data, which initializes them in its
constructor.
(WebKit::PageLoadState::endTransaction): Added. Calles when a Transaction is destructed.
Decrements the outstanding transaction count, and if it is zero, commits changes.
(WebKit::PageLoadState::commitChanges): Added. Checks for differences in observable
properties between the committed state and the uncommitted state, then makes appropriate
willChange Observer callbacks, then copies the uncommitted state into the committed state,
then makes appropriate didChange Observer callbacks in reverse order. Also added active URL
to the set of observable properties.
(WebKit::PageLoadState::reset): Changed to take a transaction token, act on
m_uncommittedState, and not make observer callbacks.
(WebKit::PageLoadState::isLoading): Changed to access m_committedState.
(WebKit::PageLoadState::activeURL): Changed to call a static function factored out of this.
(WebKit::PageLoadState::estimatedProgress): Ditto.
(WebKit::PageLoadState::pendingAPIRequestURL): Changed to access m_committedState.
(WebKit::PageLoadState::setPendingAPIRequestURL): Changed to take a transaction token, act
on m_uncommittedState, and not make observer callbacks.
(WebKit::PageLoadState::clearPendingAPIRequestURL): Ditto.
(WebKit::PageLoadState::didStartProvisionalLoad): Ditto.
(WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad): Ditto.
(WebKit::PageLoadState::didFailProvisionalLoad): Ditto.
(WebKit::PageLoadState::didCommitLoad): Ditto.
(WebKit::PageLoadState::didFinishLoad): Ditto.
(WebKit::PageLoadState::didFailLoad): Ditto.
(WebKit::PageLoadState::didSameDocumentNavigation): Ditto.
(WebKit::PageLoadState::setUnreachableURL): Ditto.
(WebKit::PageLoadState::title): Changed to access m_committedState.
(WebKit::PageLoadState::setTitle): Changed to take a transaction token, act on
m_uncommittedState, and not make observer callbacks.
(WebKit::PageLoadState::didStartProgress): Ditto.
(WebKit::PageLoadState::didChangeProgress): Ditto.
(WebKit::PageLoadState::didFinishProgress): Ditto.
* UIProcess/PageLoadState.h:
(WebKit::PageLoadState::Transaction::Transaction): Added. Calls
PageLoadState::beginTransaction.
(WebKit::PageLoadState::Transaction::~Transaction): Added. Calls
PageLoadState::endTransaction.
(WebKit::PageLoadState::Transaction::Token::Token): Added. Sets m_mayHaveUncommittedChanges.
(WebKit::PageLoadState::transaction): Added. Returns a Transaction for this PageLoadState.
(WebKit::PageLoadState::provisionalURL): Changed to access m_committedState.
(WebKit::PageLoadState::url): Ditto.
(WebKit::PageLoadState::unreachableURL): Ditto.
(WebKit::PageLoadState::beginTransaction): Added. Increments the outstanding transaction
count.
(WebKit::PageLoadState::Data::Data): Added. Moved internal state members into this struct
and made its constructor initialize state and estimatedProgress.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadURL): Changed to create a PageLoadState::Transaction and pass it
along.
(WebKit::WebPageProxy::loadURLRequest): Ditto.
(WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
(WebKit::WebPageProxy::reload): Ditto.
(WebKit::WebPageProxy::goForward): Ditto.
(WebKit::WebPageProxy::goBack): Ditto.
(WebKit::WebPageProxy::goToBackForwardItem): Ditto.
(WebKit::WebPageProxy::receivedPolicyDecision): Ditto.
(WebKit::WebPageProxy::didStartProgress): Ditto. Also added a call to
PageLoadState::commitChanges before calling the client, so that the client sees the updated
state.
(WebKit::WebPageProxy::didChangeProgress): Ditto.
(WebKit::WebPageProxy::didFinishProgress): Ditto.
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Ditto.
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Ditto.
(WebKit::WebPageProxy::didCommitLoadForFrame): Ditto.
(WebKit::WebPageProxy::didFinishLoadForFrame): Ditto.
(WebKit::WebPageProxy::didFailLoadForFrame): Ditto.
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
(WebKit::WebPageProxy::didReceiveTitleForFrame): Ditto.
(WebKit::WebPageProxy::decidePolicyForNavigationAction): Changed to create a
PageLoadState::Transaction and pass it along.
(WebKit::WebPageProxy::processDidCrash): Ditto. This addressed a FIXME about the client not
seeing the state prior to the crash, because now the changes cuased by reset() aren’t
committed until after the client callback.

* UIProcess/cf/WebPageProxyCF.cpp:
(WebKit::WebPageProxy::restoreFromSessionStateData): Changed to create a
PageLoadState::Transaction and pass it along.

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

7 years agoUnreviewed EFL build fix attempt
ryuan.choi@samsung.com [Wed, 11 Dec 2013 01:28:40 +0000 (01:28 +0000)]
Unreviewed EFL build fix attempt

Source/WebKit2:

* CMakeLists.txt: Added APIGeometry.cpp to source lists.

Tools:

* TestWebKitAPI/CMakeLists.txt: Added ${WEBKIT2_DIR}/Platform/CoreIPC to include lists.
* WebKitTestRunner/CMakeLists.txt: Ditto.

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

7 years agoAdd a HashMap constructor that takes an initializer list
andersca@apple.com [Wed, 11 Dec 2013 01:08:11 +0000 (01:08 +0000)]
Add a HashMap constructor that takes an initializer list
https://bugs.webkit.org/show_bug.cgi?id=125551

Reviewed by Dan Bernstein.

Source/WTF:

* wtf/HashMap.h:
(WTF::HashMap::HashMap):

Tools:

* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):

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

7 years agoAX: Share accessibility/aria-hidden-negates-no-visibility.html expectation with other...
commit-queue@webkit.org [Wed, 11 Dec 2013 00:59:12 +0000 (00:59 +0000)]
AX: Share accessibility/aria-hidden-negates-no-visibility.html expectation with other ports
https://bugs.webkit.org/show_bug.cgi?id=125495

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-12-10
Reviewed by Chris Fleizach.

Expectation of accessibility/aria-hidden-negates-no-visibility.html is the same for EFL and GTK.

* accessibility/aria-hidden-negates-no-visibility-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/aria-hidden-negates-no-visibility-expected.txt.

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

7 years agoHorizontal rubber-banding without a horizontal scrollbar is distracting
bdakin@apple.com [Wed, 11 Dec 2013 00:54:24 +0000 (00:54 +0000)]
Horizontal rubber-banding without a horizontal scrollbar is distracting
https://bugs.webkit.org/show_bug.cgi?id=125550

Reviewed by Simon Fraser.

Setting the ScrollElasticity to ScrollElasticityAutomatic will make sure we only
rubber-band horizontally when there is a horizontal scrollbar.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):

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

7 years agoCorrect a preprocessor guard from a mis-merged patch
mrobinson@webkit.org [Wed, 11 Dec 2013 00:38:41 +0000 (00:38 +0000)]
Correct a preprocessor guard from a mis-merged patch

In r160367, I mismerged a patch from Gustavo Noronha. This commit
fixes the merge and thus fixes the CMake build.

* html/HTMLMediaElement.idl: Move the preprocessor guard to the correct property.

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

7 years agoMove number and geometry classes into the API namespace
andersca@apple.com [Wed, 11 Dec 2013 00:19:07 +0000 (00:19 +0000)]
Move number and geometry classes into the API namespace
https://bugs.webkit.org/show_bug.cgi?id=125549

Reviewed by Geoffrey Garen.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(-[WKRemoteObjectEncoder encodeBool:forKey:]):
(-[WKRemoteObjectEncoder encodeInt64:forKey:]):
(-[WKRemoteObjectEncoder encodeDouble:forKey:]):
(-[WKRemoteObjectDecoder decodeBoolForKey:]):
(-[WKRemoteObjectDecoder decodeInt64ForKey:]):
(-[WKRemoteObjectDecoder decodeDoubleForKey:]):
* Shared/API/c/WKGeometry.cpp:
(WKSizeGetTypeID):
(WKPointGetTypeID):
(WKRectGetTypeID):
(WKPointCreate):
(WKSizeCreate):
(WKRectCreate):
* Shared/API/c/WKNumber.cpp:
(WKBooleanGetTypeID):
(WKBooleanCreate):
(WKDoubleGetTypeID):
(WKDoubleCreate):
(WKUInt64GetTypeID):
(WKUInt64Create):
* Shared/API/c/WKSharedAPICast.h:
* Shared/APIGeometry.cpp:
(API::Point::encode):
(API::Point::decode):
(API::Size::encode):
(API::Size::decode):
(API::Rect::encode):
(API::Rect::decode):
* Shared/APIGeometry.h:
(API::Size::create):
(API::Size::Size):
(API::Point::create):
(API::Point::Point):
(API::Rect::create):
(API::Rect::Rect):
* Shared/APINumber.h:
(API::Number::create):
(API::Number::decode):
(API::Number::Number):
* Shared/APIObject.h:
* Shared/Plugins/Netscape/PluginInformation.cpp:
(WebKit::getPluginModuleInformation):
(WebKit::createPluginInformationDictionary):
* Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
(WebKit::getPlatformPluginModuleInformation):
* Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
* UIProcess/Notifications/WebNotificationProvider.cpp:
(WebKit::WebNotificationProvider::clearNotifications):
* UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable):
* UIProcess/StatisticsRequest.cpp:
(WebKit::addToDictionaryFromHashMap):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFindStringMatches):
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::createNewPage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::trackedRepaintRects):
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

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

7 years agoGet rid of forward exit in GetByVal on Uint32Array
fpizlo@apple.com [Tue, 10 Dec 2013 23:36:09 +0000 (23:36 +0000)]
Get rid of forward exit in GetByVal on Uint32Array
https://bugs.webkit.org/show_bug.cgi?id=125543

Reviewed by Oliver Hunt.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):

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

7 years agoAdd encode and decode functions to WebNumber
andersca@apple.com [Tue, 10 Dec 2013 23:30:22 +0000 (23:30 +0000)]
Add encode and decode functions to WebNumber
https://bugs.webkit.org/show_bug.cgi?id=125547

Reviewed by Beth Dakin.

* Shared/APINumber.h:
(WebKit::WebNumber::encode):
(WebKit::WebNumber::decode):
* Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):

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

7 years ago[EFL] One more WK2 build fix
commit-queue@webkit.org [Tue, 10 Dec 2013 23:27:07 +0000 (23:27 +0000)]
[EFL] One more WK2 build fix
https://bugs.webkit.org/show_bug.cgi?id=125544

API::TypedObject has been renamed to API::ObjectImpl

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-10
Reviewed by Tim Horton.

* Shared/WebBatteryStatus.h:
* Shared/WebNetworkInfo.h:
* UIProcess/CoordinatedGraphics/WebView.h:
* UIProcess/WebBatteryManagerProxy.h:
* UIProcess/WebNetworkInfoManagerProxy.h:
* UIProcess/WebTextChecker.h:
* UIProcess/WebVibrationProxy.h:
* UIProcess/WebViewportAttributes.h:
* UIProcess/efl/WebPopupItemEfl.h:
* UIProcess/soup/WebSoupRequestManagerProxy.h:

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

7 years agoRename WebNumber.h to APINumber.h
andersca@apple.com [Tue, 10 Dec 2013 23:00:40 +0000 (23:00 +0000)]
Rename WebNumber.h to APINumber.h
https://bugs.webkit.org/show_bug.cgi?id=125545

Reviewed by Beth Dakin.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
* Shared/API/c/WKNumber.cpp:
* Shared/API/c/WKSharedAPICast.h:
* Shared/APINumber.h: Renamed from Source/WebKit2/Shared/WebNumber.h.
* Shared/Plugins/Netscape/PluginInformation.cpp:
* Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
* Shared/UserData.cpp:
* Shared/UserMessageCoders.h:
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
* UIProcess/Notifications/WebNotificationProvider.cpp:
* UIProcess/WebUIClient.cpp:
* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoAdd files.
andersca@apple.com [Tue, 10 Dec 2013 22:43:06 +0000 (22:43 +0000)]
Add files.

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

7 years agoClean up SVGScriptElement
commit-queue@webkit.org [Tue, 10 Dec 2013 22:28:06 +0000 (22:28 +0000)]
Clean up SVGScriptElement
https://bugs.webkit.org/show_bug.cgi?id=125527

Patch by Rob Buis <rob.buis@samsung.com> on 2013-12-10
Reviewed by Sam Weinig.

Rewrite to not store type in m_type and also remove type getter/setter.

* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::parseAttribute):
(WebCore::SVGScriptElement::typeAttributeValue):
* svg/SVGScriptElement.h:
* svg/SVGScriptElement.idl:

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

7 years agoUserData should handle geometry types
andersca@apple.com [Tue, 10 Dec 2013 22:11:28 +0000 (22:11 +0000)]
UserData should handle geometry types
https://bugs.webkit.org/show_bug.cgi?id=125542

Reviewed by Andreas Kling.

Rename WebGeometry.h to APIGeometry.h in preparation for moving the classes into the API namespace.
Add encode/decode functions to geometry classes. Use them in UserData::encode and UserData::decode.

* Shared/API/c/WKGeometry.cpp:
* Shared/APIGeometry.cpp: Added.
* Shared/APIGeometry.h: Renamed from Source/WebKit2/Shared/WebGeometry.h.
(WebKit::UserData::encode):
(WebKit::UserData::decode):
* Shared/UserMessageCoders.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/WebPage.cpp:

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

7 years ago[MIPS] Redundant instructions in code generated from offlineasm.
commit-queue@webkit.org [Tue, 10 Dec 2013 21:51:36 +0000 (21:51 +0000)]
[MIPS] Redundant instructions in code generated from offlineasm.
https://bugs.webkit.org/show_bug.cgi?id=125528

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-12-10
Reviewed by Michael Saboff.

Optimize lowering of offlineasm BaseIndex Addresses.

* offlineasm/mips.rb:

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

7 years agoUse std::array when computing MD5 checksum
commit-queue@webkit.org [Tue, 10 Dec 2013 21:48:06 +0000 (21:48 +0000)]
Use std::array when computing MD5 checksum
https://bugs.webkit.org/show_bug.cgi?id=125509

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-10
Reviewed by Anders Carlsson.

Source/WebCore:

Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.

* platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::generateBaseFilename):

Source/WTF:

Added MD5::Digest type and MD5::hashSize for computing MD5 checksum.

* wtf/MD5.cpp:
(WTF::MD5::checksum):
* wtf/MD5.h:

Tools:

Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.

* DumpRenderTree/blackberry/PixelDumpSupportBlackBerry.cpp:
(computeMD5HashStringForBitmapContext):
* DumpRenderTree/cairo/PixelDumpSupportCairo.cpp:
(computeMD5HashStringForBitmapContext):
* TestWebKitAPI/Tests/WTF/MD5.cpp:
(TestWebKitAPI::expectMD5):
* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
(WTR::computeMD5HashStringForCairoSurface):
* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::computeMD5HashStringForContext):

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=125533
bdakin@apple.com [Tue, 10 Dec 2013 21:39:59 +0000 (21:39 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=125533
BackgroundExtendsBeyondPage setting should be switchable per WKView
-and corresponding-
<rdar://problem/15571310>

Reviewed by Anders Carlsson.

This patch removes the WKPreferences API and adds WKPage API in its place. To
ensure that the setting sticks after a crash, it is also now a creation parameter.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetBackgroundExtendsBeyondPage):
(WKPageBackgroundExtendsBeyondPage):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/C/WKPreferences.cpp:
* UIProcess/API/C/WKPreferencesPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setBackgroundExtendsBeyondPage):
(WebKit::WebPageProxy::backgroundExtendsBeyondPage):
(WebKit::WebPageProxy::initializeCreationParameters):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setBackgroundExtendsBeyondPage):
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

7 years agoRename API::TypedObject to API::ObjectImpl
andersca@apple.com [Tue, 10 Dec 2013 21:28:37 +0000 (21:28 +0000)]
Rename API::TypedObject to API::ObjectImpl
https://bugs.webkit.org/show_bug.cgi?id=125539

Reviewed by Tim Horton.

All API::Objects are by definition typed, so ObjectImpl makes more sense as a name.

* Shared/APIArray.h:
* Shared/APIFrameHandle.h:
* Shared/APIObject.h:
(API::ObjectImpl::~ObjectImpl):
(API::ObjectImpl::ObjectImpl):
* Shared/APIPageHandle.h:
* Shared/ImmutableDictionary.h:
* Shared/WebArchive.h:
* Shared/WebArchiveResource.h:
* Shared/WebBackForwardListItem.h:
* Shared/WebCertificateInfo.h:
* Shared/WebConnection.h:
* Shared/WebContextMenuItem.h:
* Shared/WebData.h:
* Shared/WebError.h:
* Shared/WebGeolocationPosition.h:
* Shared/WebGeometry.h:
* Shared/WebHitTestResult.h:
* Shared/WebImage.h:
* Shared/WebNumber.h:
* Shared/WebOpenPanelParameters.h:
* Shared/WebRenderLayer.h:
* Shared/WebRenderObject.h:
* Shared/WebSecurityOrigin.h:
* Shared/WebSerializedScriptValue.h:
* Shared/WebString.h:
* Shared/WebURL.h:
* Shared/WebURLRequest.h:
* Shared/WebURLResponse.h:
* Shared/WebUserContentURLPattern.h:
* Shared/mac/ObjCObjectGraph.h:
* UIProcess/APINavigationData.h:
* UIProcess/Authentication/AuthenticationChallengeProxy.h:
* UIProcess/Authentication/AuthenticationDecisionListener.h:
* UIProcess/Authentication/WebCredential.h:
* UIProcess/Authentication/WebProtectionSpace.h:
* UIProcess/Downloads/DownloadProxy.h:
* UIProcess/GeolocationPermissionRequestProxy.h:
* UIProcess/Notifications/NotificationPermissionRequest.h:
* UIProcess/Notifications/WebNotification.h:
* UIProcess/Notifications/WebNotificationManagerProxy.h:
* UIProcess/Plugins/WebPluginSiteDataManager.h:
* UIProcess/WebApplicationCacheManagerProxy.h:
* UIProcess/WebBackForwardList.h:
* UIProcess/WebColorPickerResultListenerProxy.h:
* UIProcess/WebContext.h:
* UIProcess/WebCookieManagerProxy.h:
* UIProcess/WebDatabaseManagerProxy.h:
* UIProcess/WebEditCommandProxy.h:
* UIProcess/WebFrameProxy.h:
* UIProcess/WebGeolocationManagerProxy.h:
* UIProcess/WebGrammarDetail.h:
* UIProcess/WebIconDatabase.h:
* UIProcess/WebInspectorProxy.h:
* UIProcess/WebKeyValueStorageManager.h:
* UIProcess/WebMediaCacheManagerProxy.h:
* UIProcess/WebOpenPanelResultListenerProxy.h:
* UIProcess/WebOriginDataManagerProxy.h:
* UIProcess/WebPageGroup.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPreferences.h:
* UIProcess/WebResourceCacheManagerProxy.h:
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
* WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
* WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
* WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
* WebProcess/WebPage/PageBanner.h:
* WebProcess/WebPage/PageOverlay.h:
* WebProcess/WebPage/WebFrame.h:
* WebProcess/WebPage/WebInspector.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPageGroupProxy.h:

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

7 years agoReduce the mass templatizing of the JS parser
oliver@apple.com [Tue, 10 Dec 2013 21:19:15 +0000 (21:19 +0000)]
Reduce the mass templatizing of the JS parser
https://bugs.webkit.org/show_bug.cgi?id=125535

Reviewed by Michael Saboff.

The various caches we have now have removed the need for many of
the template vs. regular parameters.  This patch converts those
template parameters to regular parameters and updates the call
sites.  This reduces the code size of the parser by around 15%.

* parser/ASTBuilder.h:
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createProperty):
* parser/Parser.cpp:
(JSC::::parseInner):
(JSC::::parseSourceElements):
(JSC::::parseVarDeclarationList):
(JSC::::createBindingPattern):
(JSC::::tryParseDeconstructionPatternExpression):
(JSC::::parseDeconstructionPattern):
(JSC::::parseSwitchClauses):
(JSC::::parseSwitchDefaultClause):
(JSC::::parseBlockStatement):
(JSC::::parseFormalParameters):
(JSC::::parseFunctionInfo):
(JSC::::parseFunctionDeclaration):
(JSC::::parseProperty):
(JSC::::parseObjectLiteral):
(JSC::::parseStrictObjectLiteral):
(JSC::::parseMemberExpression):
* parser/Parser.h:
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createProperty):
(JSC::SyntaxChecker::createGetterOrSetterProperty):

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

7 years ago[EFL] Fix WK2 build after r160341
commit-queue@webkit.org [Tue, 10 Dec 2013 21:10:13 +0000 (21:10 +0000)]
[EFL] Fix WK2 build after r160341
https://bugs.webkit.org/show_bug.cgi?id=125529

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-10
Reviewed by Anders Carlsson.

* CMakeLists.txt: Added new files UserData.cpp, APIFrameHandle.cpp and APIPageHandle.cpp.

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

7 years agoAdd more API object types to UserData
andersca@apple.com [Tue, 10 Dec 2013 21:07:26 +0000 (21:07 +0000)]
Add more API object types to UserData
https://bugs.webkit.org/show_bug.cgi?id=125532

Reviewed by Beth Dakin.

* Shared/UserData.cpp:
(WebKit::UserData::transform):
Handle dictionaries.

(WebKit::UserData::encode):
(WebKit::UserData::decode):
Handle more API::Objects.

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

7 years ago[ATK] Expose splitter elements with ATK_ROLE_SEPARATOR
mario.prada@samsung.com [Tue, 10 Dec 2013 20:12:56 +0000 (20:12 +0000)]
[ATK] Expose splitter elements with ATK_ROLE_SEPARATOR
https://bugs.webkit.org/show_bug.cgi?id=125522

Reviewed by Chris Fleizach.

Source/WebCore:

Expose objects with SplitterRole role as ATK_ROLE_SEPARATOR.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):

Tools:

Update strings representing ATK_ROLE_SEPARATOR for layout tests.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Update expected results in layout test for EFL and GTK.

* platform/efl-wk1/accessibility/lists-expected.txt:
* platform/efl-wk2/accessibility/lists-expected.txt:
* platform/gtk/accessibility/lists-expected.txt:

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

7 years ago[ATK] Elements with role 'alertdialog' should be ATK_ROLE_ALERT
mario.prada@samsung.com [Tue, 10 Dec 2013 20:11:18 +0000 (20:11 +0000)]
[ATK] Elements with role 'alertdialog' should be ATK_ROLE_ALERT
https://bugs.webkit.org/show_bug.cgi?id=125521

Reviewed by Chris Fleizach.

Source/WebCore:

Stop exposing alert dialogs as ATK_ROLE_DIALOG and do it as
ATK_ROLE_ALERT instead.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):

LayoutTests:

Update expected result in layout test.

* accessibility/aria-mappings-expected.txt:

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

7 years agoMore UserData work
andersca@apple.com [Tue, 10 Dec 2013 19:43:10 +0000 (19:43 +0000)]
More UserData work
https://bugs.webkit.org/show_bug.cgi?id=125524

Reviewed by Dan Bernstein.

* Shared/APIObject.h:
* Shared/UserData.cpp:
(WebKit::UserData::transform):
New helper function that takes an API::Object and returns a new API::Object with all "sub-objects" (arrays etc)
transformed by calling the transformer.

* Shared/UserData.h:
(WebKit::UserData::object):
New getter.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
Helper function that creates a new API::Object graph by converting WebFrameProxy objects to FrameHandles.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::apiObjectByConvertingFromHandles):
Helper function that creates a new API::Object graph by converting FrameHandles to WebFrame objects.

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

7 years agoASSERT !heap.vm()->isInitializingObject() when finishing DFG compilation at beginning...
mhahnenberg@apple.com [Tue, 10 Dec 2013 19:37:29 +0000 (19:37 +0000)]
ASSERT !heap.vm()->isInitializingObject() when finishing DFG compilation at beginning of GC
https://bugs.webkit.org/show_bug.cgi?id=125472

Reviewed by Geoff Garen.

This patch makes it look like it's okay to allocate so that the DFG plan finalization stuff
can do what it needs to do. We already expected that we might do allocation during plan
finalization and we increased the deferral depth to handle this, but we need to fix this other
ASSERT stuff too.

* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/Heap.cpp:
(JSC::Heap::collect):
* heap/Heap.h:
* heap/RecursiveAllocationScope.h: Added.
(JSC::RecursiveAllocationScope::RecursiveAllocationScope):
(JSC::RecursiveAllocationScope::~RecursiveAllocationScope):
* runtime/VM.h:

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

7 years ago[GTK][GStreamer] media/video-preload.html is flakily crashing on WK2
commit-queue@webkit.org [Tue, 10 Dec 2013 18:54:40 +0000 (18:54 +0000)]
[GTK][GStreamer] media/video-preload.html is flakily crashing on WK2
https://bugs.webkit.org/show_bug.cgi?id=125411

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-10
Reviewed by Philippe Normand.

No new tests because this fixes flakeyness in existing tests (media/video-preload.html, and various tests in media/track/{audio,in-band,video}).

* platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
(webkitTextCombinerPadGetProperty): Copy tag list to prevent concurrent modification problems.
(webkitTextCombinerPadEvent): Add locking.
* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Call tagsChanged() because we need it to setup m_tags.
(WebCore::TrackPrivateBaseGStreamer::disconnect): Clear m_tags.
(WebCore::TrackPrivateBaseGStreamer::tagsChanged): Lookup the tags while we're in this callback, because it's the only time we can guarantee that the input-selector won't unref them.
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Use m_tags.
* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_tags and a mutex.

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

7 years agoPageConsole::addMessage should automatically determine column number alongside line...
commit-queue@webkit.org [Tue, 10 Dec 2013 18:53:51 +0000 (18:53 +0000)]
PageConsole::addMessage should automatically determine column number alongside line number
https://bugs.webkit.org/show_bug.cgi?id=114319

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-10
Reviewed by Joseph Pecoraro.

Source/WebCore:

* dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::ScriptElement):
* dom/ScriptableDocumentParser.h:
* dom/StyledElement.cpp:
(WebCore::StyledElement::styleAttributeChanged):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::pumpPendingSpeculations):
* html/parser/HTMLDocumentParser.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::buildInitiatorObject):
* page/Console.cpp:
(WebCore::internalAddMessage):
* page/PageConsole.cpp:
(WebCore::PageConsole::printSourceURLAndPosition):
(WebCore::PageConsole::addMessage):
* page/PageConsole.h:
* xml/parser/XMLDocumentParser.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::error):

LayoutTests:

* inspector-protocol/page/deny-X-FrameOption-expected.txt: Added.
* inspector-protocol/page/deny-X-FrameOption.html: Added.

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

7 years ago[WK2] [SOUP] Allow running the network process with an arbitrary prefix command
berto@igalia.com [Tue, 10 Dec 2013 18:49:42 +0000 (18:49 +0000)]
[WK2] [SOUP] Allow running the network process with an arbitrary prefix command
https://bugs.webkit.org/show_bug.cgi?id=125520

Reviewed by Carlos Garcia Campos.

Launch the network process using NETWORK_PROCESS_CMD_PREFIX as a
prefix. Useful for debugging the web process with gdb, valgrind,
etc.

* UIProcess/Network/soup/NetworkProcessProxySoup.cpp:
(WebKit::NetworkProcessProxy::platformGetLaunchOptions):

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

7 years agoAdd --makeargs option to build-jsc
commit-queue@webkit.org [Tue, 10 Dec 2013 17:47:56 +0000 (17:47 +0000)]
Add --makeargs option to build-jsc
https://bugs.webkit.org/show_bug.cgi?id=125344

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-10
Reviewed by Filip Pizlo.

* Scripts/build-jsc: Handle and pass makefile arguments in jsc build.

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

7 years agoAllow us to use network process with a single process model
commit-queue@webkit.org [Tue, 10 Dec 2013 17:47:55 +0000 (17:47 +0000)]
Allow us to use network process with a single process model
https://bugs.webkit.org/show_bug.cgi?id=125507

Patch by Kwang Yul Seo <skyul@company100.net> on 2013-12-10
Reviewed by Brady Eidson.

Currently, WebContext::sendToNetworkingProcess and
WebContext::sendToNetworkingProcessRelaunchingIfNecessary assume that
network process is not used when the given process model is
ProcessModelSharedSecondaryProcess. This is not consistent with
WebContext::networkingProcessConnection which returns the networking
process connection for ProcessModelSharedSecondaryProcess.

* UIProcess/WebContext.h:
(WebKit::WebContext::sendToNetworkingProcess):
(WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary):

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

7 years agoJettison all StyleResolver data on memory pressure.
akling@apple.com [Tue, 10 Dec 2013 16:50:49 +0000 (16:50 +0000)]
Jettison all StyleResolver data on memory pressure.
<https://webkit.org/b/125498>

The StyleResolver can be rebuilt relatively quickly; we already
have an optimization that discards it some time after last use.

If we find ourseles under serious memory pressure, don't wait for
the timer to kick in, throw everything overboard right away.

~5MB progression post-pressure on Membuster3.

Reviewed by Anders Carlsson.

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

7 years agoUnreviewed EFL build fix
m.pakula@samsung.com [Tue, 10 Dec 2013 16:47:49 +0000 (16:47 +0000)]
Unreviewed EFL build fix

* CMakeLists.txt: Remove UIProcess/DrawingAreaProxy.cpp.
* PlatformGTK.cmake: Add the file above.

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

7 years ago[GTK] [CMake] Add support for building the WebKit injected bundle
mrobinson@webkit.org [Tue, 10 Dec 2013 16:43:25 +0000 (16:43 +0000)]
[GTK] [CMake] Add support for building the WebKit injected bundle
https://bugs.webkit.org/show_bug.cgi?id=116373

Reviewed by Gustavo Noronha Silva.

* PlatformGTK.cmake: Add support for building the InjectedBundle and link the WebKit2
shared library against the GObject DOM bindings.
* WebProcess/gtk/WebGtkExtensionManager.h: Properly export symbols used by the InjectedBundle.

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

7 years ago[GTK] [CMake] Add support for building the DOM bindings
mrobinson@webkit.org [Tue, 10 Dec 2013 16:41:41 +0000 (16:41 +0000)]
[GTK] [CMake] Add support for building the DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=116375

Reviewed by Gustavo Noronha Silva.

The CMake build is more complete than the autotools counterpart, so autotools doesn't consider
some supplemental IDL attributes when building the DOM bindings. To prevent API breaks we should
protect these attributes from DOM binding generation.

* Modules/battery/BatteryManager.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
* Modules/battery/NavigatorBattery.idl: Ditto.
* Modules/mediastream/HTMLMediaElementMediaStream.idl: Ditto.
* Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Ditto.
* Modules/networkinfo/NetworkInfoConnection.idl: Ditto.
* PlatformGTK.cmake: Add build steps for building the bindings.
* dom/Document.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
* html/HTMLMediaElement.idl: Ditto.

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Tue, 10 Dec 2013 16:37:35 +0000 (16:37 +0000)]
Unreviewed EFL gardening

Add failure expectations for tests added in r157725.

* platform/efl/TestExpectations:

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

7 years agoAX: [ATK] Convert the get_text atktest.c unit tests to layout tests
jdiggs@igalia.com [Tue, 10 Dec 2013 15:44:30 +0000 (15:44 +0000)]
AX: [ATK] Convert the get_text atktest.c unit tests to layout tests
https://bugs.webkit.org/show_bug.cgi?id=125497

Reviewed by Mario Sanchez Prada.

Source/WebKit/gtk:

* tests/testatk.c: Remove the portions of the remaining tests which now exist as
layout tests.
(testWebkitAtkCaretOffsets):
(testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces):
(testWebkitAtkComboBox):
(testWebkitAtkEmbeddedObjects):
(testWebkitAtkTextSelections):
(testWebkitAtkListsOfItems):
(main):

Tools:

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::stringForRange): Implemented.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::stringForRange): Implemented.

LayoutTests:

* platform/gtk/accessibility/text-for-range-combo-box-expected.txt: Added.
* platform/gtk/accessibility/text-for-range-combo-box.html: Added.
* platform/gtk/accessibility/text-for-range-embedded-objects-expected.txt: Added.
* platform/gtk/accessibility/text-for-range-embedded-objects.html: Added.
* platform/gtk/accessibility/text-for-range-entry-and-password-expected.txt: Added.
* platform/gtk/accessibility/text-for-range-entry-and-password.html: Added.
* platform/gtk/accessibility/text-for-range-extraneous-whitespace-expected.txt: Added.
* platform/gtk/accessibility/text-for-range-extraneous-whitespace.html: Added.
* platform/gtk/accessibility/text-for-range-formatted-expected.txt: Added.
* platform/gtk/accessibility/text-for-range-formatted.html: Added.
* platform/gtk/accessibility/text-for-range-heading-expected.txt: Added.
* platform/gtk/accessibility/text-for-range-heading.html: Added.
* platform/gtk/accessibility/text-for-range-list-items-expected.txt: Added.
* platform/gtk/accessibility/text-for-range-list-items.html: Added.
* platform/gtk/accessibility/text-for-range-simple-expected.txt: Added.
* platform/gtk/accessibility/text-for-range-simple.html: Added.
* platform/gtk/accessibility/text-for-range-table-cells-expected.txt: Added.
* platform/gtk/accessibility/text-for-range-table-cells.html: Added.
* platform/gtk/accessibility/text-for-range-with-link-expected.txt: Added.
* platform/gtk/accessibility/text-for-range-with-link.html: Added.
* platform/gtk/accessibility/text-for-table-expected.txt: Added.
* platform/gtk/accessibility/text-for-table.html: Added.

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

7 years ago[WK2][SOUP] WebContext::setIgnoreTLSErrors should send SetIgnoreTLSErrors to the...
commit-queue@webkit.org [Tue, 10 Dec 2013 15:39:52 +0000 (15:39 +0000)]
[WK2][SOUP] WebContext::setIgnoreTLSErrors should send SetIgnoreTLSErrors to the network process when network process is enabled
https://bugs.webkit.org/show_bug.cgi?id=125505

Patch by Kwang Yul Seo <skyul@company100.net> on 2013-12-10
Reviewed by Carlos Garcia Campos.

This is a follow-up patch for r160355.

* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::setIgnoreTLSErrors):

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

7 years agoTry to fix the EFL build
mrobinson@webkit.org [Tue, 10 Dec 2013 15:23:17 +0000 (15:23 +0000)]
Try to fix the EFL build

* CMakeLists.txt: Remove DrawingAreaImpl.cpp from the global list.
* PlatformGTK.cmake: Move it to the GTK+ specific list.

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

7 years ago[CMAKE] Remove code that disables C++0x compat warnings for gcc-4.6 and above.
commit-queue@webkit.org [Tue, 10 Dec 2013 14:33:16 +0000 (14:33 +0000)]
[CMAKE] Remove code that disables C++0x compat warnings for gcc-4.6 and above.
https://bugs.webkit.org/show_bug.cgi?id=125492

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-10
Reviewed by Zoltan Herczeg.

Remove the code that disables these warnings for GCC >= 4.6.0

* Source/cmake/WebKitHelpers.cmake:

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

7 years agoVarious fixes for the CMake GTK+ build
mrobinson@webkit.org [Tue, 10 Dec 2013 14:32:17 +0000 (14:32 +0000)]
Various fixes for the CMake GTK+ build

Reviewed by Gustavo Noronha.

.:

* Source/cmake/OptionsGTK.cmake: Disable Quota support to maintain consistency with
autotools build.

Source/WebCore:

* PlatformGTK.cmake: Update source list.

Source/WebKit2:

* CMakeLists.txt: Update the source lists.
* PlatformGTK.cmake: Ditto.

Source/WTF:

* wtf/PlatformGTK.cmake: Add Zlib library to the WTF build.

Tools:

* MiniBrowser/gtk/CMakeLists.txt: Update source list and correct the name of BrowserMarshal.h.
* TestWebKitAPI/PlatformGTK.cmake: Add GTK+ libraries to the test program. They're required.

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

7 years ago[ATK] accessibility/alt-tag-on-image-with-nonimage-role.html is failing after r160311
commit-queue@webkit.org [Tue, 10 Dec 2013 14:31:07 +0000 (14:31 +0000)]
[ATK] accessibility/alt-tag-on-image-with-nonimage-role.html is failing after r160311
https://bugs.webkit.org/show_bug.cgi?id=125504

Unreviewed ATK gardening.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-12-10

* platform/efl/TestExpectations: Marked as failing.
* platform/gtk/TestExpectations: Marked as failing.

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

7 years ago--cloop option does not work in Tools/Scripts/build-jsc.
commit-queue@webkit.org [Tue, 10 Dec 2013 14:31:04 +0000 (14:31 +0000)]
--cloop option does not work in Tools/Scripts/build-jsc.
https://bugs.webkit.org/show_bug.cgi?id=125214

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-10
Reviewed by Csaba Osztrogonác.

* Scripts/build-jsc:

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

7 years ago[WK2] [GTK] Enable the network process in the WebContext
berto@igalia.com [Tue, 10 Dec 2013 13:06:55 +0000 (13:06 +0000)]
[WK2] [GTK] Enable the network process in the WebContext
https://bugs.webkit.org/show_bug.cgi?id=125494

Reviewed by Carlos Garcia Campos.

This should be initialized using the setUsesNetworkProcess() API.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(createDefaultWebContext):
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess):

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Tue, 10 Dec 2013 12:55:15 +0000 (12:55 +0000)]
Unreviewed EFL gardening

Add failure expectations for tests that started to fail after r154906.

* platform/efl/TestExpectations:

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

7 years ago[nix][curl] Buildfix after r160310
commit-queue@webkit.org [Tue, 10 Dec 2013 12:44:41 +0000 (12:44 +0000)]
[nix][curl] Buildfix after r160310
https://bugs.webkit.org/show_bug.cgi?id=125489

Patch by Robert Sipka <sipka@inf.u-szeged.hu> on 2013-12-10
Reviewed by Gustavo Noronha Silva.

Curl doesn't include soup files.

* PlatformNix.cmake:

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

7 years ago[WK2][SOUP] initialise the Network Process with ignoreTLSErrors
commit-queue@webkit.org [Tue, 10 Dec 2013 12:21:03 +0000 (12:21 +0000)]
[WK2][SOUP] initialise the Network Process with ignoreTLSErrors
https://bugs.webkit.org/show_bug.cgi?id=125490

ResourceHandleSoup in the Network Process and is not initialised with
a policy on ignoring TLS errors.  This simply requires that the
appropriate message is created for the Network Process and the
parameter created for initialisation.

Patch by Brian Holt <brian.holt@samsung.com> on 2013-12-10
Reviewed by Gustavo Noronha Silva.

* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::setIgnoreTLSErrors):
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
* UIProcess/soup/WebContextSoup.cpp:
(WebKit::WebContext::platformInitializeNetworkProcess):

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

7 years ago[GTK] REGRESSION: www.yahoo.com redirects to the mobile version after UA change
gns@gnome.org [Tue, 10 Dec 2013 10:19:06 +0000 (10:19 +0000)]
[GTK] REGRESSION: yahoo.com redirects to the mobile version after UA change
https://bugs.webkit.org/show_bug.cgi?id=125444

Reviewed by Martin Robinson.

* platform/gtk/UserAgentGtk.cpp:
(WebCore::platformVersionForUAString): more correctly pretend we're Mac OS X.
(WebCore::standardUserAgent): ditto.

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

7 years agoMerge mark_for_landing and mark_for_commit_queue into one argument
commit-queue@webkit.org [Tue, 10 Dec 2013 10:18:29 +0000 (10:18 +0000)]
Merge mark_for_landing and mark_for_commit_queue into one argument
https://bugs.webkit.org/show_bug.cgi?id=125448

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-10
Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(CommitQueueFlag):
(Bugzilla._commit_queue_flag):
(Bugzilla._fill_attachment_form):
(Bugzilla.add_patch_to_bug):
(Bugzilla.create_bug):
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
(test_commit_queue_flag.assert_commit_queue_flag):
(test_commit_queue_flag):

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