Timeline



Dec 11, 2013:

10:38 PM Changeset in webkit [160477] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Set stack pointer in OSR exit handler
https://bugs.webkit.org/show_bug.cgi?id=125617

Not yet reviewed.

Set the stack pointer off of the callFrameRegister just like at the top of the function.

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::adjustAndJumpToTarget):

8:01 PM Changeset in webkit [160476] by gyuyoung.kim@samsung.com
  • 9 edits in trunk/Source/WebKit2

[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):

7:20 PM Changeset in webkit [160475] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Tools

Merged r156290. <rdar://problem/15498810>

7:08 PM Changeset in webkit [160474] by matthew_hanson@apple.com
  • 24 edits in branches/safari-537.74-branch

Merged r154513. <rdar://problem/15498763>

6:47 PM Changeset in webkit [160473] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

6:44 PM Changeset in webkit [160472] by Lucas Forschler
  • 1 copy in tags/Safari-538.9

New Tag.

6:35 PM Changeset in webkit [160471] by matthew_hanson@apple.com
  • 15 edits
    2 deletes in branches/safari-537.74-branch

Rolled out r160469.

6:23 PM Changeset in webkit [160470] by mark.lam@apple.com
  • 1 edit
    1 add in branches/jsCStack/Source/JavaScriptCore

Introducing MaxFrameExtentForSlowPathCall.h.
https://bugs.webkit.org/show_bug.cgi?id=125609.

Reviewed by Mark Hahnenberg.

  • assembler/MaxFrameExtentForSlowPath.h: Added.
  • defines a constant for the max amount of stack space that we need to allocate (per JS frame) for holding the outgoing args for slow path calls from JS to C functions.
5:59 PM Changeset in webkit [160469] by matthew_hanson@apple.com
  • 15 edits
    2 adds in branches/safari-537.74-branch

Merged r157821. <rdar://problem/15474133>

5:57 PM Changeset in webkit [160468] by msaboff@apple.com
  • 17 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: enable use of DFG for simple JavaScript
https://bugs.webkit.org/show_bug.cgi?id=125599

Not yet reviewed.

Added code to set up the stack pointer on entry and for call for the DFG. Changed the
SpeculativeJIT::calleeFrame*() helpers to use the stack pointer instead of the call frame
register to build the callee frame relative to the stack.

Disabled JSStack::sanitizeStack(). Removed some calls to checkStackPointerAlignment() used
for earlier debugging.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::frameRegisterCount):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::calleeFrameOffset):
(JSC::DFG::SpeculativeJIT::calleeFrameSlot):
(JSC::DFG::SpeculativeJIT::calleeArgumentSlot):
(JSC::DFG::SpeculativeJIT::calleeFrameTagSlot):
(JSC::DFG::SpeculativeJIT::calleeFramePayloadSlot):
(JSC::DFG::SpeculativeJIT::calleeArgumentTagSlot):
(JSC::DFG::SpeculativeJIT::calleeArgumentPayloadSlot):
(JSC::DFG::SpeculativeJIT::calleeFrameCallerFrame):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationThunkGenerator):
(JSC::FTL::slowPathCallThunkGenerator):

  • interpreter/JSStack.cpp:

(JSC::JSStack::sanitizeStack):

  • interpreter/JSStack.h:
  • interpreter/ProtoCallFrame.cpp:

(JSC::ProtoCallFrame::init):

  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):
(JSC::JIT::privateCompile):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_enter):
(JSC::JIT::emitSlow_op_loop_hint):

  • jit/Repatch.cpp:

(JSC::linkClosureCall):

  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
5:56 PM Changeset in webkit [160467] by benjamin@webkit.org
  • 12 edits
    2 adds in trunk/Source/WebCore

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:
5:26 PM Changeset in webkit [160466] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

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):

3:38 PM Changeset in webkit [160465] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[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.

3:36 PM Changeset in webkit [160464] by andersca@apple.com
  • 38 edits in trunk/Source/WebKit2

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):

3:17 PM Changeset in webkit [160463] by alex.christensen@flexsim.com
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed link fix.

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

Corrected 64-bit linker symbols.

3:15 PM Changeset in webkit [160462] by ddkilzer@apple.com
  • 7 edits in trunk/Source

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.

3:05 PM Changeset in webkit [160461] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

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):

3:00 PM Changeset in webkit [160460] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

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.

2:47 PM Changeset in webkit [160459] by timothy_horton@apple.com
  • 9 edits
    1 add in trunk/Tools

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.

2:46 PM Changeset in webkit [160458] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[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):

2:40 PM Changeset in webkit [160457] by Joseph Pecoraro
  • 209 edits
    4 copies
    12 moves
    11 adds
    1 delete in trunk/Source

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:
2:31 PM Changeset in webkit [160456] by commit-queue@webkit.org
  • 9 edits in trunk/Source

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:
2:13 PM Changeset in webkit [160455] by ap@apple.com
  • 13 edits
    9 adds in trunk

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.
2:13 PM Changeset in webkit [160454] by mrowe@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

<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:
2:06 PM Changeset in webkit [160453] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

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):

2:06 PM Changeset in webkit [160452] by mrowe@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

<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:
1:33 PM Changeset in webkit [160451] by betravis@adobe.com
  • 14 edits
    2 adds in trunk

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.
12:18 PM WebKitGTK/Debugging edited by berto@igalia.com
Fix typo (diff)
12:16 PM WebKitGTK/Debugging edited by berto@igalia.com
How to debug the web and network processes in WebKitGTK+ (diff)
11:49 AM Changeset in webkit [160450] by mario.prada@samsung.com
  • 9 edits in trunk

[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:
11:18 AM Changeset in webkit [160449] by andersca@apple.com
  • 9 edits
    2 deletes in trunk/Source/WebKit2

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:
11:03 AM Changeset in webkit [160448] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[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):

10:58 AM Changeset in webkit [160447] by mario.prada@samsung.com
  • 1 edit
    2 adds in trunk/LayoutTests

[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.
10:25 AM Changeset in webkit [160446] by zandobersek@gmail.com
  • 4 edits in trunk

[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.

10:23 AM Changeset in webkit [160445] by zandobersek@gmail.com
  • 5 edits
    2 adds in trunk

[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.

10:16 AM Changeset in webkit [160444] by zandobersek@gmail.com
  • 8 edits
    4 adds in trunk/Source

[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.
10:05 AM Changeset in webkit [160443] by matthew_hanson@apple.com
  • 1 edit in branches/safari-537.74-branch/Tools/Scripts/webkitdirs.pm

Merge 157303: <rdar://problem/15498872>.

10:01 AM Changeset in webkit [160442] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Source/JavaScriptCore

Merge 156934: <rdar://problem/15498872>.

9:53 AM Changeset in webkit [160441] by commit-queue@webkit.org
  • 4 edits in trunk

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
9:53 AM Changeset in webkit [160440] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Tools

Merge 154368: <rdar://problem/15498872>.

9:49 AM Changeset in webkit [160439] by mrowe@apple.com
  • 4 edits
    1 delete in trunk/Tools

<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.

9:47 AM Changeset in webkit [160438] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit

<https://webkit.org/b/125562> Remove a Leopard-specific check from WebKit.xcodeproj

Reviewed by Anders Carlsson.

  • WebKit.xcodeproj/project.pbxproj:
8:46 AM Changeset in webkit [160437] by zandobersek@gmail.com
  • 3 edits
    2 adds in trunk/Source/WebKit/gtk

[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.

8:43 AM Changeset in webkit [160436] by commit-queue@webkit.org
  • 7 edits in trunk

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:
8:40 AM Changeset in webkit [160435] by gns@gnome.org
  • 7 edits in trunk/Source/WebKit2

[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.

8:28 AM Changeset in webkit [160434] by commit-queue@webkit.org
  • 13 edits in trunk

[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.

8:16 AM Changeset in webkit [160433] by mitz@apple.com
  • 2 edits in trunk/Tools

[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.

8:10 AM Changeset in webkit [160432] by Michał Pakuła vel Rutka
  • 8 edits in trunk/Source

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.
7:42 AM Changeset in webkit [160431] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing ref-tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
7:34 AM Changeset in webkit [160430] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[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):

5:38 AM Changeset in webkit [160429] by rwlbuis@webkit.org
  • 6 edits in trunk

[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:
4:42 AM Changeset in webkit [160428] by Lucas Forschler
  • 3 edits in branches/safari-537.74-branch/Source/WebKit2

Merged r160197. <rdar://problem/15614679>

4:29 AM Changeset in webkit [160427] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Source/WebKit/win

Merged r160184. <rdar://problem/15611608>

4:26 AM Changeset in webkit [160426] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Source/WebKit

Merged r160118. <rdar://problem/15566844>

4:22 AM Changeset in webkit [160425] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Source/WebKit

Merged r160017. <rdar://problem/15566844>

4:14 AM Changeset in webkit [160424] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Source/WebCore

Merged r159691. <rdar://problem/15560410>

4:12 AM Changeset in webkit [160423] by Lucas Forschler
  • 14 edits
    2 copies in branches/safari-537.74-branch

Merged r159460. <rdar://problem/15517467>

4:00 AM Changeset in webkit [160422] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Tools

Merged r159328. <rdar://problem/15560414>

3:58 AM Changeset in webkit [160421] by Lucas Forschler
  • 5 edits in branches/safari-537.74-branch/Source/WebKit2

Merged r159173. <rdar://problem/15474120>

3:34 AM Changeset in webkit [160420] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Source/WebKit/mac

Merged r157279. <rdar://problem/15560450>

2:54 AM Changeset in webkit [160419] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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):

2:51 AM Changeset in webkit [160418] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

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:
2:28 AM Changeset in webkit [160417] by mario.prada@samsung.com
  • 13 edits
    2 adds in trunk

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.
2:00 AM Changeset in webkit [160416] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[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):

1:45 AM Changeset in webkit [160415] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r160389): SVG test assertion extravaganza.

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

1:27 AM Changeset in webkit [160414] by mrowe@apple.com
  • 26 edits in trunk

<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.

12:31 AM Changeset in webkit [160413] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

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):

Dec 10, 2013:

11:25 PM Changeset in webkit [160412] by mrowe@apple.com
  • 4 edits in trunk/Source

<http://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.

10:50 PM Changeset in webkit [160411] by fpizlo@apple.com
  • 10 edits
    2 adds in trunk

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:
9:57 PM Changeset in webkit [160410] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

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.

8:44 PM Changeset in webkit [160409] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix attempt after r160395 (second)

  • GNUmakefile.list.am:

Added new files for UserData, APIFrameHandle, APIGeometry and APIPageHandle.

8:16 PM Changeset in webkit [160408] by ryuan.choi@samsung.com
  • 5 edits in trunk/Source/WebKit2

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):

6:10 PM Changeset in webkit [160407] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

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):

6:08 PM Changeset in webkit [160406] by matthew_hanson@apple.com
  • 29 edits in branches/safari-537.74-branch/Source

Merge 154333: <rdar://problem/15498740>.

6:07 PM Changeset in webkit [160405] by mitz@apple.com
  • 6 edits in trunk/Source/WebKit2

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.

5:28 PM Changeset in webkit [160404] by ryuan.choi@samsung.com
  • 5 edits in trunk

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.
5:25 PM Changeset in webkit [160403] by matthew_hanson@apple.com
  • 6 edits in branches/safari-537.74-branch/Source

Merge 152982: <rdar://problem/15498697>.

5:11 PM Changeset in webkit [160402] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Tools

Merged r156928. <rdar://problem/15560412>

5:09 PM Changeset in webkit [160401] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Tools

Merged r156926. <rdar://problem/15560412>

5:08 PM Changeset in webkit [160400] by andersca@apple.com
  • 4 edits in trunk

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):

5:01 PM Changeset in webkit [160399] by matthew_hanson@apple.com
  • 40 edits in branches/safari-537.74-branch

Merge 152921

4:59 PM Changeset in webkit [160398] by commit-queue@webkit.org
  • 1 edit
    1 move in trunk/LayoutTests

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.
4:54 PM Changeset in webkit [160397] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

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):

4:38 PM Changeset in webkit [160396] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

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.
4:19 PM Changeset in webkit [160395] by andersca@apple.com
  • 22 edits in trunk/Source/WebKit2

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:]):

3:36 PM Changeset in webkit [160394] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

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):

3:30 PM Changeset in webkit [160393] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

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):

3:27 PM Changeset in webkit [160392] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebKit2

[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:
3:00 PM Changeset in webkit [160391] by andersca@apple.com
  • 12 edits
    1 move in trunk/Source/WebKit2

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:
2:43 PM Changeset in webkit [160390] by andersca@apple.com
  • 2 adds in trunk/Source/WebKit2/Shared

Add files.

2:28 PM Changeset in webkit [160389] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

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:
2:11 PM Changeset in webkit [160388] by andersca@apple.com
  • 6 edits
    1 delete in trunk/Source/WebKit2

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:
1:51 PM Changeset in webkit [160387] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[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:
1:48 PM Changeset in webkit [160386] by commit-queue@webkit.org
  • 11 edits in trunk

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):

1:39 PM Changeset in webkit [160385] by Beth Dakin
  • 12 edits in trunk/Source/WebKit2

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:
1:28 PM Changeset in webkit [160384] by andersca@apple.com
  • 76 edits in trunk/Source/WebKit2

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:
1:19 PM Changeset in webkit [160383] by oliver@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

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):

1:10 PM Changeset in webkit [160382] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[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.
1:07 PM Changeset in webkit [160381] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

12:12 PM Changeset in webkit [160380] by mario.prada@samsung.com
  • 9 edits in trunk

[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:
12:11 PM Changeset in webkit [160379] by mario.prada@samsung.com
  • 4 edits in trunk

[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:
11:43 AM Changeset in webkit [160378] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

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.

11:37 AM Changeset in webkit [160377] by mhahnenberg@apple.com
  • 8 edits
    1 add in trunk/Source/JavaScriptCore

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.

(JSC::Heap::collect):

  • heap/Heap.h:
  • heap/RecursiveAllocationScope.h: Added.

(JSC::RecursiveAllocationScope::RecursiveAllocationScope):
(JSC::RecursiveAllocationScope::~RecursiveAllocationScope):

  • runtime/VM.h:
11:29 AM Changeset in webkit [160376] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Source/WTF

Merge r159892

10:54 AM Changeset in webkit [160375] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[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.
10:53 AM Changeset in webkit [160374] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk

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.
10:49 AM Changeset in webkit [160373] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

[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):

9:47 AM Changeset in webkit [160372] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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.
9:47 AM Changeset in webkit [160371] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

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):

8:50 AM Changeset in webkit [160370] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

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.

8:47 AM Changeset in webkit [160369] by Michał Pakuła vel Rutka
  • 3 edits in trunk/Source/WebKit2

Unreviewed EFL build fix

  • CMakeLists.txt: Remove UIProcess/DrawingAreaProxy.cpp.
  • PlatformGTK.cmake: Add the file above.
8:43 AM Changeset in webkit [160368] by Martin Robinson
  • 3 edits in trunk/Source/WebKit2

[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.
8:41 AM Changeset in webkit [160367] by Martin Robinson
  • 9 edits in trunk/Source/WebCore

[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.
8:37 AM Changeset in webkit [160366] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add failure expectations for tests added in r157725.

  • platform/efl/TestExpectations:
7:44 AM Changeset in webkit [160365] by jdiggs@igalia.com
  • 6 edits
    22 adds in trunk

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.
7:39 AM Changeset in webkit [160364] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[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):

7:23 AM Changeset in webkit [160363] by Martin Robinson
  • 3 edits in trunk/Source/WebKit2

Try to fix the EFL build

  • CMakeLists.txt: Remove DrawingAreaImpl.cpp from the global list.
  • PlatformGTK.cmake: Move it to the GTK+ specific list.
6:33 AM Changeset in webkit [160362] by commit-queue@webkit.org
  • 2 edits in trunk

[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:
6:32 AM Changeset in webkit [160361] by Martin Robinson
  • 12 edits in trunk

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.
6:31 AM Changeset in webkit [160360] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[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.
6:31 AM Changeset in webkit [160359] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

--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:
5:49 AM WebKitGTK/2.2.x edited by gns@gnome.org
(diff)
5:06 AM Changeset in webkit [160358] by berto@igalia.com
  • 3 edits in trunk/Source/WebKit2

[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):

4:55 AM Changeset in webkit [160357] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

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

  • platform/efl/TestExpectations:
4:44 AM Changeset in webkit [160356] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[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:
4:21 AM Changeset in webkit [160355] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[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):

2:19 AM Changeset in webkit [160354] by gns@gnome.org
  • 2 edits in trunk/Source/WebCore

[GTK] REGRESSION: www.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.

2:18 AM Changeset in webkit [160353] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

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):

2:07 AM Changeset in webkit [160352] by gns@gnome.org
  • 4 edits in trunk/Source/WebCore

[Soup] Send original encoded data size to didReceiveBuffer
https://bugs.webkit.org/show_bug.cgi?id=125410

Reviewed by Martin Robinson.

No tests, the only way to test this seems to be through the inspector UI.

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal): data member to track stream
position.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::currentStreamPosition): obtains the current stream position by querying
the first seekable input stream we find.
(WebCore::nextMultipartResponsePartCallback): store the position before we start reading a new part.
(WebCore::sendRequestCallback): store the position before we start reading the response body.
(WebCore::readCallback): pass the position delta to didReceiveData.

12:51 AM WebKitGTK/2.2.x edited by sergio@webkit.org
(diff)
12:36 AM WebKitGTK/2.2.x edited by sergio@webkit.org
(diff)

Dec 9, 2013:

11:19 PM Changeset in webkit [160351] by msaboff@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ctiNativeCallFallback and friends should renamed ...NativeTailCall
https://bugs.webkit.org/show_bug.cgi?id=125485

Not yet reviewed.

Changed ctiNativeCallFallback to ctiNativeTailCall and nativeCallFallbackGenerator
to nativeTailCallGenerator to be more descriptive of what is happening.

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiNativeTailCall):

  • jit/JITThunks.h:
  • jit/ThunkGenerators.cpp:

(JSC::nativeTailCallGenerator):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):
(JSC::imulThunkGenerator):
(JSC::arrayIteratorNextThunkGenerator):

  • jit/ThunkGenerators.h:
10:54 PM Changeset in webkit [160350] by msaboff@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Fixed spelling errors in the ChangeLog entry for
CStack Branch: Fix baseline JIT for basic operation

9:57 PM Changeset in webkit [160349] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Clear out font width measurement caches on memory pressure.
<https://webkit.org/b/125481>

The data kept in WidthCaches can be regenerated on demand. Throwing
it away when we're under memory pressure buys us ~4MB on Membuster3.

Reviewed by Antti Koivisto.

9:52 PM Changeset in webkit [160348] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Impose and enforce some basic rules of sanity for where Phi functions are allowed to occur and where their (optional) corresponding MovHints can be
https://bugs.webkit.org/show_bug.cgi?id=125480

Reviewed by Geoffrey Garen.

Previously, if you wanted to insert some speculation right after where a value was
produced, you'd get super confused if that value was produced by a Phi node. You can't
necessarily insert speculations after a Phi node because Phi nodes appear in this
special sequence of Phis and MovHints that establish the OSR exit state for a block.
So, you'd probably want to search for the next place where it's safe to insert things.
We already do this "search for beginning of next bytecode instruction" search by
looking at the next node that has a different CodeOrigin. But this would be hard for a
Phi because those Phis and MovHints have basically random CodeOrigins and they can all
have different CodeOrigins.

This change imposes some sanity for this situation:

  • Phis must have unset CodeOrigins.
  • In each basic block, all nodes that have unset CodeOrigins must come before all nodes that have set CodeOrigins.

This all ends up working out just great because prior to this change we didn't have a
use for unset CodeOrigins. I think it's appropriate to make "unset CodeOrigin" mean
that we're in the prologue of a basic block.

It's interesting what this means for block merging, which we don't yet do in SSA.
Consider merging the edge A->B. One possibility is that the block merger is now
required to clean up Phi/Upsilons, and reascribe the MovHints to have the CodeOrigin of
the A's block terminal. But an answer that might be better is that the originless
nodes at the top of the B are just given the origin of the terminal and we keep the
Phis. That would require changing the above rules. We'll see how it goes, and what we
end up picking...

Overall, this special-things-at-the-top rule is analogous to what other SSA-based
compilers do. For example, LLVM has rules mandating that Phis appear at the top of a
block.

  • bytecode/CodeOrigin.cpp:

(JSC::CodeOrigin::dump):

  • dfg/DFGOSRExitBase.h:

(JSC::DFG::OSRExitBase::OSRExitBase):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::validateSSA):

7:24 PM Changeset in webkit [160347] by fpizlo@apple.com
  • 24 edits
    5 adds in trunk/Source/JavaScriptCore

Reveal array bounds checks in DFG IR
https://bugs.webkit.org/show_bug.cgi?id=125253

Reviewed by Oliver Hunt and Mark Hahnenberg.

In SSA mode, this reveals array bounds checks and the load of array length in DFG IR,
making this a candidate for LICM.

This also fixes a long-standing performance bug where the JSObject slow paths would
always create contiguous storage, rather than type-specialized storage, when doing a
"storage creating" storage, like:

var o = {};
o[0] = 42;

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):
(JSC::exitKindIsCountable):

  • bytecode/ExitKind.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::permitsBoundsCheckLowering):
(JSC::DFG::ArrayMode::permitsBoundsCheckLowering):

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::lengthNeedsStorage):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSSALoweringPhase.cpp: Added.

(JSC::DFG::SSALoweringPhase::SSALoweringPhase):
(JSC::DFG::SSALoweringPhase::run):
(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
(JSC::DFG::performSSALowering):

  • dfg/DFGSSALoweringPhase.h: Added.
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCheckInBounds):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::contiguousPutByValOutOfBounds):

  • runtime/JSObject.cpp:

(JSC::JSObject::convertUndecidedForValue):
(JSC::JSObject::createInitialForValueAndSet):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLength):

  • runtime/JSObject.h:
  • tests/stress/float32array-out-of-bounds.js: Added.

(make):
(foo):
(test):

  • tests/stress/int32-object-out-of-bounds.js: Added.

(make):
(foo):
(test):

  • tests/stress/int32-out-of-bounds.js: Added.

(foo):
(test):

6:08 PM Changeset in webkit [160346] by weinig@apple.com
  • 6 edits
    1 delete in trunk/Source/WTF

Remove FixedArray
https://bugs.webkit.org/show_bug.cgi?id=125478

Reviewed by Anders Carlsson.

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/FixedArray.h: Removed.
5:47 PM Changeset in webkit [160345] by Seokju Kwon
  • 2 edits in trunk/Source/WebCore

Web Inspector: Remove enabled() in InspectorRuntimeAgent.
https://bugs.webkit.org/show_bug.cgi?id=125476

Reviewed by Joseph Pecoraro.

Dead code. It's never called anywhere.

No new tests, no behavior change.

  • inspector/InspectorRuntimeAgent.h:
5:28 PM Changeset in webkit [160344] by weinig@apple.com
  • 24 edits in trunk/Source

Replace use of WTF::FixedArray with std::array
https://bugs.webkit.org/show_bug.cgi?id=125475

Reviewed by Anders Carlsson.

../JavaScriptCore:

  • bytecode/CodeBlockHash.cpp:

(JSC::CodeBlockHash::dump):

  • bytecode/Opcode.cpp:

(JSC::OpcodeStats::~OpcodeStats):

  • dfg/DFGCSEPhase.cpp:
  • ftl/FTLAbstractHeap.h:
  • heap/MarkedSpace.h:
  • parser/ParserArena.h:
  • runtime/CodeCache.h:
  • runtime/DateInstanceCache.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):

  • runtime/JSGlobalObject.h:
  • runtime/JSString.h:
  • runtime/LiteralParser.h:
  • runtime/NumericStrings.h:
  • runtime/RegExpCache.h:
  • runtime/SmallStrings.h:

../WebCore:

  • crypto/parameters/CryptoAlgorithmAesCbcParams.h:
  • platform/graphics/GlyphMetricsMap.h:

../WTF:

  • wtf/AVLTree.h:
  • wtf/Bitmap.h:
  • wtf/SixCharacterHash.cpp:

(WTF::integerToSixCharacterHashString):

  • wtf/SixCharacterHash.h:
4:37 PM Changeset in webkit [160343] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Change nativeForGenerator fallBack bool to an enum
https://bugs.webkit.org/show_bug.cgi?id=125473

Reviewed by Filip Pizlo.

Change the "bool fallBack" to an enum name ThunkEntryType with values
EnterViaCall and EnterViaJump to indicate how the thunk will be entered.

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):
(JSC::nativeCallFallbackGenerator):

4:12 PM Changeset in webkit [160342] by timothy_horton@apple.com
  • 1 edit
    1 delete in trunk/Tools

Remove dead extract_reference_link.py (and the reftests module)
https://bugs.webkit.org/show_bug.cgi?id=125116

Reviewed by Ryosuke Niwa.

This code doesn't seem to have ever been used.

  • Scripts/webkitpy/layout_tests/reftests/init.py: Removed.
  • Scripts/webkitpy/layout_tests/reftests/extract_reference_link.py: Removed.
  • Scripts/webkitpy/layout_tests/reftests/extract_reference_link_unittest.py: Removed.
4:11 PM Changeset in webkit [160341] by andersca@apple.com
  • 3 edits
    6 adds in trunk/Source/WebKit2

Begin working on a UserData class intended to replace UserMessageCoders
https://bugs.webkit.org/show_bug.cgi?id=125471

Reviewed by Sam Weinig.

  • Shared/APIFrameHandle.cpp: Added.
  • Shared/APIFrameHandle.h: Added.

Add a new API::FrameHandle class that represents a frame.

  • Shared/APIObject.h:
  • Shared/APIPageHandle.cpp: Added.
  • Shared/APIPageHandle.h: Added.

Add a new API::PageHandle class that represents a page.

  • Shared/UserData.cpp: Added.

(WebKit::UserData::UserData):
(WebKit::UserData::~UserData):
(WebKit::UserData::encode):
(WebKit::UserData::decode):

  • Shared/UserData.h: Added.

Add a UserData class that can be encoded and decoded. This will be used for sending data

between the web process and UI process without doing any of the Page -> BundlePage etc conversions.

  • WebKit2.xcodeproj/project.pbxproj:
3:50 PM Changeset in webkit [160340] by msaboff@apple.com
  • 12 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix baseline JIT for basic operation
https://bugs.webkit.org/show_bug.cgi?id=125470

Not yet reviewed.

Fixed compileOpCall and it's slow case to properly adjust the stack pointer before
and after a call.

Cleaned up the calling convention in the various thunks. Adjusted the stack
pointer at the end of the arity fixup thunk to account for the frame moving.

Added ctiNativeCallFallback() thunk generator for when another thunk that can't
perform its operation inline needs to make a native call. This thunk generator
differes from ctiNativeCall() in that it doesn't emit a funciton prologue, thus
allowing the original thunk to jump to the "fallback" thunk. I'm open to another
name beside "fallback". Maybe "ctiNativeTailCall()".

Fixed the OSR entry handling in the LLInt prologue macro to properly account
for the callee saving the caller frame pointer.

Added stack alignement check function for use in debug builds to find and break
if the stack pointer is not appropriately aligned.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::checkStackPointerAlignment):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::JIT::frameRegisterCountFor):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_enter):

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiNativeCallFallback):

  • jit/JITThunks.h:
  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):
(JSC::nativeForGenerator):
(JSC::nativeCallFallbackGenerator):
(JSC::arityFixup):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):
(JSC::imulThunkGenerator):
(JSC::arrayIteratorNextThunkGenerator):

  • jit/ThunkGenerators.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
3:48 PM Changeset in webkit [160339] by Lucas Forschler
  • 2 edits in tags/Safari-538.8.1/Source/WebKit/mac

Merge 160326 for <rdar://problem/15615561>.

3:45 PM Changeset in webkit [160338] by benjamin@webkit.org
  • 7 edits
    4 adds in trunk/Source/WebCore

Refactor the CFURLConnectionClient to be the synchronous implementation of an abstract network delegate
https://bugs.webkit.org/show_bug.cgi?id=125379

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

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: Added.

(WebCore::ResourceHandleCFURLConnectionDelegate::ResourceHandleCFURLConnectionDelegate):
(WebCore::ResourceHandleCFURLConnectionDelegate::~ResourceHandleCFURLConnectionDelegate):
(WebCore::ResourceHandleCFURLConnectionDelegate::willSendRequestCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didFinishLoadingCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didFailCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::willCacheResponseCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveChallengeCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didSendBodyDataCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpaceCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataArrayCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: Added.
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Added.

(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::SynchronousResourceHandleCFURLConnectionDelegate):
(WebCore::synthesizeRedirectResponseIfNecessary):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveData):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFail):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willCacheResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveChallenge):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didSendBodyData):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpace):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray):

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Added.
3:44 PM Changeset in webkit [160337] by rniwa@webkit.org
  • 5 edits
    1 delete in trunk

REGRESSION(r136280): input[type=image] should assume coords of 0,0 when activated without physically clicking
https://bugs.webkit.org/show_bug.cgi?id=125392

Reviewed by Darin Adler.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/3c33d42207cd209bb171083ba66c225f694f2101

Activating an image button with the keyboard or element.click() should result in selected coords of (0,0) per
http://www.w3.org/TR/2013/CR-html5-20130806/forms.html#image-button-state-(type=image)
"If the user activates the control without explicitly selecting a coordinate, then the coordinate (0,0) must be assumed."

New behavior also matches that of Internet Explorer and Firefox.

Tests: fast/forms/input-image-submit.html

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::handleDOMActivateEvent): Set m_clickLocation to (0, 0) for simulated events.

LayoutTests:

  • fast/events/stopPropagation-submit-expected.txt:
  • fast/forms/input-image-submit.html:
  • platform/gtk/fast/events/stopPropagation-submit-expected.txt: Removed.
3:36 PM Changeset in webkit [160336] by jer.noble@apple.com
  • 28 edits
    5 adds in trunk

[MSE] Add support for VideoPlaybackMetrics.
https://bugs.webkit.org/show_bug.cgi?id=125380

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-video-playback-quality.html

Add a new object type VideoPlaybackQuality to be returned by
HTMLMediaElement.getVideoPlaybackQuality().

HTMLMediaElements must separately track a droppedVideoFrame count, as
certain operations on SourceBuffer will drop incoming frames, which must
be accounted for. Reset this count when the media engine changes, which is
indicitive of a new media load requset starting.

Add the new VideoPlaybackQuality class:

  • Modules/mediasource/VideoPlaybackQuality.cpp: Added.

(WebCore::VideoPlaybackQuality::create):
(WebCore::VideoPlaybackQuality::VideoPlaybackQuality):

  • Modules/mediasource/VideoPlaybackQuality.h: Added.

(WebCore::VideoPlaybackQuality::creationTime):
(WebCore::VideoPlaybackQuality::totalVideoFrames):
(WebCore::VideoPlaybackQuality::droppedVideoFrames):
(WebCore::VideoPlaybackQuality::corruptedVideoFrames):
(WebCore::VideoPlaybackQuality::totalFrameDelay):

  • Modules/mediasource/VideoPlaybackQuality.idl: Added.

Add support for the new class to HTMLMediaElement:

  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::shouldUseVideoPluginProxy):
(HTMLMediaElement::getVideoPlaybackQuality):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:

Report the video quality metrics from the MediaPlayer:

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::totalVideoFrames):
(WebCore::MediaPlayer::droppedVideoFrames):
(WebCore::MediaPlayer::corruptedVideoFrames):
(WebCore::MediaPlayer::totalFrameDelay):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::totalVideoFrames):
(WebCore::MediaPlayerPrivateInterface::droppedVideoFrames):
(WebCore::MediaPlayerPrivateInterface::corruptedVideoFrames):
(WebCore::MediaPlayerPrivateInterface::totalFrameDelay):

Correctly report the dropped frame count:

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::TrackBuffer::TrackBuffer): needsRandomAccessFlag defaults to true.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Check the sync status of the incoming sample.
(WebCore::SourceBuffer::didDropSample): Notify the media element of a dropped frame.

  • Modules/mediasource/SourceBuffer.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(HTMLMediaElement::mediaPlayerEngineUpdated): Reset m_droppedFrameCount.
(HTMLMediaElement::getVideoPlaybackQuality): Return a new VideoPlaybackQuality object.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::incrementDroppedFrameCount): Simple incrementer.

  • platform/MediaSample.h:

(WebCore::MediaSample::isSync): Convenience function.
(WebCore::MediaSample::isNonDisplaying): Ditto.

Add support in the AVFoundation MediaSource Engine:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::droppedVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::corruptedVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):

Add support in the Mock MediaSource Engine:

  • platform/mock/mediasource/MockBox.h:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::totalVideoFrames): Simple accessor.
(WebCore::MockMediaPlayerMediaSource::droppedVideoFrames): Ditto.
(WebCore::MockMediaPlayerMediaSource::corruptedVideoFrames): Ditto.
(WebCore::MockMediaPlayerMediaSource::totalFrameDelay): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):

  • platform/mock/mediasource/MockMediaSourcePrivate.h:
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::enqueueSample): Increment the frame counts based on

the incoming sample.

  • platform/mock/mediasource/MockSourceBufferPrivate.h:

Add the new files to the project:

  • bindings/gobject/GNUmakefile.am:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • GNUMakefile.list.am:
  • CMakeLists.txt:

LayoutTests:

  • media/media-source/media-source-video-playback-quality-expected.txt: Added.
  • media/media-source/media-source-video-playback-quality.html: Added.
  • media/media-source/mock-media-source.js:

(var):

3:27 PM Changeset in webkit [160335] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid divide by zero in scrollbar code, and protect against Obj-C exceptions
https://bugs.webkit.org/show_bug.cgi?id=125469
<rdar://problem/15535772>

Reviewed by Beth Dakin.

In ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(), proportion could
end up as NaN if scrollbar->totalSize() were zero. Protect against that.

Also wrap functions that call into Objective-C with BEGIN_BLOCK_OBJC_EXCEPTIONS/
END_BLOCK_OBJC_EXCEPTIONS.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
(WebCore::scrollbarPainterPaint):

3:27 PM Changeset in webkit [160334] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Remove miscellaneous unnecessary build statements
https://bugs.webkit.org/show_bug.cgi?id=125466

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-09
Reviewed by Darin Adler.

3:27 PM Changeset in webkit [160333] by Lucas Forschler
  • 1 copy in tags/Safari-538.8.1

New Tag.

3:11 PM Changeset in webkit [160332] by fpizlo@apple.com
  • 3 edits in trunk/WebKitLibraries

Unreviewed, update LLVM binary drops to r196830.

  • LLVMIncludesMountainLion.tar.bz2:
  • LLVMLibrariesMountainLion.tar.bz2:
2:38 PM Changeset in webkit [160331] by Lucas Forschler
  • 5 edits in branches/safari-537.74-branch/Source

Versioning.

2:06 PM Changeset in webkit [160330] by rniwa@webkit.org
  • 14 edits
    6 adds in trunk

Implement Document.cloneNode()
https://bugs.webkit.org/show_bug.cgi?id=11646

Reviewed by Darin Adler.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/dc7879025e01d63be9fcf6a84ca6c9b8b5768a80

Implement the behavior specified in the current DOM4 working draft:
http://www.w3.org/TR/2013/WD-dom-20131107/#dom-node-clonenode

Tests: fast/dom/Document/clone-node.html

fast/dom/HTMLDocument/clone-node-quirks-mode.html
svg/custom/clone-node.html

  • dom/Document.cpp:

(WebCore::Document::cloneNode):
(WebCore::Document::cloneDocumentWithoutChildren):
(WebCore::Document::cloneDataFromDocument):

  • dom/Document.h:
  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::cloneDocumentWithoutChildren):

  • html/HTMLDocument.h:
  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::cloneDocumentWithoutChildren):

  • svg/SVGDocument.h:

LayoutTests:

  • dom/xhtml/level3/core/documentgetinputencoding04-expected.txt:
  • dom/xhtml/level3/core/documentgetxmlencoding05-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode01-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode21-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode25-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode26-expected.txt:
  • fast/dom/Document/clone-node-expected.txt: Added.
  • fast/dom/Document/clone-node.html: Added.
  • fast/dom/HTMLDocument/clone-node-quirks-mode-expected.txt: Added.
  • fast/dom/HTMLDocument/clone-node-quirks-mode.html: Added.
  • svg/custom/clone-node-expected.txt: Added.
  • svg/custom/clone-node.html: Added.
2:04 PM Changeset in webkit [160329] by Lucas Forschler
  • 1 copy in branches/safari-537.74-branch

New Branch.

2:02 PM Changeset in webkit [160328] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CSE should work in SSA
https://bugs.webkit.org/show_bug.cgi?id=125430

Reviewed by Oliver Hunt and Mark Hahnenberg.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::run):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

1:15 PM Changeset in webkit [160327] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r160260): Memory pressure signal causes web process to hang.
<https://webkit.org/b/125465>

Reviewed by Tim Horton.

This command caused all of my web processes to hang:

notifyutil -p org.WebKit.lowMemory

This only happens when the cache pruning code encounters a resource
using purgeable memory.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneLiveResourcesToSize):

Grab the next CachedResource pointer before continuing the loop.

12:38 PM Changeset in webkit [160326] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix the build of projects including <WebKit/WebUIDelegatePrivate.h>

Rubber-stamped by Dan Bernstein.

  • WebView/WebAllowDenyPolicyListener.h:

Use TARGET_OS_IPHONE rather than PLATFORM(IOS) in an exposed header.

12:20 PM Changeset in webkit [160325] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/Source/JavaScriptCore

Remove docs/make-bytecode-docs.pl
https://bugs.webkit.org/show_bug.cgi?id=125462

This sript is very old and no longer outputs useful data since the
op code definitions have moved from Interpreter.cpp.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-09
Reviewed by Darin Adler.

  • DerivedSources.make:
  • docs/make-bytecode-docs.pl: Removed.
12:17 PM Changeset in webkit [160324] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] OpenGL compile error.
https://bugs.webkit.org/show_bug.cgi?id=125383

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-09
Reviewed by Darin Adler.

  • platform/graphics/opengl/Extensions3DOpenGLES.h: Define GL_HALF_FLOAT_ARB on Windows when OPENGL_ES_2 is used.
12:16 PM Changeset in webkit [160323] by mario.prada@samsung.com
  • 22 edits in trunk

[ATK] Translate ATK_ROLE_SECTION into "AXSection" in DRT/WKTR
https://bugs.webkit.org/show_bug.cgi?id=125456

Reviewed by Chris Fleizach.

Tools:

Return 'AXSection' for section roles instead of 'AXDiv'.

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

LayoutTests:

Update expectations for GTK and EFL that were expecting AXDiv for
section roles, so they now expect AXSection.

  • accessibility/adjacent-continuations-cause-assertion-failure-expected.txt:
  • accessibility/div-within-anchors-causes-crash-expected.txt:
  • platform/efl-wk1/accessibility/image-map2-expected.txt:
  • platform/efl-wk1/accessibility/transformed-element-expected.txt:
  • platform/efl-wk2/accessibility/image-map2-expected.txt:
  • platform/efl-wk2/accessibility/transformed-element-expected.txt:
  • platform/efl/accessibility/media-emits-object-replacement-expected.txt:
  • platform/gtk/accessibility/aria-roles-unignored-expected.txt:
  • platform/gtk/accessibility/aria-roles-unignored.html:
  • platform/gtk/accessibility/entry-and-password-expected.txt:
  • platform/gtk/accessibility/image-map2-expected.txt:
  • platform/gtk/accessibility/media-emits-object-replacement-expected.txt:
  • platform/gtk/accessibility/object-with-title-expected.txt:
  • platform/gtk/accessibility/object-with-title.html:
  • platform/gtk/accessibility/replaced-objects-in-anonymous-blocks-expected.txt:
  • platform/gtk/accessibility/spans-paragraphs-and-divs-expected.txt:
  • platform/gtk/accessibility/spans-paragraphs-and-divs.html:
  • platform/gtk/accessibility/transformed-element-expected.txt:
11:45 AM Changeset in webkit [160322] by commit-queue@webkit.org
  • 12 edits in trunk

Fix handling of 'inherit' and 'initial' for grid lines.
https://bugs.webkit.org/show_bug.cgi?id=125223

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-12-09
Reviewed by Darin Adler.

'initial' and 'inherit' are always allowed values for CSS properties.
As the CSSParser handles them automatically, those 2 values were never
taken care of in StyleResolver, leading to crashes.

Source/WebCore:

Added tests cases for 'inherit' and 'initial' to the following tests:

fast/css-grid-layout/grid-item-column-row-get-set.html
fast/css-grid-layout/grid-item-end-after-get-set.html
fast/css-grid-layout/grid-item-start-before-get-set.html

Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleGridItemData.cpp:

(WebCore::StyleGridItemData::StyleGridItemData):

LayoutTests:

Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision

  • fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-end-after-get-set.html:
  • fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-start-before-get-set.html:
  • fast/css-grid-layout/resources/grid-item-column-row-parsing-utils.js:
11:30 AM Changeset in webkit [160321] by ryuan.choi@samsung.com
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] LayoutTests are broken after r160301
https://bugs.webkit.org/show_bug.cgi?id=125447

Reviewed by Darin Adler.

r160301 moved FullScreenManagerProxyClient logic to WebViewEfl, child class
of CoordinatedGraphics::WebView, because implementations are EFL specific.
However, CoordinatedGraphics::WebView creates WebPageProxy in constructor and
WebPageProxy requires FullScreenManagerProxyClient in constructor.
So, All WK2/Efl based applications got crashed

This patch adds virtual methods for FullScreenManagerProxyClient to CoordinatedGraphics::WebView
so that WebPageProxy can get FullScreenManagerProxyClient instance without
pure viertual methods.

  • UIProcess/API/C/CoordinatedGraphics/WKView.cpp:

(WKViewExitFullScreen):

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::fullScreenManagerProxyClient):
(WebKit::WebView::requestExitFullScreen):
renamed from exitFullScreen not to conflict with methods of FullScreenManagerProxyClient.

  • UIProcess/CoordinatedGraphics/WebView.h:
  • UIProcess/efl/WebViewEfl.cpp:
  • UIProcess/efl/WebViewEfl.h:
11:21 AM Changeset in webkit [160320] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Inspector.json and CodeGenerator tweaks
https://bugs.webkit.org/show_bug.cgi?id=125321

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-09
Reviewed by Timothy Hatcher.

  • inspector/protocol/Runtime.json:

Runtime.js was depending on Network.FrameId. This is a layering
violation, so ideally we can fix this later. For now, just copy
the FrameId type into Runtime. They are strings so all is good.

  • inspector/CodeGeneratorInspector.py:

(Generator.EventMethodStructTemplate.append_epilog):

  • inspector/CodeGeneratorInspectorStrings.py:

Improve --help usage information.
Make the script work with a single domain json file.
Add ASCIILiteral's where appropriate.

11:01 AM Changeset in webkit [160319] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style should check for extra newlines at EOF
https://bugs.webkit.org/show_bug.cgi?id=125424

Patch by Brian J. Burg <Brian Burg> on 2013-12-09
Reviewed by Darin Adler.

Report a style violation if extraneous newlines are added
to the end of a C++ file. There should only be one newline at EOF.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_for_missing_new_line_at_eof): Renamed from check_for_new_line_at_eof.
(check_for_extra_new_line_at_eof): Added.
(_process_lines): Added new check and renamed existing EOF check.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_extra_newlines_at_eof): Added.
(CppStyleTest.test_extra_newlines_at_eof.do_test): Added.

10:57 AM Changeset in webkit [160318] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style: ternary operator in macro call identified as initialization list
https://bugs.webkit.org/show_bug.cgi?id=125443

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-09
Reviewed by Ryosuke Niwa.

Do not match initialization list when questionmark is placed before :

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_member_initialization_list):

10:51 AM Changeset in webkit [160317] by rniwa@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

Add a test for style sharing if grandparents matches different rule chain and nth-last child
https://bugs.webkit.org/show_bug.cgi?id=125397

Reviewed by Darin Adler.

Add the test from https://chromium.googlesource.com/chromium/blink/+/30ff49bf63cdec31070ab4eda8784564f56789d4
and https://chromium.googlesource.com/chromium/blink/+/3cb1724bb52f3607006ddd0a89d356da23766115
so that we may not introduce the same regressions in WebKit.

  • fast/css/nth-last-child-recalc-expected.html: Added.
  • fast/css/nth-last-child-recalc.html: Added.
  • fast/css/style-sharing-grand-parent-invalidate-expected.txt: Added.
  • fast/css/style-sharing-grand-parent-invalidate.html: Added.
10:40 AM Changeset in webkit [160316] by jdiggs@igalia.com
  • 11 edits
    16 adds in trunk

AX: [ATK] Convert the get_{string,text}_at_offset atktest.c unit tests to layout tests
https://bugs.webkit.org/show_bug.cgi?id=125451

Reviewed by Mario Sanchez Prada.

Source/WebKit/gtk:

  • tests/testatk.c: Remove the tests which now exist as layout tests. Note that the

tests for atk_text_get_text_{before,after}_offset were removed without equivalents
added to the layout tests. The same is true for the END AtkTextBoundary types. Both
have been deprecated in ATK and are not being used by AT-SPI2 assistive technologies.
(testGetTextFunction):
(main):

Tools:

Create the needed callbacks for DRT and WKTR.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(characterAtOffsetCallback): added
(wordAtOffsetCallback): added
(lineAtOffsetCallback): added
(sentenceAtOffsetCallback): added
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(stringAtOffset): added
(AccessibilityUIElement::characterAtOffset): added
(AccessibilityUIElement::wordAtOffset): added
(AccessibilityUIElement::lineAtOffset): added
(AccessibilityUIElement::sentenceAtOffset): added

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::characterAtOffset): added
(WTR::AccessibilityUIElement::wordAtOffset): added
(WTR::AccessibilityUIElement::lineAtOffset): added
(WTR::AccessibilityUIElement::sentenceAtOffset): added

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::stringAtOffset): added
(WTR::AccessibilityUIElement::characterAtOffset): added
(WTR::AccessibilityUIElement::wordAtOffset): added
(WTR::AccessibilityUIElement::lineAtOffset): added
(WTR::AccessibilityUIElement::sentenceAtOffset): added

LayoutTests:

New tests and expectations based on the tests and expectations found in atktest.c.
These were done as platform-specific tests because only ATK-based assistive technologies
seem to have any need for this support.

  • platform/gtk/accessibility/text-at-offset-embedded-objects-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-embedded-objects.html: Added.
  • platform/gtk/accessibility/text-at-offset-newlines-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-newlines.html: Added.
  • platform/gtk/accessibility/text-at-offset-preformatted-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-preformatted.html: Added.
  • platform/gtk/accessibility/text-at-offset-simple-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-simple.html: Added.
  • platform/gtk/accessibility/text-at-offset-special-chars-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-special-chars.html: Added.
  • platform/gtk/accessibility/text-at-offset-textarea-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-textarea.html: Added.
  • platform/gtk/accessibility/text-at-offset-textinput-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-textinput.html: Added.
  • platform/gtk/accessibility/text-at-offset-wrapped-lines-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-wrapped-lines.html: Added.
10:36 AM Changeset in webkit [160315] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix sh4 LLINT build.
https://bugs.webkit.org/show_bug.cgi?id=125454

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-12-09
Reviewed by Michael Saboff.

In LLINT, sh4 backend implementation didn't handle properly conditional jumps using
a LabelReference instance. This patch fixes it through sh4LowerMisplacedLabels phase.
Also, to avoid the need of a 4th temporary gpr, this phase is triggered later in
getModifiedListSH4.

  • offlineasm/sh4.rb:
10:30 AM Changeset in webkit [160314] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Nix] Fix file name typo in PlatformNix.cmake
https://bugs.webkit.org/show_bug.cgi?id=125457

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-09
Reviewed by Gustavo Noronha Silva.

Wrong file name introduced in http://trac.webkit.org/changeset/160310.

  • PlatformNix.cmake:
10:30 AM Changeset in webkit [160313] by Michał Pakuła vel Rutka
  • 8 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add failure test expectations and rebaselines for failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl-wk1/fast/forms/validation-message-appearance-expected.png: Rebaseline after r159915.
  • platform/efl-wk2/fast/forms/validation-message-appearance-expected.png: Ditto.
  • platform/efl/fast/forms/validation-message-appearance-expected.txt: Ditto.
  • platform/efl/fast/parser/entity-comment-in-textarea-expected.png: Rebaseline after r159192.
  • platform/efl/fast/parser/entity-comment-in-textarea-expected.txt: Ditto.
8:18 AM Changeset in webkit [160312] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Memory leak due to incorrect use of gst_tag_list_merge in TextCombinerGStreamer
https://bugs.webkit.org/show_bug.cgi?id=125452

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

No new tests because this fixes a memory leak.

  • platform/graphics/gstreamer/TextCombinerGStreamer.cpp:

(webkitTextCombinerPadEvent): Use gst_tag_list_insert instead of gst_tag_list_merge, since we don't want to create a new list.

6:17 AM Changeset in webkit [160311] by Chris Fleizach
  • 4 edits
    2 adds in trunk

AX: WebKit ignores @alt on IMG elements with role="text"
https://bugs.webkit.org/show_bug.cgi?id=125363

Reviewed by Mario Sanchez Prada.

Source/WebCore:

If an <img> element has a different role, the alt attribute should still be used in the
name calculation if present.

Test: accessibility/alt-tag-on-image-with-nonimage-role.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::usesAltTagForTextComputation):
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::accessibilityDescription):
(WebCore::AccessibilityNodeObject::text):

  • accessibility/AccessibilityNodeObject.h:

LayoutTests:

  • accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Added.
  • accessibility/alt-tag-on-image-with-nonimage-role.html: Added.
6:10 AM Changeset in webkit [160310] by Martin Robinson
  • 14 edits
    2 adds in trunk/Source

[WK2][Soup] Use didReceiveBuffer instead of didReceiveData
https://bugs.webkit.org/show_bug.cgi?id=118598

Reviewed by Gustavo Noronha Silva.

Original patch by Kwang Yul Seo <skyul@company100.net> and Csaba Osztrogonác <Csaba Osztrogonác>.

Switch from using didReceiveData to didReceiveBuffer for the Soup backend and
let SharedBuffer wrap a SoupBuffer. This is necessary because the NetworkProcess
only supports getting data via SharedBuffer.

Source/WebCore:

  • GNUmakefile.list.am: Add the new SharedBufferSoup.cpp file to the list.
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PlatformNix.cmake:
  • platform/SharedBuffer.cpp: We no longer used the no-op version of the platformFoo methods.
  • platform/SharedBuffer.h: Ditto.
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Use didReceiveBuffer instead of didReceiveData.
  • platform/network/ResourceHandleInternal.h: Have only a m_soupBuffer member instead of three to manage the buffer.
  • platform/network/soup/GOwnPtrSoup.cpp: Add support for SoupBuffer.
  • platform/network/soup/GOwnPtrSoup.h: Ditto.
  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData): ASSERT_NOT_REACHED here, since it should never be
called now.
(WebCore::WebCoreSynchronousLoader::didReceiveBuffer): Handle this call properly.
(WebCore::ResourceHandle::ensureReadBuffer): Now we package up our buffer into a SoupBuffer.
(WebCore::redirectSkipCallback): Use the new m_soupBuffer member.
(WebCore::cleanupSoupRequestOperation): Ditto.
(WebCore::nextMultipartResponsePartCallback): Ditto.
(WebCore::sendRequestCallback): Ditto.
(WebCore::readCallback):

  • platform/soup/SharedBufferSoup.cpp: Added.

Source/WebKit/gtk:

  • webkit/webkitdownload.cpp:

(DownloadClient::didReceiveData): Replace with ASSERT_NOT_REACHED.
(DownloadClient::didReceiveBuffer): Use this to process incoming data.

4:42 AM Changeset in webkit [160309] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Source/WebCore: DataCloneError exception is not thrown when postMessage's second parameter is the source
port or the target port.

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

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

According to specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#dom-window-postmessage

If the method was invoked with a second argument transfer then if any of the objects in the
transfer are either the source port or the target port (if any), then a DataCloneError
exception should be thrown. Currently an InvalidStateError exception is thrown what is an
incorrect behaviour.

The proposed solution is change to the correct the exception value.

Tests: fast/dom/Window/postMessage-clone-port-error.html

  • dom/MessagePort.cpp:

(WebCore::MessagePort::postMessage): Improve exception value

LayoutTests: DataCloneError exception is not thrown when postMessage's second parameter
is the source port or the target port.

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

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

Added layout test to check correctness of value thrown by postMessage:

  • fast/dom/Window/postMessage-clone-port-error-expected.txt: Added.
  • fast/dom/Window/postMessage-clone-port-error.html: Added.
4:28 AM Changeset in webkit [160308] by svillar@igalia.com
  • 7 edits in trunk/Source/WebKit2

[WK2] Add UNIX_DOMAIN_SOCKETS specific bits for supporting NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=110093

Reviewed by Martin Robinson.

Original patch by Balazs Kelemen <kbalazs@webkit.org>.

Adds the UNIX specific bits to support connections to the
NetworkProcess. Since the process of creating the pair of sockets
is exactly the same as in the PluginProcess, I've decided to
refactor it in ConnectionUnix::createPlatformConnection(). This
can be reused later to create a cross-platform solution and remove
all the ifdefs (see bug 110978).

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • Platform/CoreIPC/Connection.h:
  • Platform/CoreIPC/unix/ConnectionUnix.cpp:

(CoreIPC::Connection::createPlatformConnection):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::createWebProcessConnection):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureNetworkProcessConnection):

4:06 AM Changeset in webkit [160307] by kseo@webkit.org
  • 4 edits in trunk/Source/WebKit2

[WK2][Soup] Support cache model in NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=118343

Reviewed by Carlos Garcia Campos.

Original patch by Kwang Yul Seo <skyul@company100.net> and Csaba Osztrogonác <Csaba Osztrogonác>.

Copied cache model code from WebProcess.
NetworkProcess is configured not to use the WebCore memory cache.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::getCacheDiskFreeSize):
(WebKit::getMemorySize):
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
Initialize soup cache.
(WebKit::NetworkProcess::platformSetCacheModel):
Copied code from WebProcess::platformSetCacheModel but removed
WebCore memory cache initialization because NetworkProcess does not use
the WebCore memory cache.
(WebKit::NetworkProcess::clearCacheForAllOrigins):
Copied code from WebProcess::clearCacheForAllOrigins.

  • NetworkProcess/unix/NetworkProcessMainUnix.cpp:

Copied initialization code from WebProcessMainGtk.cpp.
(WebKit::NetworkProcessMain):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel):
Don't set the disk cache if NetworkProcess is used.
(WebKit::WebProcess::platformClearResourceCaches):
Don't clear the non-existing disk cache. (if NetworkProcess is used)
(WebKit::WebProcess::platformInitializeWebProcess):
Don't initialize the disk cache if NetworkProcess is used.

3:49 AM Changeset in webkit [160306] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix the GTK+ build with NetworkProcess enabled.

  • GNUmakefile.list.am: Add missing file to compilation.
3:45 AM Changeset in webkit [160305] by gns@gnome.org
  • 3 edits in trunk/LayoutTests

accessibility/press-targets-center-point.html should not depend on font layout
https://bugs.webkit.org/show_bug.cgi?id=125387

Reviewed by Chris Fleizach.

  • accessibility/press-targets-center-point.html: use explicit sizes for heights (and width

for vertical writing mode), so that font layout does not alter the results.

  • platform/gtk/TestExpectations: remove failure expectation for accessibility/press-targets-center-point.html
1:55 AM Changeset in webkit [160304] by gns@gnome.org
  • 2 edits in trunk/Source/WebKit2

[GTK] run-webkit-tests may DOS the system, specially in debug builds
https://bugs.webkit.org/show_bug.cgi?id=125436

Reviewed by Martin Robinson.

  • GNUmakefile.am: use -no-fast-install for WebKitWebProcess and WebKitPluginProcess so

they do not need to be relinked the first time they are executed in-tree.

1:54 AM Changeset in webkit [160303] by zandobersek@gmail.com
  • 5 edits
    1 delete in trunk/Source/WebKit2

[GTK][WK2] Move WebFullScreenManagerProxyGtk logic to PageClientImpl
https://bugs.webkit.org/show_bug.cgi?id=125440

Reviewed by Martin Robinson.

Make PageClientImpl a WebFullScreenManagerProxyClient. This brings the GTK port in line
with changes in r160296 and fixes the WK2 build for that port.

  • GNUmakefile.list.am:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::fullScreenManagerProxyClient):
(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreateWebPage):

  • UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
1:37 AM Changeset in webkit [160302] by commit-queue@webkit.org
  • 8 edits in trunk

[WK2][Gtk] Add support for ENABLE_NETWORK_PROCESS to the build system
https://bugs.webkit.org/show_bug.cgi?id=118231

Patch by Brian Holt <brian.holt@samsung.com> on 2013-12-09
Reviewed by Martin Robinson.

Original patch by Kwang Yul Seo <skyul@company100.net>.

.:

Disabled ENABLE_NETWORK_PROCESS by default.

  • Source/autotools/SetupAutomake.m4:
  • Source/autotools/SetupWebKitFeatures.m4:

Source/WebKit2:

Add source files to the build system and build NetworkProcess executable.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • NetworkProcess/unix/NetworkProcessMainUnix.cpp:
  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

Dec 8, 2013:

11:46 PM Changeset in webkit [160301] by ryuan.choi@samsung.com
  • 6 edits
    1 delete in trunk/Source/WebKit2

[EFL][WK2] Move FullScreenManager logic to WebViewEfl
https://bugs.webkit.org/show_bug.cgi?id=125438

Reviewed by Gyuyoung Kim.

This patch fixed build break on EFL port Since r160296.

  • PlatformEfl.cmake: Removed WebFullScreenManagerProxyEfl.cpp.
  • UIProcess/WebFullScreenManagerProxy.cpp: Removed EFL specific code.

(WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):

  • UIProcess/WebFullScreenManagerProxy.h: Ditto.
  • UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: Removed file and moved logic to WebViewEfl.
  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::WebViewEfl):
(WebKit::WebViewEfl::setEwkView): Removed call to setWebView().
(WebKit::WebViewEfl::fullScreenManagerProxyClient):
(WebKit::WebViewEfl::isFullScreen):
(WebKit::WebViewEfl::enterFullScreen):
(WebKit::WebViewEfl::exitFullScreen):

  • UIProcess/efl/WebViewEfl.h:
9:44 PM Changeset in webkit [160300] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

Remove WebContext::sharedProcessContext()
https://bugs.webkit.org/show_bug.cgi?id=125437

Reviewed by Dan Bernstein.

  • UIProcess/API/ios/WKGeolocationProviderIOS.mm:
  • UIProcess/WebContext.cpp:
  • UIProcess/WebContext.h:
9:13 PM Changeset in webkit [160299] by rniwa@webkit.org
  • 5 edits in trunk

getComputedStyle border-radius shorthand omits vertical radius information
https://bugs.webkit.org/show_bug.cgi?id=125394

Reviewed by Andreas Kling.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/4c2866855dddbb28bb7d978ad627acc368af23d0

getComputedStyle of border-radius shows the vertical radius components if they differ from their horizontal counterpants.
We were incorrectly detecting this case and over simplifying the results of getComputedStyle.
This patch ensures we only hide the vertical values if they are identical to the horizontal values.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::getBorderRadiusShorthandValue):

LayoutTests:

  • fast/css/getComputedStyle/getComputedStyle-border-radius-shorthand-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-border-radius-shorthand.html:
8:51 PM Changeset in webkit [160298] by weinig@apple.com
  • 3 edits in trunk/Tools

32-bit MiniBrowser doesn't build
https://bugs.webkit.org/show_bug.cgi?id=125420

Reviewed by Dan Bernstein.

  • MiniBrowser/mac/AppDelegate.h:
  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate init]):
(-[BrowserAppDelegate applicationWillTerminate:]):

8:23 PM Changeset in webkit [160297] by weinig@apple.com
  • 3 edits
    1 delete in trunk/Source/WebKit2

Fix the iOS build.

  • UIProcess/API/ios/PageClientImplIOS.h:
  • UIProcess/API/ios/PageClientImplIOS.mm:
  • UIProcess/ios/WebFullScreenManagerProxyIOS.mm: Removed.
8:11 PM Changeset in webkit [160296] by weinig@apple.com
  • 11 edits
    1 delete in trunk/Source/WebKit2

[Cocoa] Remove knowledge of the WKView from the WebFullScreenManagerProxy by adding a proper client
https://bugs.webkit.org/show_bug.cgi?id=125427

Reviewed by Dan Bernstein.

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::fullScreenManagerProxyClient):
(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
Implement the new client.

  • UIProcess/API/mac/WKView.mm:

Remove call to setWebView() and do some cleanup.

  • UIProcess/API/mac/WKViewInternal.h:

Convert to property syntax and re-arrange.

  • UIProcess/PageClient.h:

Expose access to the new client.

  • UIProcess/WebFullScreenManagerProxy.cpp:

(WebKit::WebFullScreenManagerProxy::create):
(WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
(WebKit::WebFullScreenManagerProxy::invalidate):
(WebKit::WebFullScreenManagerProxy::close):
(WebKit::WebFullScreenManagerProxy::isFullScreen):
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreen):
(WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
(WebKit::WebFullScreenManagerProxy::beganExitFullScreen):

  • UIProcess/WebFullScreenManagerProxy.h:

Use the new client.

  • UIProcess/WebPageProxy.cpp:

Pass the new client.

  • UIProcess/mac/WebFullScreenManagerProxyMac.mm:

Removed. Now goes through the client.

  • WebKit2.xcodeproj/project.pbxproj:

Remove WebFullScreenManagerProxyMac.mm.

5:08 PM Changeset in webkit [160295] by fpizlo@apple.com
  • 17 edits in trunk/Source/JavaScriptCore

Add the notion of ConstantStoragePointer to DFG IR
https://bugs.webkit.org/show_bug.cgi?id=125395

Reviewed by Oliver Hunt.

This pushes more typed array folding into StrengthReductionPhase, and enables CSE on
storage pointers. Previously, you might have separate nodes for the same storage
pointer and this would cause some bad register pressure in the DFG. Note that this
was really a theoretical problem and not, to my knowledge a practical one - so this
patch is basically just a clean-up.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::constantStoragePointerCSE):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToConstantStoragePointer):
(JSC::DFG::Node::hasStoragePointer):
(JSC::DFG::Node::storagePointer):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileConstantStoragePointer):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::foldTypedArrayPropertyToConstant):
(JSC::DFG::StrengthReductionPhase::prepareToFoldTypedArray):

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileConstantStoragePointer):
(JSC::FTL::LowerDFGToLLVM::compileGetIndexedPropertyStorage):

5:06 PM Changeset in webkit [160294] by fpizlo@apple.com
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

FTL should support UntypedUse versions of Compare nodes
https://bugs.webkit.org/show_bug.cgi?id=125426

Reviewed by Oliver Hunt.

This adds UntypedUse versions of all comparisons except CompareStrictEq, which is
sufficiently different that I thought I'd do it in another patch.

This also extends our ability to abstract over comparison kind and removes a bunch of
copy-paste code.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareLess):
(JSC::FTL::LowerDFGToLLVM::compileCompareLessEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareGreater):
(JSC::FTL::LowerDFGToLLVM::compileCompareGreaterEq):
(JSC::FTL::LowerDFGToLLVM::compare):
(JSC::FTL::LowerDFGToLLVM::nonSpeculativeCompare):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::icmp):
(JSC::FTL::Output::equal):
(JSC::FTL::Output::notEqual):
(JSC::FTL::Output::above):
(JSC::FTL::Output::aboveOrEqual):
(JSC::FTL::Output::below):
(JSC::FTL::Output::belowOrEqual):
(JSC::FTL::Output::greaterThan):
(JSC::FTL::Output::greaterThanOrEqual):
(JSC::FTL::Output::lessThan):
(JSC::FTL::Output::lessThanOrEqual):
(JSC::FTL::Output::fcmp):
(JSC::FTL::Output::doubleEqual):
(JSC::FTL::Output::doubleNotEqualOrUnordered):
(JSC::FTL::Output::doubleLessThan):
(JSC::FTL::Output::doubleLessThanOrEqual):
(JSC::FTL::Output::doubleGreaterThan):
(JSC::FTL::Output::doubleGreaterThanOrEqual):
(JSC::FTL::Output::doubleEqualOrUnordered):
(JSC::FTL::Output::doubleNotEqual):
(JSC::FTL::Output::doubleLessThanOrUnordered):
(JSC::FTL::Output::doubleLessThanOrEqualOrUnordered):
(JSC::FTL::Output::doubleGreaterThanOrUnordered):
(JSC::FTL::Output::doubleGreaterThanOrEqualOrUnordered):

  • tests/stress/untyped-equality.js: Added.

(foo):

  • tests/stress/untyped-less-than.js: Added.

(foo):

12:09 PM Changeset in webkit [160293] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WK2] Add ENABLE_NETWORK_PROCESS flag
https://bugs.webkit.org/show_bug.cgi?id=125421

Add support to build with the Network Process enabled.

Patch by Brian Holt <brian.holt@samsung.com> on 2013-12-08
Reviewed by Martin Robinson.

  • Scripts/webkitperl/FeatureList.pm:
11:01 AM Changeset in webkit [160292] by fpizlo@apple.com
  • 25 edits
    4 adds in trunk

Fold typedArray.length if typedArray is constant
https://bugs.webkit.org/show_bug.cgi?id=125252

Source/JavaScriptCore:

Reviewed by Sam Weinig.

This was meant to be easy. The problem is that there was no good place for putting
the folding of typedArray.length to a constant. You can't quite do it in the
bytecode parser because at that point you don't yet know if typedArray is really
a typed array. You can't do it as part of constant folding because the folder
assumes that it can opportunistically forward-flow a constant value without changing
the IR; this doesn't work since we need to first change the IR to register a
desired watchpoint and only after that can we introduce that constant. We could have
done it in Fixup but that would have been awkward since Fixup's code for turning a
GetById of "length" into GetArrayLength is already somewhat complex. We could have
done it in CSE but CSE is already fairly gnarly and will probably get rewritten.

So I introduced a new phase, called StrengthReduction. This phase should have any
transformations that don't requite CFA or CSE and that it would be weird to put into
those other phases.

I also took the opportunity to refactor some of the other folding code.

This also adds a test, but the test couldn't quite be a LayoutTests/js/regress so I
introduced the notion of JavaScriptCore/tests/stress.

The goal of this patch isn't really to improve performance or anything like that.
It adds an optimization for completeness, and in doing so it unlocks a bunch of new
possibilities. The one that I'm most excited about is revealing array length checks
in DFG IR, which will allow for array bounds check hoisting and elimination.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::tryGetFoldableView):
(JSC::DFG::Graph::tryGetFoldableViewForChild1):

  • dfg/DFGGraph.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasTypedArray):
(JSC::DFG::Node::typedArray):

  • dfg/DFGNodeType.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::jumpForTypedArrayOutOfBounds):
(JSC::DFG::SpeculativeJIT::compileConstantIndexedPropertyStorage):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStrengthReductionPhase.cpp: Added.

(JSC::DFG::StrengthReductionPhase::StrengthReductionPhase):
(JSC::DFG::StrengthReductionPhase::run):
(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::foldTypedArrayPropertyToConstant):
(JSC::DFG::performStrengthReduction):

  • dfg/DFGStrengthReductionPhase.h: Added.
  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetIndexedPropertyStorage):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::typedArrayLength):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionTransferArrayBuffer):

  • runtime/ArrayBufferView.h:
  • tests/stress: Added.
  • tests/stress/fold-typed-array-properties.js: Added.

(foo):

Tools:

Reviewed by Sam Weinig.

Add Source/JavaScriptCore/tests/stress to the set of JS tests. This is where you
should put tests that run just like JSRegress but don't run as part of LayoutTests.
Currently I'm using it for tests that require some surgical support from jsc.cpp.

  • Scripts/run-javascriptcore-tests:
10:57 AM Changeset in webkit [160291] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Remove webProcessPlugInInitialize: from the WKWebProcessPlugIn protocol
https://bugs.webkit.org/show_bug.cgi?id=125405

Reviewed by Dan Bernstein.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::load):

10:26 AM Changeset in webkit [160290] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] Guard include of SecItemShim.h with ENABLE(SEC_ITEM_SHIM)
https://bugs.webkit.org/show_bug.cgi?id=125415

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

  • NetworkProcess/NetworkProcess.cpp:
  • UIProcess/Network/NetworkProcessProxy.cpp:
10:22 AM Changeset in webkit [160289] by Carlos Garcia Campos
  • 7 edits in trunk/Source/WebCore

[GTK] Do not skip attributes with only custom setter
https://bugs.webkit.org/show_bug.cgi?id=125417

Reviewed by Gustavo Noronha Silva.

For attributes with a custom setter, we now generate the code as a
read-only attribute with a getter method, unless it also has a
custom getter in which case the attribute is skipped.

  • bindings/gobject/GNUmakefile.am: Generate WebKitDOMMediaController

that is now required by an attribute having a custom setter.

  • bindings/gobject/WebKitDOMCustom.cpp: Remove methods that are now generated.
  • bindings/gobject/WebKitDOMCustom.h: Ditto.
  • bindings/gobject/WebKitDOMCustom.symbols: Ditto.
  • bindings/gobject/webkitdom.symbols: Add new symbols.
  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipAttribute): Do not skip attributes having a custom setter.
(GetWriteableProperties): Do not include attributes having a
custom setter.
(GenerateProperty): Do not return early for attributes having
custom setter.
(GenerateFunctions): Do not generate setter for attributes having
a custom setter.

10:16 AM Changeset in webkit [160288] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Do not generate new dispatch_event methods marked as deprecated
https://bugs.webkit.org/show_bug.cgi?id=125416

Reviewed by Gustavo Noronha Silva.

  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Skip dispatch_event methods for objects
implementing EventTarget interface unless they are already
deprecated.
(GenerateFunction): Pass also the parentNode to SkipFunction().

8:51 AM Changeset in webkit [160287] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[gdb] Update printers for WTF::CString, JSC::JSString
https://bugs.webkit.org/show_bug.cgi?id=124600

Reviewed by Gustavo Noronha Silva.

Update the two printers after they fell behind the changes in implementation.

  • gdb/webkit.py:

(WTFCStringPrinter.to_string):
(JSCJSStringPrinter.to_string):

8:50 AM Changeset in webkit [160286] by zandobersek@gmail.com
  • 1 edit
    1 add in trunk/Tools

[webkitpy] Add a WestonDriver unit test
https://bugs.webkit.org/show_bug.cgi?id=125408

Reviewed by Gustavo Noronha Silva.

Add a webkitpy unit test for the Weston driver.

  • Scripts/webkitpy/port/westondriver_unittest.py: Added.

(WestonDriverTest):
(WestonDriverTest.make_driver): Sets up a new WestonDriver instance for testing purposes.
(WestonDriverTest.test_start): Check that the Weston compositor is launched properly and that
the server environment contains proper WAYLAND and GDK_BACKEND entries.
(WestonDriverTest.test_stop): Check that the Weston compositor is terminated properly and that
the driver cleans up the temporary directory.
(WestonDriverTest.test_stop.FakeWestonProcess): A helper class that logs the expected termination.
(WestonDriverTest.test_stop.FakeWestonProcess.terminate):

7:30 AM Changeset in webkit [160285] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Gtk] install-dependencies doesn't install libgtk-3-dev
https://bugs.webkit.org/show_bug.cgi?id=125320

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-08
Reviewed by Gustavo Noronha Silva.

  • gtk/install-dependencies: Add libgtk-3-dev, libsoup2.4 and subversion
5:09 AM Changeset in webkit [160284] by zandobersek@gmail.com
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed GTK gardening.

Removing the baseline added in r160283. It's not really required, the failure is originating
in an unnecessary and wrong patch that's applied on the Freetype source tree that's used in the
GTK's Jhbuild setup. That patch will be removed in the near future, but until then the failure
of accessibility/press-targers-center-point.html should be handled through an expectation.

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/press-targets-center-point-expected.txt: Removed.
2:09 AM Changeset in webkit [160283] by zandobersek@gmail.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK gardening. Adding expectations for the current test failures.
Adding a GTK-specific baseline for a recently introduced a11y test.

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/press-targets-center-point-expected.txt: Added.

Dec 7, 2013:

10:43 PM Changeset in webkit [160282] by jer.noble@apple.com
  • 12 edits
    2 adds in trunk

[MSE] Bring end-of-stream algorithm section up to current spec.
https://bugs.webkit.org/show_bug.cgi?id=125270

Reviewed by Darin Adler.

Source/WebCore:

Test: media/media-source/media-source-end-of-stream.html

Separate the "endOfStream()" method from the "end of stream algorithm".

  • Modules/mediasource/MediaSource.cpp:

(WebCore::SourceBufferIsUpdating): Added predicate function.
(WebCore::MediaSource::endOfStream): Call streamEndedWithError().
(WebCore::MediaSource::streamEndedWithError): Added.

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::appendBufferTimerFired): Call streamEndedWithError().
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.

  • Modules/mediasource/SourceBuffer.h:
  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::mediaLoadingFailedFatally): Renamed from mediaEngineError.
(HTMLMediaElement::mediaLoadingFailed): Call renamed method.

  • html/HTMLMediaElement.h:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:

(WebCore::MediaSourcePrivateAVFObjC::markEndOfStream): Set load state to Loaded.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::setNetworkState): Simple setter.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Set the intitial duration to NaN.
(WebCore::MockMediaSourcePrivate::markEndOfStream): Set load state to Loaded.

LayoutTests:

  • media/media-source/media-source-end-of-stream-expected.txt: Added.
  • media/media-source/media-source-end-of-stream.html: Added.
10:39 PM Changeset in webkit [160281] by jer.noble@apple.com
  • 7 edits in trunk/Source/WebCore

[MSE][Mac] Crash when removing MediaSource from HTMLMediaElement.
https://bugs.webkit.org/show_bug.cgi?id=125269

Reviewed by Sam Weinig.

Fixes the media/media-source/media-source-fastseek.html test when run with MallocScribble enabled.

It's possible for a SourceBufferPrivateAVFObjC to outlive its MediaSourcePrivateAVFObjC, so
make sure to clear the pointer from the former to the latter when the latter is destroyed.
That means we now have to check to see if the pointer to the latter is still valid at every
call site.

As a drive-by fix, rename m_parent to m_mediaSource to more accurately reflect what the pointer
points to.

  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:

(WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC): Clear the SourceBuffer's backpointer.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:

(WebCore::SourceBufferPrivateAVFObjC::clearMediaSource):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Rename m_parent -> m_mediaSource.
(WebCore::SourceBufferPrivateAVFObjC::append): Check m_mediaSource before calling.
(WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::readyState): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::setReadyState): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::setActive): Ditto.

  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::~MockMediaSourcePrivate): Clear the SourceBuffer's backpointer.

  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::MockSourceBufferPrivate): Rename m_parent -> m_mediaSource.
(WebCore::MockSourceBufferPrivate::removedFromMediaSource): Check m_mediaSource before calling.
(WebCore::MockSourceBufferPrivate::readyState): Ditto.
(WebCore::MockSourceBufferPrivate::setReadyState): Ditto.
(WebCore::MockSourceBufferPrivate::setActive): Ditto.

  • platform/mock/mediasource/MockSourceBufferPrivate.h:

(WebCore::MockSourceBufferPrivate::clearMediaSource):

10:17 PM Changeset in webkit [160280] by weinig@apple.com
  • 7 edits in trunk/Source/WebKit2

[Cocoa] Make WKWebProcessPlugInController work with WKObject wrapping
https://bugs.webkit.org/show_bug.cgi?id=125404

Reviewed by Dan Bernstein.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Shared/mac/ObjCObjectGraphCoders.mm:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

(-[WKWebProcessPlugInController dealloc]):
(didCreatePage):
(willDestroyPage):
(-[WKWebProcessPlugInController _setPrincipalClassInstance:]):
(-[WKWebProcessPlugInController API::]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:

(WebKit::wrapper):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h:
  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::load):

9:53 PM Changeset in webkit [160279] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove statusWithDirection static function from RenderBlockLineLayout
https://bugs.webkit.org/show_bug.cgi?id=125372

Reviewed by Andreas Kling.

I run into a FIXME about using BidiStatus constructor rather than statusWithDirection,
once it's implemented. BidiStatus has got the appropriate constructor now, so I removed
statusWithDirection and updated the code to use the constructor of BidiStatus.

No new tests, no behavior change.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRunsForSegment):

9:23 PM Changeset in webkit [160278] by mitz@apple.com
  • 3 edits
    2 adds in trunk/Source/WebKit2

[Cocoa] WebData has a generic wrapper
https://bugs.webkit.org/show_bug.cgi?id=125402

Reviewed by Sam Weinig.

Added WKNSData, an NSData subclass that confroms to WKObject and wraps a WebData.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject): Allocate a WKNSData if the API::Object is data.

  • Shared/Cocoa/WKNSData.h: Added.

(WebKit::wrapper): Added. Returns a WebData’s wrapper as an NSData.

  • Shared/Cocoa/WKNSData.mm: Added.

(-[WKNSData dealloc]): Calls the WebData destructor.
(-[WKNSData length]): Added.
(-[WKNSData bytes]): Added.
(-[WKNSData copyWithZone:]): Retains self.
(-[WKNSData _apiObject]): Returns the wrapped WebData.

  • WebKit2.xcodeproj/project.pbxproj: Added references to new files.
9:22 PM Changeset in webkit [160277] by weinig@apple.com
  • 8 edits in trunk/Source/WebKit2

[Cocoa] Make WKWebProcessPlugInBrowserContextController work with WKObject wrapping
https://bugs.webkit.org/show_bug.cgi?id=125403

Reviewed by Dan Bernstein.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Shared/mac/ObjCObjectGraphCoders.mm:

(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

(didCreatePage):
(willDestroyPage):
(setUpBundleClient):
(-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundle:]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController dealloc]):
(-[WKWebProcessPlugInBrowserContextController mainFrameDocument]):
(-[WKWebProcessPlugInBrowserContextController selectedRange]):
(-[WKWebProcessPlugInBrowserContextController API::]):
(-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
(-[WKWebProcessPlugInBrowserContextController handle]):
(+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:

(WebKit::wrapper):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::load):

7:00 PM Changeset in webkit [160276] by weinig@apple.com
  • 2 edits in trunk/Tools

[Cocoa] Convert a few more parts of MiniBrowser over to the Objective-C API
https://bugs.webkit.org/show_bug.cgi?id=125401

Reviewed by Dan Bernstein.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController fetch:]):
(-[WK2BrowserWindowController reload:]):
(-[WK2BrowserWindowController goBack:]):
(-[WK2BrowserWindowController goForward:]):
(-[WK2BrowserWindowController validateUserInterfaceItem:]):
(-[WK2BrowserWindowController currentZoomFactor]):
(-[WK2BrowserWindowController setCurrentZoomFactor:]):
(-[WK2BrowserWindowController zoomIn:]):
(-[WK2BrowserWindowController zoomOut:]):
(-[WK2BrowserWindowController canResetZoom]):
(-[WK2BrowserWindowController resetZoom:]):
(-[WK2BrowserWindowController toggleZoomMode:]):
(-[WK2BrowserWindowController updateTextFieldFromURL:]):

6:36 PM Changeset in webkit [160275] by weinig@apple.com
  • 5 edits in trunk/Tools

Convert MiniBrowser to use WKProcessGroup and WKBrowsingContextGroup
https://bugs.webkit.org/show_bug.cgi?id=125400

Reviewed by Dan Bernstein.

  • MiniBrowser/mac/AppDelegate.h:
  • MiniBrowser/mac/AppDelegate.m:
  • MiniBrowser/mac/WK2BrowserWindowController.h:
  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController initWithProcessGroup:browsingContextGroup:]):
(-[WK2BrowserWindowController dealloc]):
(createNewPage):
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController browsingContextController:didNavigateWithNavigationData:]):
(-[WK2BrowserWindowController browsingContextController:didPerformClientRedirectFromURL:toURL:]):
(-[WK2BrowserWindowController browsingContextController:didPerformServerRedirectFromURL:toURL:]):
(-[WK2BrowserWindowController browsingContextController:didUpdateHistoryTitle:forURL:]):
Replace global WKContextRef and WKPageGroupRef with WKProcessGroup and WKBrowsingContextGroup. Also
replace context based WKContextHistoryClient with WKBrowsingContextController based WKBrowsingContextHistoryDelegate

9:39 AM Changeset in webkit [160274] by gns@gnome.org
  • 2 edits in trunk/Tools

[GTK] Run each gtest subtest separately instead of in one go
https://bugs.webkit.org/show_bug.cgi?id=125386

Reviewed by Martin Robinson.

This is what other ports are doing (except they build each test as a separate binary)
and will help with the timeouts we sometimes hit because it applies to the full test
run.

  • Scripts/run-gtk-tests:

(TestRunner._get_tests_from_google_test_suite): get a list of available sub-tests.
(TestRunner._run_google_test): run a single subtest from a gtest binary.
(TestRunner._run_google_test_suite): call the binary once per subtest.

8:50 AM Changeset in webkit [160273] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

Unreviewed. Build fix for gtk port after r160260.

  • loader/cache/CachedImage.h: Add missing a header.
8:33 AM Changeset in webkit [160272] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Win][64-bit] Hitting breakpoint assembler instruction in callToJavaScript.
https://bugs.webkit.org/show_bug.cgi?id=125382

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-07
Reviewed by Michael Saboff.

The WinCairo results from run-javascriptcore-tests are the same as the WinCairo 32-bits results, when removing these breakpoints.

  • jit/JITStubsMSVC64.asm: Remove breakpoint instructions.
6:54 AM Changeset in webkit [160271] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

Move PrettyPatch related code to prettypatch.py
https://bugs.webkit.org/show_bug.cgi?id=124937

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

This code seems to have a better place here than in Port, since PrettyPatch already knows
pretty_patch_path, and this also unifies the usage of PrettyPatch

  • Scripts/webkitpy/common/prettypatch.py:

(PrettyPatch.init):
(PrettyPatch.pretty_diff):
(PrettyPatch):
(PrettyPatch.pretty_patch_available):
(PrettyPatch.check_pretty_patch):
(PrettyPatch.pretty_patch_text):

  • Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:

(TestResultWriter.create_text_diff_and_write_result):

  • Scripts/webkitpy/layout_tests/models/test_run_results.py:

(summarize_results):

  • Scripts/webkitpy/port/base.py:

(Port.init):
(Port.wdiff_available):
(Port.check_image_diff):
(Port.wdiff_text):

  • Scripts/webkitpy/port/base_unittest.py:

(PortTest.test_pretty_patch_os_error):
(PortTest.test_pretty_patch_script_error):

5:03 AM Changeset in webkit [160270] by gns@gnome.org
  • 4 edits in trunk/Source

Fix API test expectation following 160220.

Rubber-stamped by Martin Robinson.

Source/WebKit/gtk:

  • tests/testatkroles.c:

(finish_loading): rename variable documentFrame -> document.
(test_webkit_atk_get_role_document_frame): check for ATK_ROLE_DOCUMENT_WEB instead of
ATK_ROLE_DOCUMENT_FRAME.
(test_webkit_atk_get_role_heading): rename variable documentFrame -> document.
(test_webkit_atk_get_role_image): ditto.
(test_webkit_atk_get_role_link): ditto.
(test_webkit_atk_get_role_list_and_item): ditto.
(test_webkit_atk_get_role_paragraph): ditto.
(test_webkit_atk_get_role_section): ditto.
(test_webkit_atk_get_role_table): ditto.
(test_webkit_atk_get_role_separator): ditto.
(test_webkit_atk_get_role_combobox): ditto.
(test_webkit_atk_get_role_form): ditto.
(test_webkit_atk_get_role_check_box): ditto.
(test_webkit_atk_get_role_entry): ditto.
(test_webkit_atk_get_role_label): ditto.
(test_webkit_atk_get_role_listbox): ditto.
(test_webkit_atk_get_role_password_text): ditto.
(test_webkit_atk_get_role_push_button): ditto.
(test_webkit_atk_get_role_radio_button): ditto.

Source/WebKit2:

  • UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:

(testAtspiBasicHierarchy): check for ATK_ROLE_DOCUMENT_WEB instead of ATK_ROLE_DOCUMENT_FRAME.

3:50 AM Changeset in webkit [160269] by gns@gnome.org
  • 2 edits in trunk/Source/WebCore

ubuntu software center hits _XReadEvents() error
https://bugs.webkit.org/show_bug.cgi?id=123480

Reviewed by Martin Robinson.

  • platform/gtk/WidgetBackingStoreGtkX11.cpp:

(WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11): clear the surface
before freeing the associated pixmap.

Note: See TracTimeline for information about the timeline view.