Timeline



Dec 30, 2013:

11:39 PM Changeset in webkit [161175] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack: the GC should not be assuming any limit on the stack size.
https://bugs.webkit.org/show_bug.cgi?id=126335.

Not yet reviewed.

  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::genericAddSpan):

11:22 PM Changeset in webkit [161174] by mark.lam@apple.com
  • 6 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Introduce tracking of the top VMEntryScope.
https://bugs.webkit.org/show_bug.cgi?id=126334.

Not yet reviewed.

When we start measuring the stack usage of each VMEntryScope, we'll need
to know which VMEntryScope is the top (most recent) one, not just the
first one.

Also, for correctness, in JSStack::updateStackLimit(), when we set a new
jsStackLimit, we should set it on the top VMEntryScope, and not on the
first (oldest) one. This is because the 2 scopes may be on 2 different
thread stacks, and the most present stack limits only apply to the most
recent scope. That said, presently, VMEntryScope::updateStackLimits()
does not rely on any scope specific data yet. So, calling updateStackLimits()
on the oldest VMEntryScope hasn't manifested any issues yet. Regardless,
this is now fixed.

  • interpreter/JSStack.cpp:

(JSC::JSStack::updateStackLimit):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):

  • runtime/VMEntryScope.h:
10:54 PM Changeset in webkit [161173] by commit-queue@webkit.org
  • 13 edits
    5 adds in trunk/Source

Unreviewed, rolling out r161157, r161158, r161160, r161161,
r161163, and r161165.
http://trac.webkit.org/changeset/161157
http://trac.webkit.org/changeset/161158
http://trac.webkit.org/changeset/161160
http://trac.webkit.org/changeset/161161
http://trac.webkit.org/changeset/161163
http://trac.webkit.org/changeset/161165
https://bugs.webkit.org/show_bug.cgi?id=126332

Broke WebKit2 on Mountain Lion (Requested by ap on #webkit).

Source/JavaScriptCore:

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::~BlockAllocator):
(JSC::BlockAllocator::waitForRelativeTimeWhileHoldingLock):
(JSC::BlockAllocator::waitForRelativeTime):
(JSC::BlockAllocator::blockFreeingThreadMain):

  • heap/BlockAllocator.h:

(JSC::BlockAllocator::deallocate):

Source/WebKit2:

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::wait):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::waitForSyncReply):

Source/WTF:

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Forward.h:
  • wtf/PlatformWin.cmake:
  • wtf/threads/BinarySemaphore.cpp: Added.

(WTF::BinarySemaphore::BinarySemaphore):
(WTF::BinarySemaphore::~BinarySemaphore):
(WTF::BinarySemaphore::signal):
(WTF::BinarySemaphore::wait):

  • wtf/threads/BinarySemaphore.h: Added.

(WTF::BinarySemaphore::event):

  • wtf/threads/win/BinarySemaphoreWin.cpp: Added.

(WTF::BinarySemaphore::BinarySemaphore):
(WTF::BinarySemaphore::~BinarySemaphore):
(WTF::BinarySemaphore::signal):
(WTF::BinarySemaphore::wait):

10:49 PM Changeset in webkit [161172] by mark.lam@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Refactor to split the tracking of the jsStackLimit from the native stackLimit.
https://bugs.webkit.org/show_bug.cgi?id=126331.

Not yet reviewed.

Previously, when using the C stack for the JS stack, VM::m_jsStackLimit is a union
with VM::m_stackLimit. We now separate them into 2 distinct fields but haven't yet
changed the computation of the limit values to set them with.

  • interpreter/JSStack.cpp:

(JSC::JSStack::updateStackLimit):

  • runtime/VM.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):
(JSC::VMEntryScope::updateStackLimits):
(JSC::VMEntryScope::requiredCapacity):

  • runtime/VMEntryScope.h:
10:32 PM Changeset in webkit [161171] by ap@apple.com
  • 4 edits in trunk/Tools

full_results.json should distinguish unexpected failures from expected ones
https://bugs.webkit.org/show_bug.cgi?id=126300

Reviewed by Timothy Hatcher.

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

(summarize_results): Add "report" element to JSON, which tells the consumer how
this result was counted for summary.

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

Updated results to include the new element.

  • Scripts/webkitpy/layout_tests/views/buildbot_results.py:

(print_unexpected_results): Added a comment pointing to another place that
summarizes results, and should stay in sync.

9:41 PM Changeset in webkit [161170] by mark.lam@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Fix JSStack::ensureCapacity() to match LLINT and JIT stack checks.
https://bugs.webkit.org/show_bug.cgi?id=126328.

Not yet reviewed.

Also removed the now unused JSSTack::topOfStackForCapacityCheck().

  • interpreter/JSStack.h:
  • interpreter/JSStackInlines.h:

(JSC::JSStack::ensureCapacityFor):

9:18 PM Changeset in webkit [161169] by mark.lam@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Introducing Options::maxStackSize().
https://bugs.webkit.org/show_bug.cgi?id=126321.

Not yet reviewed.

We need an option to limit the JS stack size. Currently, we just change
the JSStack class to use this limit.

  • interpreter/JSStack.cpp:

(JSC::JSStack::JSStack):

  • interpreter/JSStack.h:
  • runtime/Options.h:
8:46 PM Changeset in webkit [161168] by roger_fong@apple.com
  • 2 edits in trunk/WebKitLibraries

[Windows] Disable some annoying build warnings.

  • win/tools/vsprops/common.props:
7:02 PM Changeset in webkit [161167] by akling@apple.com
  • 18 edits in trunk/Source/WebCore

InputType should return input renderers wrapped in RenderPtr.
<https://webkit.org/b/126307>

Rename InputType::createRenderer() to createInputRenderer() and
make it return RenderPtr<RenderElement>. Also made it non-const.

Reviewed by Anders Carlsson.

6:58 PM Changeset in webkit [161166] by gyuyoung.kim@samsung.com
  • 11 edits in trunk/Source

Cleanup static_cast<HTMLFormElement*> by using toHTMLFormElement()
https://bugs.webkit.org/show_bug.cgi?id=126309

Reviewed by Andreas Kling.

To detect bad type casts, it would be good to use toHTMLFormElement() instead of
using manual type cast. Additionally FORM_ASSOCIATED_ELEMENT_TYPE_CASTS is introduced newly
to do it.

Source/WebCore:

No new tests, no behavior changes.

  • html/FormAssociatedElement.h:
  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submitImplicitly):
(WebCore::HTMLFormElement::validateInteractively):
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::reset):
(WebCore::HTMLFormElement::defaultButton):
(WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
(WebCore::HTMLFormElement::documentDidResumeFromPageCache):

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

Source/WebKit/blackberry:

  • WebCoreSupport/CredentialTransformData.cpp:

(WebCore::CredentialTransformData::findPasswordFormFields):

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::toTextControlElement):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::updateFormState):
(BlackBerry::WebKit::InputHandler::submitForm):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::elementWithName):

6:14 PM Changeset in webkit [161165] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the test failures seen on the bots.

Restore the BinarySemaphore behavior that existed in the old binary semaphore.

  • Platform/IPC/Connection.cpp:

(IPC::BinarySemaphore::wait):

6:05 PM Changeset in webkit [161164] by andersca@apple.com
  • 8 edits in trunk/Source

Replace yield() and pauseBriefly() with std::this_thread::yield()
https://bugs.webkit.org/show_bug.cgi?id=126105

Reviewed by Sam Weinig.

Source/WebCore:

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::interrupt):

Source/WTF:

  • wtf/ByteSpinLock.h:

(WTF::ByteSpinLock::lock):

  • wtf/Threading.h:
  • wtf/ThreadingPrimitives.h:
  • wtf/ThreadingPthreads.cpp:
  • wtf/ThreadingWin.cpp:
5:46 PM Changeset in webkit [161163] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix build.

  • heap/BlockAllocator.h:
5:37 PM Changeset in webkit [161162] by weinig@apple.com
  • 2 edits in trunk/Source/WTF

Remove unnecessary non-const overload in IteratorPair
https://bugs.webkit.org/show_bug.cgi?id=126314

Reviewed by Anders Carlsson.

  • wtf/IteratorPair.h:
5:22 PM Changeset in webkit [161161] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Stop using ThreadCondition in BlockAllocator
https://bugs.webkit.org/show_bug.cgi?id=126313

Reviewed by Sam Weinig.

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::~BlockAllocator):
(JSC::BlockAllocator::waitForDuration):
(JSC::BlockAllocator::blockFreeingThreadMain):

  • heap/BlockAllocator.h:

(JSC::BlockAllocator::deallocate):

4:31 PM Changeset in webkit [161160] by weinig@apple.com
  • 8 edits
    1 delete in trunk/Source/WTF

Remove WTF's BinarySemaphore
https://bugs.webkit.org/show_bug.cgi?id=126310

Reviewed by Anders Carlsson.

It's unused. Also remove the now empty wtf/threads directory.

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Forward.h:
  • wtf/PlatformWin.cmake:
  • wtf/threads: Removed.
  • wtf/threads/BinarySemaphore.cpp: Removed.
  • wtf/threads/BinarySemaphore.h: Removed.
  • wtf/threads/win: Removed.
  • wtf/threads/win/BinarySemaphoreWin.cpp: Removed.
4:30 PM Changeset in webkit [161159] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Stop using ThreadCondition in jsc.cpp
https://bugs.webkit.org/show_bug.cgi?id=126311

Reviewed by Sam Weinig.

  • jsc.cpp:

(timeoutThreadMain):
(main):

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

Fix.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::plugInDidStartFromOrigin):

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

Move more of Connection over to STL threading primitives
https://bugs.webkit.org/show_bug.cgi?id=126308

Reviewed by Andreas Kling.

  • Platform/IPC/Connection.cpp:

(IPC::BinarySemaphore::BinarySemaphore):
(IPC::BinarySemaphore::~BinarySemaphore):
(IPC::BinarySemaphore::signal):
(IPC::BinarySemaphore::wait):
Add a new BinarySemaphore class that uses STL threading primitives.

(IPC::Connection::SyncMessageState::wait):
Change this to take a std::chrono::steady_clock::time_point.

(IPC::absoluteTimeoutTime):
Add a new helper function that returns a time point from the a given timeout duration,
correctly handling the max duration.

(IPC::Connection::sendSyncMessageFromSecondaryThread):
Pass a time point to SyncMessageState::wait.

(IPC::Connection::waitForSyncReply):
Ditto.

3:34 PM Changeset in webkit [161156] by ryuan.choi@samsung.com
  • 60 edits in trunk

Replace remaning CoreIPC namespace to IPC
https://bugs.webkit.org/show_bug.cgi?id=126305

Reviewed by Anders Carlsson.

Source/WebKit2:

This patch replaces CoreIPC to IPC in build scripts and source codes to fix
build break on CMake based ports and Gtk (and maybe IOS).

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Platform/IPC/unix/AttachmentUnix.cpp:
  • Platform/IPC/unix/ConnectionUnix.cpp:
  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::Handle::encode):
(WebKit::SharedMemory::Handle::decode):
(WebKit::SharedMemory::Handle::releaseToAttachment):

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  • Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:

(WebKit::WebCoordinatedSurface::Handle::encode):
(WebKit::WebCoordinatedSurface::Handle::decode):

  • Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::downloadFailed):
(WebKit::Download::cancel):

  • Shared/WebBatteryStatus.cpp:

(WebKit::WebBatteryStatus::Data::encode):
(WebKit::WebBatteryStatus::Data::decode):

  • Shared/WebBatteryStatus.h:
  • Shared/WebNetworkInfo.cpp:

(WebKit::WebNetworkInfo::Data::encode):
(WebKit::WebNetworkInfo::Data::decode):

  • Shared/WebNetworkInfo.h:
  • Shared/cairo/LayerTreeContextCairo.cpp:

(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):

  • Shared/efl/LayerTreeContextEfl.cpp:

(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):

  • Shared/gtk/ArgumentCodersGtk.cpp:
  • Shared/gtk/ArgumentCodersGtk.h:
  • Shared/gtk/LayerTreeContextGtk.cpp:

(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):

  • Shared/ios/WebPlatformTouchPointIOS.cpp:

(WebKit::WebPlatformTouchPoint::encode):
(WebKit::WebPlatformTouchPoint::decode):

  • Shared/ios/WebTouchEventIOS.cpp:

(WebKit::WebTouchEvent::encode):
(WebKit::WebTouchEvent::decode):

  • Shared/linux/SeccompFilters/OpenSyscall.cpp:

(WebKit::OpenSyscall::encode):
(WebKit::OpenSyscall::decode):
(WebKit::OpenSyscallResult::encode):
(WebKit::OpenSyscallResult::decode):

  • Shared/linux/SeccompFilters/OpenSyscall.h:
  • Shared/linux/SeccompFilters/SeccompBroker.cpp:

(WebKit::SeccompBrokerClient::dispatch):
(WebKit::SeccompBroker::runLoop):

  • Shared/linux/SeccompFilters/Syscall.cpp:

(WebKit::Syscall::createFromDecoder):
(WebKit::SyscallResult::createFromDecoder):

  • Shared/linux/SeccompFilters/Syscall.h:
  • Shared/soup/WebCoreArgumentCodersSoup.cpp:

(IPC::ArgumentCoder<CertificateInfo>::encode):
(IPC::ArgumentCoder<CertificateInfo>::decode):

  • UIProcess/API/ios/PageClientImplIOS.h:
  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):

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

(WebKit::convertPostScriptDataSourceToPDF):
(WebKit::PDFViewController::setPDFDocumentData):

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • UIProcess/DrawingAreaProxyImpl.h:
  • UIProcess/WebBatteryManagerProxy.h:
  • UIProcess/WebNetworkInfoManagerProxy.h:
  • UIProcess/WebVibrationProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
(WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
(WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):

  • UIProcess/soup/WebSoupRequestManagerProxy.h:
  • WebProcess/Battery/WebBatteryManager.h:
  • WebProcess/NetworkInfo/WebNetworkInfoManager.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

(WebKit::CoordinatedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/DrawingAreaImpl.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::registerUIProcessAccessibilityTokens):

  • WebProcess/ios/WebProcessIOS.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

  • WebProcess/soup/WebSoupRequestManager.cpp:

(WebKit::WebSoupRequestManager::didHandleURIRequest):
(WebKit::WebSoupRequestManager::didReceiveURIRequestData):

  • WebProcess/soup/WebSoupRequestManager.h:
  • WebProcess/soup/WebSoupRequestManager.messages.in:

Tools:

  • TestWebKitAPI/CMakeLists.txt: Replaced CoreIPC includes to IPC.
  • TestWebKitAPI/efl/PlatformWebView.cpp: Removed temporal define for IPC.
  • WebKitTestRunner/CMakeLists.txt: Replaced CoreIPC includes to IPC.
  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Removed temporal define for IPC.
2:58 PM Changeset in webkit [161155] by b.long@cablelabs.com
  • 2 edits in trunk/Tools

Add myself to the committers list.

Unreviewed.

Patch by Brendan Long <self@brendanlong.com> on 2013-12-30

  • Scripts/webkitpy/common/config/contributors.json:
2:49 PM Changeset in webkit [161154] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix attempt on GTK port after 161152

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::getEditorCommandsForKeyEvent):

2:40 PM Changeset in webkit [161153] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Rename createRenderObject() to createRenderer().

Somewhat rubber-stamped by Antti Koivisto.

1:43 PM Changeset in webkit [161152] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

Use std::chrono::milliseconds for all IPC message timeouts
https://bugs.webkit.org/show_bug.cgi?id=126303

Reviewed by Andreas Kling.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendSyncMessage):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::waitForSyncReply):

  • Platform/IPC/Connection.h:

(IPC::Connection::sendSync):

  • Platform/IPC/MessageSender.h:

(IPC::MessageSender::sendSync):

  • Shared/ChildProcessProxy.h:

(WebKit::ChildProcessProxy::sendSync):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::stringSelectionForPasteboard):
(WebKit::WebPageProxy::dataSelectionForPasteboard):
(WebKit::WebPageProxy::readSelectionFromPasteboard):
(WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):
(WebKit::WebPageProxy::acceptsFirstMouse):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::postSynchronousMessage):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::createInspectorPage):

1:05 PM Changeset in webkit [161151] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Document should store its RenderView in a RenderPtr.
<https://webkit.org/b/126299>

Make Document::m_renderView a RenderPtr<RenderView> and remove one
manual destroy() call. Also removed the setRenderView() helper and
inlined it at the two call sites.

Reviewed by Antti Koivisto.

12:54 PM Changeset in webkit [161150] by andersca@apple.com
  • 1 edit
    1 delete in trunk/Source/WebKit2

Remove empty directories.

  • Platform/CoreIPC: Removed.
  • Platform/CoreIPC/mac: Removed.
  • Platform/CoreIPC/unix: Removed.
12:45 PM Changeset in webkit [161149] by roger_fong@apple.com
  • 2 edits in trunk/Source/WTF

[Windows] Unreviewed build fix following r160959.

  • wtf/Platform.h:
12:20 PM Changeset in webkit [161148] by andersca@apple.com
  • 302 edits in trunk/Source/WebKit2

Move code over to the IPC namespace.

Rubber-stamped by Andreas Kling.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::initializeConnection):
(WebKit::DatabaseProcess::didClose):
(WebKit::DatabaseProcess::didReceiveInvalidMessage):
(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):

  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::create):
(WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
(WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
(WebKit::DatabaseToWebProcessConnection::didClose):
(WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):

  • DatabaseProcess/DatabaseToWebProcessConnection.h:

(WebKit::DatabaseToWebProcessConnection::connection):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::messageSenderConnection):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • NetworkProcess/AsynchronousNetworkLoaderClient.cpp:

(WebKit::AsynchronousNetworkLoaderClient::willSendRequest):
(WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::create):
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:

(WebKit::NetworkConnectionToWebProcess::connection):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::didReceiveInvalidMessage):
(WebKit::NetworkProcess::downloadProxyConnection):
(WebKit::NetworkProcess::initializeConnection):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::messageSenderConnection):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/mac/DiskCacheMonitor.h:
  • NetworkProcess/mac/DiskCacheMonitor.mm:

(WebKit::DiskCacheMonitor::messageSenderConnection):

  • Platform/IPC/ArgumentCoder.h:
  • Platform/IPC/ArgumentCoders.cpp:
  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/ArgumentDecoder.cpp:
  • Platform/IPC/ArgumentDecoder.h:
  • Platform/IPC/ArgumentEncoder.cpp:
  • Platform/IPC/ArgumentEncoder.h:
  • Platform/IPC/Arguments.h:
  • Platform/IPC/Attachment.cpp:
  • Platform/IPC/Attachment.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::Connection):

  • Platform/IPC/Connection.h:
  • Platform/IPC/HandleMessage.h:
  • Platform/IPC/MessageDecoder.cpp:
  • Platform/IPC/MessageDecoder.h:
  • Platform/IPC/MessageEncoder.cpp:
  • Platform/IPC/MessageEncoder.h:
  • Platform/IPC/MessageFlags.h:
  • Platform/IPC/MessageReceiver.h:
  • Platform/IPC/MessageReceiverMap.cpp:
  • Platform/IPC/MessageReceiverMap.h:
  • Platform/IPC/mac/ConnectionMac.cpp:
  • Platform/IPC/mac/ImportanceAssertion.h:
  • Platform/IPC/mac/MachPort.h:
  • Platform/SharedMemory.h:
  • Platform/mac/SharedMemoryMac.cpp:

(WebKit::SharedMemory::Handle::encode):
(WebKit::SharedMemory::Handle::decode):

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::streamDidReceiveData):
(WebKit::PluginControllerProxy::manualStreamDidReceiveData):

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginControllerProxy.messages.in:
  • PluginProcess/PluginCreationParameters.cpp:

(WebKit::PluginCreationParameters::encode):
(WebKit::PluginCreationParameters::decode):

  • PluginProcess/PluginCreationParameters.h:
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::didReceiveMessage):
(WebKit::PluginProcess::didClose):
(WebKit::PluginProcess::didReceiveInvalidMessage):
(WebKit::PluginProcess::createWebProcessConnection):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::create):
(WebKit::WebProcessConnection::WebProcessConnection):
(WebKit::WebProcessConnection::setGlobalException):
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
(WebKit::WebProcessConnection::didClose):
(WebKit::WebProcessConnection::didReceiveInvalidMessage):

  • PluginProcess/WebProcessConnection.h:

(WebKit::WebProcessConnection::connection):

  • PluginProcess/mac/PluginControllerProxyMac.mm:

(WebKit::PluginControllerProxy::setComplexTextInputState):

  • Scripts/webkit2/messages.py:

(arguments_type_old):
(message_to_struct_declaration):
(forward_declarations_and_headers):
(generate_messages_header):
(async_message_statement):
(sync_message_statement):
(headers_for_type):
(generate_message_handler):

  • Scripts/webkit2/messages_unittest.py:

(IPC):
(std):

  • Shared/API/Cocoa/RemoteObjectRegistry.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:
  • Shared/APINumber.h:

(API::Number::encode):
(API::Number::decode):

  • Shared/Authentication/AuthenticationManager.h:
  • Shared/ChildProcess.cpp:

(WebKit::didCloseOnConnectionWorkQueue):
(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeConnection):
(WebKit::ChildProcess::addMessageReceiver):
(WebKit::ChildProcess::removeMessageReceiver):
(WebKit::ChildProcess::messageSenderConnection):

  • Shared/ChildProcess.h:

(WebKit::ChildProcess::parentProcessConnection):
(WebKit::ChildProcess::messageReceiverMap):

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::fromConnection):
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::addMessageReceiver):
(WebKit::ChildProcessProxy::removeMessageReceiver):
(WebKit::ChildProcessProxy::dispatchMessage):
(WebKit::ChildProcessProxy::dispatchSyncMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
(WebKit::ChildProcessProxy::connectionWillOpen):
(WebKit::ChildProcessProxy::connectionWillClose):

  • Shared/ChildProcessProxy.h:

(WebKit::ChildProcessProxy::connection):
(WebKit::ChildProcessProxy::send):

  • Shared/ChildProcessSupplement.h:

(WebKit::ChildProcessSupplement::initializeConnection):

  • Shared/ConnectionStack.h:

(WebKit::ConnectionStack::current):
(WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):

  • Shared/CoreIPCSupport/WebContextMessageKinds.h:

(WebContextLegacyMessages::messageReceiverName):
(WebContextLegacyMessages::postMessageMessageName):
(WebContextLegacyMessages::postSynchronousMessageMessageName):

  • Shared/Databases/DatabaseProcessCreationParameters.cpp:

(WebKit::DatabaseProcessCreationParameters::encode):
(WebKit::DatabaseProcessCreationParameters::decode):

  • Shared/Databases/DatabaseProcessCreationParameters.h:
  • Shared/DictionaryPopupInfo.cpp:

(WebKit::DictionaryPopupInfo::encode):
(WebKit::DictionaryPopupInfo::decode):

  • Shared/DictionaryPopupInfo.h:
  • Shared/Downloads/Download.cpp:

(WebKit::Download::didFail):
(WebKit::Download::didCancel):
(WebKit::Download::messageSenderConnection):

  • Shared/Downloads/Download.h:
  • Shared/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::downloadProxyConnection):

  • Shared/Downloads/DownloadManager.h:
  • Shared/Downloads/mac/DownloadMac.mm:

(WebKit::Download::cancel):
(-[WKDownloadAsDelegate download:didFailWithError:]):

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:
  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:

(WebKit::ChildProcessMainDelegate::getConnectionIdentifier):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):

  • Shared/FileAPI/BlobRegistrationData.cpp:

(WebKit::BlobRegistrationData::encode):
(WebKit::BlobRegistrationData::decode):

  • Shared/FileAPI/BlobRegistrationData.h:
  • Shared/FontInfo.cpp:

(WebKit::FontInfo::encode):
(WebKit::FontInfo::decode):

  • Shared/FontInfo.h:
  • Shared/LayerTreeContext.h:
  • Shared/Network/CustomProtocols/CustomProtocolManager.h:
  • Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
  • Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:

(WebKit::CustomProtocolManager::initializeConnection):
(WebKit::CustomProtocolManager::didLoadData):

  • Shared/Network/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h:
  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

  • Shared/Network/NetworkResourceLoadParameters.h:
  • Shared/OriginAndDatabases.cpp:

(WebKit::OriginAndDatabases::encode):
(WebKit::OriginAndDatabases::decode):

  • Shared/OriginAndDatabases.h:
  • Shared/PlatformPopupMenuData.cpp:

(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):

  • Shared/PlatformPopupMenuData.h:
  • Shared/Plugins/NPIdentifierData.cpp:

(WebKit::NPIdentifierData::encode):
(WebKit::NPIdentifierData::decode):

  • Shared/Plugins/NPIdentifierData.h:
  • Shared/Plugins/NPObjectMessageReceiver.h:
  • Shared/Plugins/NPRemoteObjectMap.cpp:

(WebKit::NPRemoteObjectMap::create):
(WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):

  • Shared/Plugins/NPRemoteObjectMap.h:

(WebKit::NPRemoteObjectMap::connection):

  • Shared/Plugins/NPVariantData.cpp:

(WebKit::NPVariantData::encode):
(WebKit::NPVariantData::decode):

  • Shared/Plugins/NPVariantData.h:
  • Shared/Plugins/PluginProcessCreationParameters.cpp:

(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):

  • Shared/Plugins/PluginProcessCreationParameters.h:
  • Shared/PrintInfo.cpp:

(WebKit::PrintInfo::encode):
(WebKit::PrintInfo::decode):

  • Shared/PrintInfo.h:
  • Shared/SandboxExtension.h:

(WebKit::SandboxExtension::Handle::encode):
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::HandleArray::encode):
(WebKit::SandboxExtension::HandleArray::decode):

  • Shared/SecurityOriginData.cpp:

(WebKit::SecurityOriginData::encode):
(WebKit::SecurityOriginData::decode):

  • Shared/SecurityOriginData.h:
  • Shared/SessionState.cpp:

(WebKit::SessionState::encode):
(WebKit::SessionState::decode):

  • Shared/SessionState.h:
  • Shared/ShareableBitmap.cpp:

(WebKit::ShareableBitmap::Handle::encode):
(WebKit::ShareableBitmap::Handle::decode):

  • Shared/ShareableBitmap.h:
  • Shared/ShareableResource.cpp:

(WebKit::ShareableResource::Handle::encode):
(WebKit::ShareableResource::Handle::decode):

  • Shared/ShareableResource.h:
  • Shared/StatisticsData.cpp:

(WebKit::StatisticsData::encode):
(WebKit::StatisticsData::decode):

  • Shared/StatisticsData.h:
  • Shared/TextCheckerState.h:
  • Shared/UpdateInfo.cpp:

(WebKit::UpdateInfo::encode):
(WebKit::UpdateInfo::decode):

  • Shared/UpdateInfo.h:
  • Shared/UserData.cpp:

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

  • Shared/UserData.h:
  • Shared/UserMessageCoders.h:

(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::encode):
(WebKit::WebBackForwardListItem::decode):

  • Shared/WebBackForwardListItem.h:
  • Shared/WebConnection.cpp:

(WebKit::WebConnection::postMessage):
(WebKit::WebConnection::didReceiveMessage):
(WebKit::WebConnection::handleMessage):

  • Shared/WebConnection.h:
  • Shared/WebContextMenuItemData.cpp:

(WebKit::WebContextMenuItemData::encode):
(WebKit::WebContextMenuItemData::decode):

  • Shared/WebContextMenuItemData.h:
  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebEvent.cpp:

(WebKit::WebEvent::encode):
(WebKit::WebEvent::decode):

  • Shared/WebEvent.h:
  • Shared/WebGeolocationPosition.cpp:

(WebKit::WebGeolocationPosition::Data::encode):
(WebKit::WebGeolocationPosition::Data::decode):

  • Shared/WebGeolocationPosition.h:
  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):

  • Shared/WebHitTestResult.h:
  • Shared/WebKeyboardEvent.cpp:

(WebKit::WebKeyboardEvent::encode):
(WebKit::WebKeyboardEvent::decode):

  • Shared/WebMouseEvent.cpp:

(WebKit::WebMouseEvent::encode):
(WebKit::WebMouseEvent::decode):

  • Shared/WebNavigationDataStore.h:

(WebKit::WebNavigationDataStore::encode):
(WebKit::WebNavigationDataStore::decode):

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/WebPageGroupData.cpp:

(WebKit::WebPageGroupData::encode):
(WebKit::WebPageGroupData::decode):

  • Shared/WebPageGroupData.h:
  • Shared/WebPlatformTouchPoint.cpp:

(WebKit::WebPlatformTouchPoint::encode):
(WebKit::WebPlatformTouchPoint::decode):

  • Shared/WebPopupItem.cpp:

(WebKit::WebPopupItem::encode):
(WebKit::WebPopupItem::decode):

  • Shared/WebPopupItem.h:
  • Shared/WebPreferencesStore.cpp:

(WebKit::WebPreferencesStore::encode):
(WebKit::WebPreferencesStore::decode):

  • Shared/WebPreferencesStore.h:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • Shared/WebSerializedScriptValue.h:

(WebKit::WebSerializedScriptValue::dataReference):

  • Shared/WebTouchEvent.cpp:

(WebKit::WebTouchEvent::encode):
(WebKit::WebTouchEvent::decode):

  • Shared/WebWheelEvent.cpp:

(WebKit::WebWheelEvent::encode):
(WebKit::WebWheelEvent::decode):

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::encode):
(IPC::decode):

  • Shared/cf/ArgumentCodersCF.h:
  • Shared/mac/ArgumentCodersMac.h:
  • Shared/mac/ArgumentCodersMac.mm:

(IPC::encode):
(IPC::decode):

  • Shared/mac/AttributedString.h:
  • Shared/mac/AttributedString.mm:

(WebKit::AttributedString::encode):
(WebKit::AttributedString::decode):

  • Shared/mac/ColorSpaceData.h:
  • Shared/mac/ColorSpaceData.mm:

(WebKit::ColorSpaceData::encode):
(WebKit::ColorSpaceData::decode):

  • Shared/mac/LayerTreeContextMac.mm:

(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):

  • Shared/mac/ObjCObjectGraphCoders.h:
  • Shared/mac/ObjCObjectGraphCoders.mm:

(WebKit::ObjCObjectGraphEncoder::baseEncode):
(WebKit::ObjCObjectGraphDecoder::baseDecode):
(WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
(WebKit::WebContextObjCObjectGraphEncoder::encode):
(WebKit::WebContextObjCObjectGraphDecoder::decode):
(WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
(WebKit::InjectedBundleObjCObjectGraphDecoder::decode):

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(RemoteLayerBackingStore::encode):
(RemoteLayerBackingStore::decode):

  • Shared/mac/RemoteLayerTreeTransaction.h:
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::SandboxExtension::Handle::encode):
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::HandleArray::encode):
(WebKit::SandboxExtension::HandleArray::decode):

  • Shared/mac/SecItemRequestData.cpp:

(WebKit::SecItemRequestData::encode):
(WebKit::SecItemRequestData::decode):

  • Shared/mac/SecItemRequestData.h:
  • Shared/mac/SecItemResponseData.cpp:

(WebKit::SecItemResponseData::encode):
(WebKit::SecItemResponseData::decode):

  • Shared/mac/SecItemResponseData.h:
  • Shared/mac/SecItemShim.cpp:

(WebKit::SecItemShim::initializeConnection):

  • Shared/mac/SecItemShim.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
(IPC::ArgumentCoder<ResourceResponse>::encodePlatformData):
(IPC::ArgumentCoder<ResourceResponse>::decodePlatformData):
(IPC::ArgumentCoder<CertificateInfo>::encode):
(IPC::ArgumentCoder<CertificateInfo>::decode):
(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):

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

(WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _accessibilityRegisterUIProcessTokens]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Authentication/AuthenticationChallengeProxy.cpp:

(WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):

  • UIProcess/Authentication/AuthenticationChallengeProxy.h:

(WebKit::AuthenticationChallengeProxy::create):

  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::connectionWillOpen):
(WebKit::DatabaseProcessProxy::connectionWillClose):
(WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
(WebKit::DatabaseProcessProxy::didClose):
(WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
(WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
(WebKit::DatabaseProcessProxy::didFinishLaunching):

  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Databases/DatabaseProcessProxy.messages.in:
  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::createData):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):

  • UIProcess/Downloads/DownloadProxy.h:
  • UIProcess/Downloads/DownloadProxy.messages.in:
  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess):

  • UIProcess/Launcher/ProcessLauncher.h:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):
(WebKit::tryPreexistingProcess):
(WebKit::createProcess):

  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  • UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:

(-[WKCustomProtocolLoader connection:didReceiveData:]):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::connectionWillOpen):
(WebKit::NetworkProcessProxy::connectionWillClose):
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
(WebKit::NetworkProcessProxy::didFinishLaunching):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/Notifications/WebNotification.h:
  • UIProcess/PageClient.h:
  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::getPluginProcessConnection):
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
(WebKit::PluginProcessProxy::didClose):
(WebKit::PluginProcessProxy::didReceiveInvalidMessage):
(WebKit::PluginProcessProxy::didFinishLaunching):
(WebKit::PluginProcessProxy::didCreateWebProcessConnection):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.messages.in:
  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::platformInitializePluginProcess):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::addListener):
(WebKit::StorageManager::StorageArea::removeListener):
(WebKit::StorageManager::StorageArea::setItem):
(WebKit::StorageManager::StorageArea::removeItem):
(WebKit::StorageManager::StorageArea::clear):
(WebKit::StorageManager::StorageArea::dispatchEvents):
(WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
(WebKit::StorageManager::createSessionStorageNamespace):
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
(WebKit::StorageManager::processWillCloseConnection):
(WebKit::StorageManager::createLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::destroyStorageMap):
(WebKit::StorageManager::getValues):
(WebKit::StorageManager::setItem):
(WebKit::StorageManager::removeItem):
(WebKit::StorageManager::clear):
(WebKit::StorageManager::createSessionStorageNamespaceInternal):
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
(WebKit::StorageManager::invalidateConnectionInternal):
(WebKit::StorageManager::findStorageArea):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebApplicationCacheManagerProxy.h:
  • UIProcess/WebConnectionToWebProcess.cpp:

(WebKit::WebConnectionToWebProcess::encodeMessageBody):
(WebKit::WebConnectionToWebProcess::decodeMessageBody):
(WebKit::WebConnectionToWebProcess::messageSenderConnection):

  • UIProcess/WebConnectionToWebProcess.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::networkingProcessConnection):
(WebKit::WebContext::didReceiveInvalidMessage):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::postMessageToInjectedBundle):
(WebKit::WebContext::addMessageReceiver):
(WebKit::WebContext::removeMessageReceiver):
(WebKit::WebContext::dispatchMessage):
(WebKit::WebContext::dispatchSyncMessage):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):

  • UIProcess/WebContext.h:
  • UIProcess/WebContextUserMessageCoders.h:

(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):

  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebDatabaseManagerProxy.h:
  • UIProcess/WebEditCommandProxy.cpp:

(WebKit::WebEditCommandProxy::unapply):
(WebKit::WebEditCommandProxy::reapply):

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebFullScreenManagerProxy.h:
  • UIProcess/WebGeolocationManagerProxy.cpp:

(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::stopUpdating):
(WebKit::WebGeolocationManagerProxy::removeRequester):
(WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):

  • UIProcess/WebGeolocationManagerProxy.h:
  • UIProcess/WebIconDatabase.cpp:

(WebKit::WebIconDatabase::setIconDataForIconURL):
(WebKit::WebIconDatabase::synchronousIconDataForPageURL):

  • UIProcess/WebIconDatabase.h:
  • UIProcess/WebIconDatabase.messages.in:
  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebMediaCacheManagerProxy.h:
  • UIProcess/WebOriginDataManagerProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::willGoToBackForwardListItem):
(WebKit::WebPageProxy::preferencesDidChange):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::didReceiveTitleForFrame):
(WebKit::WebPageProxy::didFirstLayoutForFrame):
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::WebPageProxy::didLayout):
(WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
(WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
(WebKit::WebPageProxy::didRunInsecureContentForFrame):
(WebKit::WebPageProxy::didDetectXSSForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
(WebKit::WebPageProxy::unableToImplementPolicy):
(WebKit::WebPageProxy::willSubmitForm):
(WebKit::WebPageProxy::mouseDidMoveOverElement):
(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionWillClose):
(WebKit::WebPageProxy::sendMessage):
(WebKit::WebPageProxy::messageSenderConnection):
(WebKit::WebPageProxy::showContextMenu):
(WebKit::WebPageProxy::internalShowContextMenu):
(WebKit::WebPageProxy::dataCallback):
(WebKit::WebPageProxy::scriptValueCallback):
(WebKit::WebPageProxy::beginPrinting):
(WebKit::WebPageProxy::endPrinting):
(WebKit::WebPageProxy::computePagesForPrinting):
(WebKit::WebPageProxy::drawRectToImage):
(WebKit::WebPageProxy::drawPagesToPDF):
(WebKit::WebPageProxy::drawPagesForPrinting):
(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionWillClose):
(WebKit::WebProcessProxy::addBackForwardItem):
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::didReceiveInvalidMessage):
(WebKit::WebProcessProxy::didFinishLaunching):

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::fromConnection):

  • UIProcess/WebProcessProxy.messages.in:
  • UIProcess/WebResourceCacheManagerProxy.h:
  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::WebBackForwardList::createCFDictionaryRepresentation):

  • UIProcess/mac/RemoteLayerTreeHost.h:
  • UIProcess/mac/SecItemShimProxy.cpp:

(WebKit::SecItemShimProxy::initializeConnection):
(WebKit::SecItemShimProxy::secItemRequest):

  • UIProcess/mac/SecItemShimProxy.h:
  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
(WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
(WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  • WebProcess/Cookies/WebCookieManager.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::messageSenderConnection):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:

(WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
(WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
(WebKit::WebToDatabaseProcessConnection::didClose):
(WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Databases/WebToDatabaseProcessConnection.h:

(WebKit::WebToDatabaseProcessConnection::create):
(WebKit::WebToDatabaseProcessConnection::connection):

  • WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:

(WebKit::WebContentProcessMainDelegate::getConnectionIdentifier):

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::didReceiveMessage):

  • WebProcess/FullScreen/WebFullScreenManager.h:
  • WebProcess/Geolocation/WebGeolocationManager.h:
  • WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:

(WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
(WebKit::WebIconDatabaseProxy::setIconDataForIconURL):

  • WebProcess/IconDatabase/WebIconDatabaseProxy.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):

  • WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:

(WebKit::InjectedBundleUserMessageEncoder::encode):
(WebKit::InjectedBundleUserMessageDecoder::decode):

  • WebProcess/MediaCache/WebMediaCacheManager.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::NetworkProcessConnection):
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
(WebKit::NetworkProcessConnection::didClose):
(WebKit::NetworkProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Network/NetworkProcessConnection.h:

(WebKit::NetworkProcessConnection::create):
(WebKit::NetworkProcessConnection::connection):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::messageSenderConnection):
(WebKit::WebResourceLoader::didReceiveData):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/OriginData/WebOriginDataManager.h:
  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/Plugin.cpp:

(WebKit::Plugin::Parameters::encode):
(WebKit::Plugin::Parameters::decode):

  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::PluginProcessConnection):
(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
(WebKit::PluginProcessConnection::didClose):
(WebKit::PluginProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Plugins/PluginProcessConnection.h:

(WebKit::PluginProcessConnection::create):
(WebKit::PluginProcessConnection::connection):

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::initializeConnection):
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):

  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::geometryDidChange):
(WebKit::PluginProxy::streamDidReceiveData):
(WebKit::PluginProxy::manualStreamDidReceiveData):

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/ResourceCache/WebResourceCacheManager.h:
  • WebProcess/Storage/StorageAreaMap.h:
  • WebProcess/WebConnectionToUIProcess.cpp:

(WebKit::WebConnectionToUIProcess::encodeMessageBody):
(WebKit::WebConnectionToUIProcess::decodeMessageBody):
(WebKit::WebConnectionToUIProcess::messageSenderConnection):

  • WebProcess/WebConnectionToUIProcess.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):

  • WebProcess/WebCoreSupport/WebDatabaseManager.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

  • WebProcess/WebPage/DecoderAdapter.cpp:

(WebKit::DecoderAdapter::decodeBytes):
(WebKit::DecoderAdapter::decodeString):

  • WebProcess/WebPage/DecoderAdapter.h:
  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/EncoderAdapter.cpp:

(WebKit::EncoderAdapter::dataReference):
(WebKit::EncoderAdapter::encodeBytes):
(WebKit::EncoderAdapter::encodeString):

  • WebProcess/WebPage/EncoderAdapter.h:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::initializeConnection):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/LayerTreeHost.h:
  • WebProcess/WebPage/ViewGestureGeometryCollector.h:
  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::createInspectorPage):

  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::messageSenderConnection):
(WebKit::WebPage::loadURL):
(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::loadString):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):
(WebKit::WebPage::postInjectedBundleMessage):
(WebKit::WebPage::runJavaScriptInMainFrame):
(WebKit::WebPage::getContentsAsMHTMLData):
(WebKit::WebPage::getSelectionAsWebArchiveData):
(WebKit::WebPage::getMainResourceDataOfFrame):
(WebKit::WebPage::getResourceDataFromFrame):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):
(WebKit::WebPage::drawPagesToPDF):
(WebKit::WebPage::savePDFToFileInDownloadsFolder):
(WebKit::WebPage::savePDFToTemporaryFolderAndOpenWithNativeApplication):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/WebPageGroupProxy.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::registerUIProcessAccessibilityTokens):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::downloadProxyConnection):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensureNetworkProcessConnection):
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::didReceiveInvalidMessage):
(WebKit::WebProcess::postInjectedBundleMessage):
(WebKit::WebProcess::ensureWebToDatabaseProcessConnection):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

  • config.h:
11:46 AM Changeset in webkit [161147] by andersca@apple.com
  • 2 edits
    26 moves
    2 adds in trunk/Source/WebKit2

Move remaining IPC related files to Platform/IPC.

Rubber-stamped by Andreas Kling.

  • Platform/IPC/ArgumentCoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h.
  • Platform/IPC/ArgumentCoders.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp.
  • Platform/IPC/ArgumentCoders.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h.
  • Platform/IPC/ArgumentDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp.
  • Platform/IPC/ArgumentDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h.
  • Platform/IPC/ArgumentEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp.
  • Platform/IPC/ArgumentEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h.
  • Platform/IPC/Arguments.h: Renamed from Source/WebKit2/Platform/CoreIPC/Arguments.h.
  • Platform/IPC/Attachment.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.cpp.
  • Platform/IPC/Attachment.h: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.h.
  • Platform/IPC/Connection.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.cpp.
  • Platform/IPC/Connection.h: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.h.
  • Platform/IPC/HandleMessage.h: Renamed from Source/WebKit2/Platform/CoreIPC/HandleMessage.h.
  • Platform/IPC/MessageDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.cpp.
  • Platform/IPC/MessageDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.h.
  • Platform/IPC/MessageEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.cpp.
  • Platform/IPC/MessageEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h.
  • Platform/IPC/MessageFlags.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageFlags.h.
  • Platform/IPC/MessageReceiver.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiver.h.
  • Platform/IPC/MessageReceiverMap.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.cpp.
  • Platform/IPC/MessageReceiverMap.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.h.
  • Platform/IPC/mac/ConnectionMac.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp.
  • Platform/IPC/mac/ImportanceAssertion.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ImportanceAssertion.h.
  • Platform/IPC/mac/MachPort.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/MachPort.h.
  • Platform/IPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/AttachmentUnix.cpp.
  • Platform/IPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp.
  • WebKit2.xcodeproj/project.pbxproj:
11:32 AM Changeset in webkit [161146] by andersca@apple.com
  • 6 edits
    1 delete in trunk/Source

Replace WTF::ThreadingOnce with std::call_once
https://bugs.webkit.org/show_bug.cgi?id=126215

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • dfg/DFGWorklist.cpp:

(JSC::DFG::globalWorklist):

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

Source/WTF:

  • GNUmakefile.list.am:
  • wtf/CompilationThread.cpp:

(WTF::initializeCompilationThreads):

  • wtf/ThreadingOnce.h: Removed.
10:45 AM Changeset in webkit [161145] by Martin Robinson
  • 2 edits in trunk/Source/WebKit2

[GTK] [CMake] Parallel build sometimes fails when building libWebKit2APITestCore
https://bugs.webkit.org/show_bug.cgi?id=126294

Reviewed by Daniel Bates.

  • UIProcess/API/gtk/tests/CMakeLists.txt: Give libWebKit2APITestCore a dependency on

WebKit2 so that it's always built before the auto-generated sources.

10:44 AM Changeset in webkit [161144] by Martin Robinson
  • 11 edits in trunk

[CMake] [GTK] Add support for GObject introspection
https://bugs.webkit.org/show_bug.cgi?id=126162

Reviewed by Daniel Bates.

.:

  • Source/PlatformGTK.cmake: Add a 'gir' target that builds all GIR files.
  • Source/cmake/OptionsGTK.cmake: Add a macro for propagating typelib

targets to the Source level of the build.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Add the GIR targets.

Source/WebCore:

  • PlatformGTK.cmake: Build a list of WebKitDOM headers and expose it to the

parent scope of the build.

Source/WebKit:

  • PlatformGTK.cmake: Add the GIR targets.

Source/WebKit2:

  • PlatformGTK.cmake: Add the GIR targets, split the installed headers list

between WebKitWebExtension and the WebKit2 library. Update the headers list
with new headers.

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

Text::createTextRenderer() should return a RenderPtr.
<https://webkit.org/b/126292>

Make createTextRenderer() return a RenderPtr and remove one manual
destroy() call. Also, since it should always return a valid object,
I turned a null check into an assertion instead.

Reviewed by Antti Koivisto.

6:47 AM Changeset in webkit [161142] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Remove attachChild
https://bugs.webkit.org/show_bug.cgi?id=126288

Reviewed by Andreas Kling.

  • dom/ContainerNode.cpp:

(WebCore::destroyRenderTreeIfNeeded):

Rename detachChild and move the tests here.

(WebCore::ContainerNode::takeAllChildrenFrom):

No need to call attachRenderTree explicitly anymore.

(WebCore::ContainerNode::removeBetween):

6:13 AM Changeset in webkit [161141] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderLayer: Store corner and resizer renderers in RenderPtrs.
<https://webkit.org/b/126274>

Turn RenderLayer::m_scrollCorner and m_resizer into RenderPtrs.
Removed manual destroy() calls as appropriate. Also tweaked some
code to reduce nesting.

Reviewed by Anders Carlsson.

6:04 AM Changeset in webkit [161140] by Antti Koivisto
  • 10 edits in trunk

XML document builder should create render tree asynchronously
https://bugs.webkit.org/show_bug.cgi?id=126285

Source/WebCore:

Reviewed by Andreas Kling.

Stop creating renderers explicitly.
Fix SVG <use> element to not rely on parse time render tree construction.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::svgAttributeChanged):

Remove renderer check, we may not have created the render tree yet.

(WebCore::SVGUseElement::willAttachRenderers):

Switch to willAttachRenderers from willRecalcStyle. The latter is only called as long as style
recalc doesn't start creating new renderers.

(WebCore::SVGUseElement::invalidateShadowTree):

Remove renderer check, we may not have created the render tree yet.
Invalidate with ReconstructRenderTree so willAttachRenderers will always get called.

  • svg/SVGUseElement.h:
  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::exitText):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::cdataBlock):

Remove explicit call to attachRenderTree. The render tree will be created lazily.

LayoutTests:

Reviewed by Andreas Kling.

  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.png:
  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt:


This is progression. Captions are now correctly in document order.

  • svg/custom/object-no-size-attributes-expected.txt:


Unnecessary text renderer disappears.

  • svg/custom/resource-invalidation-crash-expected.txt:


Progression, the dump has the correct fill.

2:26 AM Changeset in webkit [161139] by Michał Pakuła vel Rutka
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Replace ecore_main_loop_iterate with waitUntilTrue in ewk tests
https://bugs.webkit.org/show_bug.cgi?id=125919

Reviewed by Gyuyoung Kim.

Using ecore_main_loop_iterate in while loop may result in tests hang-up when
condition is not met. Replacing it with waitUntilTrue introduces a timer
after which internal loop is canceled. This will cause test to fail instead
of running infinitely.

  • UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:

(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:

(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:

(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(EWK2ViewTest::onVibrate):
(EWK2ViewTest::onCancelVibration):
(EWK2ViewTest::loadVibrationHTMLString):
(TEST_F):

1:58 AM Changeset in webkit [161138] by Carlos Garcia Campos
  • 5 edits
    2 adds in trunk

[GTK] Split WebKit2APITests/TestWebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=126284

Reviewed by Philippe Normand.

Source/WebKit2:

WebKitWebView test is too big already making more difficult to
handle timeouts and skipped tests. Split it in 3 by moving
UIClient and auth tests to their own files.

  • UIProcess/API/gtk/tests/GNUmakefile.am:
  • UIProcess/API/gtk/tests/TestAuthentication.cpp: Added.

(testWebViewAuthenticationRequest):
(testWebViewAuthenticationCancel):
(testWebViewAuthenticationLoadCancelled):
(testWebViewAuthenticationFailure):
(testWebViewAuthenticationNoCredential):
(testWebViewAuthenticationStorage):
(testWebViewAuthenticationSuccess):
(serverCallback):
(beforeAll):
(afterAll):

  • UIProcess/API/gtk/tests/TestUIClient.cpp: Added.

(testWebViewCreateReadyClose):
(checkMimeTypeForFilter):
(testWebViewAllowModalDialogs):
(testWebViewDisallowModalDialogs):
(testWebViewJavaScriptDialogs):
(testWebViewWindowProperties):
(testWebViewMouseTarget):
(testWebViewPermissionRequests):
(testWebViewFileChooserRequest):
(beforeAll):
(afterAll):

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

(beforeAll):
(afterAll):

Tools:

Skip only WebKitWebView/mouse-target and all TestAuthentication
tests that are timing out when running under xvfb.

  • Scripts/run-gtk-tests:

(TestRunner):

Dec 29, 2013:

10:31 PM Changeset in webkit [161137] by joone.hur@intel.com
  • 3 edits
    4 deletes in trunk

Reverted r156742. The same fix was reverted from Blink due to heap-use-after-free on ClusterFuzz.
https://bugs.webkit.org/show_bug.cgi?id=126275

https://codereview.chromium.org/102993011

Reviewed by Darin Adler.

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateFirstLetter):

LayoutTests:

  • fast/css/first-letter-block-change.html: Removed.
  • platform/gtk-wk1/fast/css/first-letter-block-change-expected.png: Removed.
  • platform/gtk-wk2/fast/css/first-letter-block-change-expected.png: Removed.
  • platform/gtk/fast/css/first-letter-block-change-expected.txt: Removed.
9:12 PM Changeset in webkit [161136] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

Remove unused functions in GraphicsContext3D.cpp
https://bugs.webkit.org/show_bug.cgi?id=126265

Reviewed by Andreas Kling.

platformGraphicsContext3D, platformTexture and platformLayer in GC3D.cpp
seem not used by any ports.

No new tests, no functionality changed.

  • platform/graphics/GraphicsContext3D.cpp:
5:27 PM Changeset in webkit [161135] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Tools

[EFL][WK2] Disable geolocation API test
https://bugs.webkit.org/show_bug.cgi?id=125851

Reviewed by Gyuyoung Kim.

Geolocation is turned off by default in EFL port, so it shouldn't be tested.

  • TestWebKitAPI/PlatformEfl.cmake: Move Geolocation to test_webkit2_api_fail_BINARIES.
5:23 PM Changeset in webkit [161134] by ryuan.choi@samsung.com
  • 12 edits
    7 deletes in trunk

[EFL] Remove ewk_view_tiled
https://bugs.webkit.org/show_bug.cgi?id=125961

Reviewed by Gyuyoung Kim.

Source/WebKit:

  • PlatformEfl.cmake: Removed ewk_view_tiled related files.

Source/WebKit/efl:

We didn't use ewk_view_tiled very long time while we focused webkit2/efl.
There are many bugs and we don't have plan to fix them.
Instead, We will use WebCore's TiledBackingStore and it looks more stable.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::transitionToCommittedForNewPage):

  • ewk/ewk_tiled_backing_store.cpp: Removed.
  • ewk/ewk_tiled_backing_store_private.h: Removed.
  • ewk/ewk_tiled_matrix.cpp: Removed.
  • ewk/ewk_tiled_matrix_private.h: Removed.
  • ewk/ewk_tiled_model.cpp: Removed.
  • ewk/ewk_tiled_model_private.h: Removed.
  • ewk/ewk_view.cpp:
  • ewk/ewk_view.h:
  • ewk/ewk_view_private.h:
  • ewk/ewk_view_tiled.cpp: Removed.
  • tests/UnitTestUtils/EWKTestView.cpp:

(EWKUnitTests::EWKTestView::init):

Tools:

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(shouldUseTiledBackingStore):
Moved from DumpRenderTreeChrome to enable WebCore's TiledBackingStore
instead of switching ewk_view_tiled.
(DumpRenderTreeChrome::createView):

  • DumpRenderTree/efl/DumpRenderTreeView.cpp:

(drtViewAdd):

  • EWebLauncher/main.c: Removed ewk_view_tiled option.

(windowCreate):
(parseUserArguments):

4:40 PM Changeset in webkit [161133] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Fix build error on 64bit debug build.
https://bugs.webkit.org/show_bug.cgi?id=126248

r161076 used ‘%lli’(for long long int) for int64_t(aka long int).
However, in a 64bit compile, int64_t is 'long int', not a 'long long int'.
To support 32bit and 64bit, we use static_cast<long long>.

  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::commit):

4:38 PM Changeset in webkit [161132] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Remove some accidental commented out code.

  • testing/Internals.cpp:

(WebCore::Internals::mallocStatistics):

4:27 PM Changeset in webkit [161131] by ap@apple.com
  • 4 edits in trunk/Tools

Pending revision popover is slightly misplaced at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126278

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._appendPendingRevisionCount): Create a span for the text,
as StatusLineView message element has extra padding, and doesn't fit the text snugly.
(BuildbotQueueView.prototype._revisionPopoverContentForIteration): Added bug number to a FIXME.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:

(StatusLineView.prototype.set messageElement): Removed the getter, as we no longer need it.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

Removed display:inline-block hack for messageElement div, as we no longer use it for measuring text bounds.

3:53 PM Changeset in webkit [161130] by ap@apple.com
  • 3 edits in trunk/Tools

Interrupted test runs should not count at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126279

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.get productive):
(BuildbotIteration.prototype.get previousProductiveIteration): Replaced previous with
this accessor to skips iterations that don't have relevant data. We still want to
display them, but revision ranges should not be affected.
(BuildbotIteration.prototype.update): Record whether the iteration was up for retry.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

Use latest productive iteration instead of latest iteration for pending revision
count and popovers.

3:50 PM Changeset in webkit [161129] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

Revert the results change. It depended on xml parser changes which were not landed.

  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.png:
  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt:
3:08 PM Changeset in webkit [161128] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Fix build.

  • xml/parser/XMLDocumentParser.cpp:
2:40 PM Changeset in webkit [161127] by Antti Koivisto
  • 34 edits in trunk

Source/WebCore: Remove Node::attached()
https://bugs.webkit.org/show_bug.cgi?id=126276

Reviewed by Sam Weinig.

Node::attached() is poorly defined. Replace it with renderer() and inRenderedDocument() tests as appropriate.

Also remove some unnecessary explicit attachRenderTree/detachRenderTree calls from the tree builders.

LayoutTests: Remove Node::attached()
https://bugs.webkit.org/show_bug.cgi?id=126276

Reviewed by Sam Weinig.

  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.png:
  • platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt:


This test result change is a progression. Dynamic captions are now correctly in document order.

1:50 PM Changeset in webkit [161126] by fpizlo@apple.com
  • 43 edits
    2 adds in trunk/Source/JavaScriptCore

Get rid of DFG forward exiting
https://bugs.webkit.org/show_bug.cgi?id=125531

Reviewed by Oliver Hunt.

This finally gets rid of forward exiting. Forward exiting was always a fragile concept
since it involved the compiler trying to figure out how to "roll forward" the
execution from some DFG node to the next bytecode index. It was always easy to find
counterexamples where it broke, and it has always served as an obstacle to adding
compiler improvements - the latest being http://webkit.org/b/125523, which tried to
make DCE work for more things.

This change finishes the work of removing forward exiting. A lot of forward exiting
was already removed in some other bugs, but SetLocal still did forward exits. SetLocal
is in many ways the hardest to remove, since the forward exiting of SetLocal also
implied that any conversion nodes inserted before the SetLocal would then also be
marked as forward-exiting. Hence SetLocal's forward-exiting made a bunch of other
things also forward-exiting, and this was always a source of weirdo bugs.

SetLocal must be able to exit in case it performs a hoisted type speculation. Nodes
inserted just before SetLocal must also be able to exit - for example type check
hoisting may insert a CheckStructure, or fixup phase may insert something like
Int32ToDouble. But if any of those nodes tried to backward exit, then this could lead
to the reexecution of a side-effecting operation, for example:

a: Call(...)
b: SetLocal(@a, r1)


For a long time it seemed like SetLocal *had* to exit forward because of this. But
this change side-steps the problem by changing the ByteCodeParser to always emit a
kind of "two-phase commit" for stores to local variables. Now when the ByteCodeParser
wishes to store to a local, it first emits a MovHint and then enqueues a SetLocal.
The SetLocal isn't actually emitted until the beginning of the next bytecode
instruction (which the exception of op_enter and op_ret, which emit theirs immediately
since it's always safe to reexecute those bytecode instructions and since deferring
SetLocals would be weird there - op_enter has many SetLocals and op_ret is a set
followed by a jump in case of inlining, so we'd have to emit the SetLocal "after" the
jump and that would be awkward). This means that the above IR snippet would look
something like:

a: Call(..., bc#42)
b: MovHint(@a, r1, bc#42)
c: SetLocal(@a, r1, bc#47)


Where the SetLocal exits "backwards" but appears at the beginning of the next bytecode
instruction. This means that by the time we get to that SetLocal, the OSR exit
analysis already knows that r1 is associated with @a, and it means that the SetLocal
or anything hoisted above it can exit backwards as normal.

This change also means that the "forward rewiring" can be killed. Previously, we might
have inserted a conversion node on SetLocal and then the SetLocal died (i.e. turned
into a MovHint) and the conversion node either died completely or had its lifetime
truncated to be less than the actual value's bytecode lifetime. This no longer happens
since conversion nodes are only inserted at SetLocals.

More precisely, this change introduces two laws that we were basically already
following anyway:

1) A MovHint's child should never be changed except if all other uses of that child

are also replaced. Specifically, this prohibits insertion of conversion nodes at
MovHints.


2) Anytime any child is replaced with something else, and all other uses aren't also

replaced, we must insert a Phantom use of the original child.

This is a slight compile-time regression but has no effect on code-gen. It unlocks a
bunch of optimization opportunities so I think it's worth it.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpAssumingJITType):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::instructionCount):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGArrayifySlowPathGenerator.h:

(JSC::DFG::ArrayifySlowPathGenerator::ArrayifySlowPathGenerator):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::setDirect):
(JSC::DFG::ByteCodeParser::DelayedSetLocal::DelayedSetLocal):
(JSC::DFG::ByteCodeParser::DelayedSetLocal::execute):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::eliminate):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.h:
  • dfg/DFGConstantFoldingPhase.cpp:

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

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::run):
(JSC::DFG::DCEPhase::fixupBlock):
(JSC::DFG::DCEPhase::cleanVariables):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::run):
(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGMinifiedNode.cpp:

(JSC::DFG::MinifiedNode::fromNode):

  • dfg/DFGMinifiedNode.h:

(JSC::DFG::belongsInMinifiedGraph):
(JSC::DFG::MinifiedNode::constantNumber):
(JSC::DFG::MinifiedNode::weakConstant):

  • dfg/DFGNode.cpp:

(JSC::DFG::Node::hasVariableAccessData):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToPhantom):
(JSC::DFG::Node::convertToPhantomUnchecked):
(JSC::DFG::Node::convertToIdentity):
(JSC::DFG::Node::containsMovHint):
(JSC::DFG::Node::hasUnlinkedLocal):
(JSC::DFG::Node::willHaveCodeGenOrOSR):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):

  • dfg/DFGNodeFlags.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::OSRAvailabilityAnalysisPhase::run):

  • dfg/DFGOSREntrypointCreationPhase.cpp:

(JSC::DFG::OSREntrypointCreationPhase::run):

  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitBase.cpp:
  • dfg/DFGOSRExitBase.h:

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

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSSAConversionPhase.cpp:

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::emitInvalidationPoint):
(JSC::DFG::SpeculativeJIT::typeCheck):
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::detectPeepHoleBranch):
(JSC::DFG::SpeculativeJIT::needsTypeCheck):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::run):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateCPS):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::VariableAccessData):

  • dfg/DFGVariableEventStream.cpp:

(JSC::DFG::VariableEventStream::reconstruct):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetArgument):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal):
(JSC::FTL::LowerDFGToLLVM::compileMovHint):
(JSC::FTL::LowerDFGToLLVM::compileZombieHint):
(JSC::FTL::LowerDFGToLLVM::compileInt32ToDouble):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::typeCheck):
(JSC::FTL::LowerDFGToLLVM::appendTypeCheck):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):

  • ftl/FTLOSRExit.cpp:
  • ftl/FTLOSRExit.h:
  • tests/stress/dead-int32-to-double.js: Added.

(foo):

  • tests/stress/dead-uint32-to-number.js: Added.

(foo):

1:49 PM Changeset in webkit [161125] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack branch with --ftl-jit should fail no more tests than without FTL as of r161113
https://bugs.webkit.org/show_bug.cgi?id=126280

Not yet reviewed.

This change fixes erroneous results in 3d-raytrace in FTL-eager mode.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile): Reject code that uses activations since the FTL doesn't

support it yet. Previously it would *sometimes* slip by in OSR entry
situations.

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub): Fix stack alignment.

1:17 PM Changeset in webkit [161124] by ap@apple.com
  • 9 edits in trunk/Tools

Please display (and link to) revision ranges at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122187

Reviewed by Timothy Hatcher.

Added popovers for revision numbers. Removed direct links, because they were misleading -
a test run covers a revision range, not just the latest revision. This also makes
selecting a revision for copy easier.

All revision numbers have the popovers for consistency, although they are most useful
for iterations that are not the last ones in a view, because the content is a delta
from previous iteration.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus):
revisionLinksForIteration() is now named revisionContentForIteration().

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
Ditto.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.get previous): Added a function to go back in iteration history.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

Refactored to support the new popover variation. Replaced revisionLinksForIteration()
with a function that builds an element with popover.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/PopoverTracker.js:

Changed to take a function for popover presentation instead of delegate object.
We only need one delegate function, and it's easier to have multiple popovers per view class
this way.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

Removed a rule for selectable class. It's replaced with a semantic rule in StatusLineView.css.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

Renamed pending-commits-popover class to commit-history-popover.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line .message .revision-number): Added a rule for revision numbers.

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

RenderLayer: Store reflection renderer in a RenderPtr.
<https://webkit.org/b/126273>

Reviewed by Anders Carlsson.

  • rendering/RenderLayer.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::calculateClipRects):

Turn RenderLayer::m_reflection into a RenderPtr<RenderReplica>
instead of a raw pointer.

  • WebCore.xcodeproj/project.pbxproj:

Add RenderPtr.h to private headers.

10:51 AM Changeset in webkit [161122] by Martin Robinson
  • 3 edits
    1 add in trunk

[GTK][CMake] Translations must be built
https://bugs.webkit.org/show_bug.cgi?id=125513

Reviewed by Gustavo Noronha Silva.

.:

  • Source/PlatformGTK.cmake: Add the po subdirectory.

Source/WebCore/platform/gtk/po:

  • CMakeLists.txt: Added.
10:49 AM Changeset in webkit [161121] by Martin Robinson
  • 4 edits in trunk/Source

[GTK] [CMake] Convenience libraries that export API should be compiled with --whole-archive on Unix
https://bugs.webkit.org/show_bug.cgi?id=126232

Reviewed by Gustavo Noronha Silva.

Source/WebKit:

  • PlatformGTK.cmake: Prefix libGObjectDOMBindings with --whole-archive so that

symbols are not omitted during final linking.

Source/WebKit2:

  • PlatformGTK.cmake: Prefix libGObjectDOMBindings with --whole-archive so that

symbols are not omitted during final linking.

9:24 AM Changeset in webkit [161120] by ap@apple.com
  • 9 edits
    4 adds in trunk/Tools

Please display information about pending runs in build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122180

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus): Added a semicolon at the end of a line.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._latestFinishedIteration): Factored out of _appendPendingRevisionCount.
(BuildbotQueueView.prototype._appendPendingRevisionCount): Install a popover tracker over the element.
(BuildbotQueueView.prototype.lineForCommit): Build an element for a particular commit ot be shown in popover.
(BuildbotQueueView.prototype.presentPopoverForElement): Build and show popover content when PopoverTracker
asks us to.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Geometry.js: Added.

Taken from WebInspector with minimal changes:

  • Changed root name from WebInspector to Dashboard.
  • Removed some unused functionality.
  • Added Rect.containsPoint.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Popover.js: Added.

Popover has extensive changes compared to WebInspector version, only drawing code is the same:

  • Fixed to work in scrollable pages - WebInspector version assumes that window

and document coordinates are the same, and also erroneously dismisses a scrollable
popover if scrolling cascades out of it after reaching a bound.

  • Simplified API and implementation to Dashboard needs, it is no longer possible to

change content of an existing popover.

  • Rewrote visibility tracking to be more complete, and not rely on external tracker

object so much.

  • Added code to flash scroll bars when showing a scrollable popover.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/PopoverTracker.js: Added.

Objects of this class show and hide popovers as appropriate for registered active elements.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:

(StatusLineView.prototype.get messageElement): Added an accessor, so that we could
install a popover on message element. It's the only visible element in pending commit
line, but the line has different bounds, so we can't install a popover on it (it
would be incorrectly positioned if we did).

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:

(Trac.prototype._convertCommitInfoElementToObject):

  • Some trac installations report author in a different element, updated to support that.
  • Changed to parse title out of description, because trac titles are ugly. Also,

we get a nice HTML with links from the description.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:

(Node.prototype.isAncestor): Copied from Web Inspector, only changing the form for
consistency with the rest of this file (add a property on prototype with assignment
instead of using Object.defineProperty).
(Node.prototype.isDescendant): Ditto.
(Node.prototype.isSelfOrAncestor): Ditto.
(Node.prototype.isSelfOrDescendant): Ditto.
(DOMTokenList.prototype.contains): Ditto.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Popover.css: Added.

Like JS counterpart, mostly lifted from Web Inspector.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

Added style rules for pending commits popover.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line.no-bubble .message): Changed to display:inline-block, so that it fits
to content, and we can show the popover in a correct place.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html: Added new files.
8:44 AM Changeset in webkit [161119] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Updated review status for r160981: <http://trac.webkit.org/r160981>.

8:41 AM Changeset in webkit [161118] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Updated review status for r160960: <http://trac.webkit.org/r160960>.

8:29 AM Changeset in webkit [161117] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Updated commit status for r160967: <http://trac.webkit.org/r160967>.

1:08 AM Changeset in webkit [161116] by ap@apple.com
  • 1 edit in trunk/Tools/ChangeLog

Fix a typo in ChangeLog, landing a commit that won't trigger a build, and will remain
"pending" on dashboard for testing.

Dec 28, 2013:

5:36 PM Changeset in webkit [161115] by akling@apple.com
  • 5 edits
    1 add in trunk/Source/WebCore

Add an owning smart pointer for RenderObjects and start using it.
<https://webkit.org/b/126251>

This patch adds a RenderPtr pointer, essentially an OwnPtr for
RenderObjects. The difference is that RenderPtr destroys the object
by calling destroy() on it.

This is necessary to implement the willBeDestroyed() mechanism in
RenderObject that notifies renderers just before they are about to
be deleted, while they can still do tree traversal, etc.

I also added a make_unique-alike helper so you can write:

auto renderer = createRenderObject<RenderImage>(...);

Put it all to use by making ContentData::createRenderer() return
RenderPtr<RenderObject> instead of raw RenderObject*.

Reviewed by Antti Koivisto.

1:20 PM Changeset in webkit [161114] by weinig@apple.com
  • 11 edits
    2 moves in trunk/Source

Move FilterIterator and IteratorPair to WTF and reimplement HashMap::keys() and HashMap::values() using IteratorPair
https://bugs.webkit.org/show_bug.cgi?id=126253

Reviewed by Anders Carlsson.

../WebKit2:

  • Shared/APIArray.h:

Update includes and make elementsOfType() a bit easier to read by using a typedef and some
judicial indentation.

  • Shared/FilterIterator.h: Moved to WTF.
  • Shared/IteratorPair.h: Moved to WTF.


  • WebKit2.xcodeproj/project.pbxproj:

Remove the two files.

../WTF:

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:

Add new files.

  • wtf/HashMap.h:
  • wtf/RefPtrHashMap.h:

Remove the old implementation of keys() and values() and replace it with one
that uses IteratorPair.

  • wtf/FilterIterator.h: Copied from Source/WebKit2/Shared/FilterIterator.h.
  • wtf/IteratorPair.h: Copied from Source/WebKit2/Shared/IteratorPair.h.
4:33 AM Changeset in webkit [161113] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Add a missing include path for GTK
https://bugs.webkit.org/show_bug.cgi?id=126257

Reviewed by Philippe Normand.

  • GNUmakefile.am:
2:18 AM Changeset in webkit [161112] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit2

[WK2][SOUP] Fix handling of cookies when network process is enabled
https://bugs.webkit.org/show_bug.cgi?id=125576

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

Initialize the network process with cookie accept policy, persistent
storage path and type. Use
WebContext::sendToNetworkingProcessRelaunchingIfNecessary instead of
WebContext::sendToAllProcessesRelaunchingThemIfNecessary to send
SetCookiePersistentStorage message.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • Shared/Network/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h:
  • UIProcess/soup/WebContextSoup.cpp:

(WebKit::WebContext::platformInitializeNetworkProcess):

  • UIProcess/soup/WebCookieManagerProxySoup.cpp:

(WebKit::WebCookieManagerProxy::setCookiePersistentStorage):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

2:07 AM Changeset in webkit [161111] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r160733.

  • bindings/gobject/webkitdom.symbols:
12:56 AM Changeset in webkit [161110] by commit-queue@webkit.org
  • 2 edits in trunk

[GTK] Fix release builds with NetworkProcess enabled
https://bugs.webkit.org/show_bug.cgi?id=126247

Patch by Giovanni Campagna <gcampagna@src.gnome.org> on 2013-12-28
Reviewed by Carlos Garcia Campos.

  • Source/autotools/symbols.filter:
12:36 AM Changeset in webkit [161109] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Downloads are broken with the network process enabled
https://bugs.webkit.org/show_bug.cgi?id=126131

Reviewed by Martin Robinson.

The problem is that the network process crashes when trying to
convert the handle to a download, because at that point the
download has finished and the handle is NULL. This happens because
we are not implementing ResourceHandle::continueDidReceiveResponse().

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::nextMultipartResponsePartCallback): Call
continueAfterDidReceiveResponse() when not using async callbacks.
(WebCore::sendRequestCallback): Ditto.
(WebCore::continueAfterDidReceiveResponse): Helper function that
continues the load after didReceiveResponse.
(WebCore::ResourceHandle::continueDidReceiveResponse): Call
continueAfterDidReceiveResponse().

Dec 27, 2013:

2:05 PM Changeset in webkit [161108] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

Another attempt to fix the Windows build after <http://trac.webkit.org/changeset/161106>
(https://bugs.webkit.org/show_bug.cgi?id=126180)

  • WebCore.vcxproj/WebCore.vcxproj.filters: Add files platform/audio/{AudioSession, AudioSessionListener}.h
  • WebCore.vcxproj/WebCoreCommon.props: Add directory WebCore/platform/audio to the list of

include directories.

1:44 PM Changeset in webkit [161107] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix the Windows build after <http://trac.webkit.org/changeset/161106>
(https://bugs.webkit.org/show_bug.cgi?id=126180)

Add files platform/audio/AudioSession.{cpp, h} and platform/audio/AudioSessionListener.h
to the Visual Studio project. Note, the contents of these files are guarded by USE(AUDIO_SESSION),
which is only enabled on Mac and iOS at the time of writing.

I thought to try this approach to fix the build so as to avoid adding an extraneous
USE(AUDIO_SESSION)-guard around the #include "AudioSession.h" in Settings.cpp since
the contents of the file AudioSession.h is guarded by USE(AUDIO_SESSION).

  • WebCore.vcxproj/WebCore.vcxproj:
12:40 PM Changeset in webkit [161106] by dbates@webkit.org
  • 43 edits
    3 adds in trunk/Source

[iOS] Upstream WebCore/page changes
https://bugs.webkit.org/show_bug.cgi?id=126180

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • dom/EventNames.h:

(WebCore::EventNames::isGestureEventType): Added.

  • page/AlternativeTextClient.h: Do not define WTF_USE_DICTATION_ALTERNATIVES when building for iOS.
  • page/Chrome.cpp:

(WebCore::Chrome::Chrome):
(WebCore::Chrome::dispatchViewportPropertiesDidChange): Added; guarded by PLATFORM(IOS).
(WebCore::Chrome::setCursor): Make this an empty function when building for iOS.
(WebCore::Chrome::setCursorHiddenUntilMouseMoves): Ditto.
(WebCore::Chrome::didReceiveDocType): Added; iOS-specific.

  • page/Chrome.h:

(WebCore::Chrome::setDispatchViewportDataDidChangeSuppressed): Added; guarded by PLATFORM(IOS).

  • page/ChromeClient.h:

(WebCore::ChromeClient::didFlushCompositingLayers): Added; guarded by PLATFORM(IOS).
(WebCore::ChromeClient::fetchCustomFixedPositionLayoutRect): Added; guarded by PLATFORM(IOS).
(WebCore::ChromeClient::updateViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::install): Added iOS-specific code.
(WebCore::DOMTimer::fired): Ditto.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::DOMWindow): Ditto.
(WebCore::DOMWindow::innerHeight): Ditto.
(WebCore::DOMWindow::innerWidth): Ditto.
(WebCore::DOMWindow::scrollX): Ditto.
(WebCore::DOMWindow::scrollY): Ditto.
(WebCore::DOMWindow::scrollBy): Ditto.
(WebCore::DOMWindow::scrollTo): Ditto.
(WebCore::DOMWindow::clearTimeout): Ditto.
(WebCore::DOMWindow::addEventListener): Ditto.
(WebCore::DOMWindow::incrementScrollEventListenersCount): Added; guarded by PLATFORM(IOS).
(WebCore::DOMWindow::decrementScrollEventListenersCount): Added; guarded by PLATFORM(IOS).
(WebCore::DOMWindow::resetAllGeolocationPermission): Added; Also added FIXME comment.
(WebCore::DOMWindow::removeEventListener): Added iOS-specific code.
(WebCore::DOMWindow::dispatchEvent): Modified to prevent dispatching duplicate pageshow and pagehide
events per <http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#event-pageshow>.
(WebCore::DOMWindow::removeAllEventListeners): Added iOS-specific code.

  • page/DOMWindow.h:
  • page/DOMWindow.idl: Added IOS_GESTURE_EVENTS-guarded attributes: ongesture{change, end, start}. Also

added IOS_TOUCH_EVENTS-guarded attributes: {Touch, TouchList}Constructor.

  • page/EditorClient.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler): Added iOS-specific code.
(WebCore::EventHandler::clear): Ditto.
(WebCore::EventHandler::startPanScrolling): Make this an empty function when building for iOS.
(WebCore::EventHandler::handleMousePressEvent): Modified to invalidate a click when the clicked node is
null. Also, opt out of code for updating the scrollbars as UIKit manages scrollbars on iOS.
(WebCore::EventHandler::handleMouseMoveEvent): Opt of code for updating the scrollbars and cursor when building on iOS.
(WebCore::hitTestResultInFrame): Made this a file-local static function since it's only used in EventHandler.cpp.
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Added iOS-specific code.

  • page/EventHandler.h:
  • page/FocusController.h:
  • page/Frame.cpp:

(WebCore::Frame::Frame): Added iOS-specific code.
(WebCore::Frame::scrollOverflowLayer): Added; iOS-specific.
(WebCore::Frame::overflowAutoScrollTimerFired): Added; iOS-specific.
(WebCore::Frame::startOverflowAutoScroll): Added; iOS-specific.
(WebCore::Frame::checkOverflowScroll): Added; iOS-specific.
(WebCore::Frame::willDetachPage): Added iOS-specific code.
(WebCore::Frame::createView): Ditto.
(WebCore::Frame::setSelectionChangeCallbacksDisabled): Added; iOS-specific.
(WebCore::Frame::selectionChangeCallbacksDisabled): Added; iOS-specific.

  • page/Frame.h:

(WebCore::Frame::timersPaused): Added; guarded by PLATFORM(IOS).

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView): Added iOS-specific code.
(WebCore::FrameView::clear): Ditto.
(WebCore::FrameView::flushCompositingStateForThisFrame): Ditto.
(WebCore::FrameView::graphicsLayerForPlatformWidget): Added.
(WebCore::FrameView::scheduleLayerFlushAllowingThrottling): Added.
(WebCore::FrameView::layout): Added iOS-specific code.
(WebCore::countRenderedCharactersInRenderObjectWithThreshold): Added; helper function used by FrameView::renderedCharactersExceed().
Also added FIXME comment.
(WebCore::FrameView::renderedCharactersExceed): Added.
(WebCore::FrameView::visibleContentsResized): Added iOS-specific code.
(WebCore::FrameView::adjustTiledBackingCoverage): Ditto.
(WebCore::FrameView::performPostLayoutTasks): Ditto.
(WebCore::FrameView::sendResizeEventIfNeeded): Ditto.
(WebCore::FrameView::paintContents): Added iOS-specific code. Also added FIXME comments.
(WebCore::FrameView::setUseCustomFixedPositionLayoutRect): Added; iOS-specific.
(WebCore::FrameView::setCustomFixedPositionLayoutRect): Added; iOS-specific.
(WebCore::FrameView::updateFixedPositionLayoutRect): Added; iOS-specific.

  • page/FrameView.h:
  • page/Navigator.cpp:

(WebCore::Navigator::standalone): Added; iOS-specific.

  • page/Navigator.h:
  • page/Navigator.idl: Added WTF_PLATFORM_IOS-guarded attribute: standalone. Also added FIXME comment.
  • page/NavigatorBase.cpp:

(WebCore::NavigatorBase::platform): Added iOS-specific code.

  • page/Page.h:

(WebCore::Page::hasCustomHTMLTokenizerTimeDelay): Added; guarded by PLATFORM(IOS). Also added FIXME comment
to remove this method.
(WebCore::Page::customHTMLTokenizerTimeDelay): Added; guarded by PLATFORM(IOS). Also added FIXME comment
to remove this method.

  • page/PageGroup.cpp:

(WebCore::PageGroup::removeVisitedLink): Added.

  • page/PageGroup.h:
  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setScriptEnabled): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::setStandalone): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::setAudioSessionCategoryOverride): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::audioSessionCategoryOverride): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::setNetworkDataUsageTrackingEnabled): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::networkDataUsageTrackingEnabled): Added; guarded by PLATFORM(IOS).
(WebCore::sharedNetworkInterfaceNameGlobal): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::setNetworkInterfaceName): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::networkInterfaceName): Added; guarded by PLATFORM(IOS).

  • page/Settings.h:

(WebCore::Settings::setMaxParseDuration): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
(WebCore::Settings::maxParseDuration): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
(WebCore::Settings::standalone): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::setTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::telephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::setMediaDataLoadsAutomatically): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::mediaDataLoadsAutomatically): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::setShouldTransformsAffectOverflow): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::shouldTransformsAffectOverflow): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::setShouldDispatchJavaScriptWindowOnErrorEvents): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::shouldDispatchJavaScriptWindowOnErrorEvents): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::setAlwaysUseBaselineOfPrimaryFont): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::alwaysUseBaselineOfPrimaryFont): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::setAlwaysUseAcceleratedOverflowScroll): Added; guarded by PLATFORM(IOS).
(WebCore::Settings::alwaysUseAcceleratedOverflowScroll): Added; guarded by PLATFORM(IOS).

  • page/Settings.in: Added IOS_AIRPLAY-guarded setting: mediaPlaybackAllowsAirPlay.
  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Added iOS-specific code and FIXME comment.

  • page/ios/EventHandlerIOS.mm: Added.
  • page/ios/FrameIOS.mm: Added.
  • page/mac/ChromeMac.mm:
  • page/mac/PageMac.cpp:

(WebCore::Page::addSchedulePair): Opt out of code when building for iOS.
(WebCore::Page::removeSchedulePair): Ditto.

  • page/mac/SettingsMac.mm:

(WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault): Added iOS-specific code.

  • page/mac/WebCoreFrameView.h:

Source/WebKit/ios:

  • WebCoreSupport/WebChromeClientIOS.mm: Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: Added.
  • WebProcess/WebPage/WebPage.cpp: Include header <WebCore/HitTestResult.h>.

Source/WTF:

  • wtf/FeatureDefines.h: Define ENABLE_IOS_TOUCH_EVENTS to be enabled by default

when building iOS with ENABLE(TOUCH_EVENTS).

11:46 AM Changeset in webkit [161105] by barraclough@apple.com
  • 22 edits
    1 delete in trunk

Merge PageVisibilityState & ViewState::IsVisible in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=126214

Reviewed by Alexey Proskuryakov.

WebKit2 redundantly tracks the visibility of the view through two mechanisms - the visibility
state, and the view state. Remove visibility state from the WebKit2 layer. The visibility
state also tracks the prerender state - so split this out and handle it separately (a change
we should make in WebCore, too).

Source/WebCore:

WebCore - changes the API tests exposed a bug, a view should only ever come out of the
prerender state when it becomes visible - redundant notifications that the view is still
hidden should be ignored.

  • page/Page.cpp:

(WebCore::Page::setVisibilityState):

  • ignore visibility state change to hidden, if the current state is prerender.

Source/WebKit2:

Removing the redundancy also removes the ability from the API to set a fake visibility state
(IsVisible tracks the actual visibility of the view). Through private API
(WKPageSetVisibilityState) a client could previously request the view be reported as hidden or
visible, but this didn't really work - the override was not enforced and the API may reset the
state at an arbitrary point. The mechanism is only used by testing code, which instead should
actually update the view visibility (this tests more of the actual visibility mechanisms used
by the browser). The one aspect of the API relied on by existing clients is the ability to
initialize a hidden view as prerender - continue to support this specific functionality via
WKPageSetVisibilityState, to maintain backwards compatibility.

  • WebKit2 - remove internal state that tracks page visibility separately from the view state

visibility. For backwards compatibility continue to support the WKPageSetVisibilityState API,
but only to initialize the state to prerender.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetVisibilityState):

  • only support initializing the visibility state to prerender.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • remove m_visibilityState

(WebKit::WebPageProxy::initializeWebPage):

  • no need to send initial visibility state (this is sent as a part of the creation parameters).

(WebKit::WebPageProxy::viewStateDidChange):

  • no need to send visibility state change (this is sent as a part of view state).

(WebKit::WebPageProxy::setVisibilityStatePrerender):

  • setVisibilityState -> setVisibilityStatePrerender.
  • UIProcess/WebPageProxy.h:
    • remove m_visibilityState, setVisibilityState -> setVisibilityStatePrerender.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • added call to updateVisibilityState.

(WebKit::WebPage::setViewIsVisible):

  • added call to updateVisibilityState.

(WebKit::WebPage::updateVisibilityState):

  • previously setVisibilityState, updates the page visibility state according to the view state.

(WebKit::WebPage::setVisibilityStatePrerender):

  • set visibility state to prerender.
  • WebProcess/WebPage/WebPage.h:
    • remove m_visibilityState, setVisibilityState -> setVisibilityStatePrerender.
  • WebProcess/WebPage/WebPage.messages.in:
    • SetVisibilityState -> SetVisibilityStatePrerender.

Tools:

Tools - WebKit2 no longer (poorly) supports a fake visibility state, so to test the page
visibility mechanisms we should actually be changing characteristics of the view that will
be detected by WebKit2 as a visibility change. This affects three things:

1) On setVisibilityState WebKitTestRunner must actually change visibility of the view.
2) The 'PageVisibilityState' test in the API tests is useless (as evidenced by the fact

that page visibility has been broken in WebKit2 for a couple of months, and didn't
catch this fact). Removed in favour of:

3) 'PageVisibilityStateWithWindowChanges' - this is the good stuff. This actually tests

the visibility mechanism. Beef this test up by adding coverage for: a) the prerender

state, b) document.hidden, and c) too many state change notifications (it already looks
for too few).

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/PageVisibilityState.cpp: Removed.
    • Removed PageVisibilityState - this test was ineffective, API no longer supports this test, and behaviour is covered by PageVisibilityStateWithWindowChanges.
  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:

(-[PageVisibilityStateDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
(runJavaScriptAlert):

  • Add checking for too many calls to the alert.

(TestWebKitAPI::PageVisibilityStateWithWindowChanges::setPrerender):

  • Added methods to set visibility to prerender.

(TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):

  • Added checking of 'document.hidden'.
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::setVisibilityState):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/efl/TestControllerEfl.cpp:

(WTR::TestController::setHidden):

  • WebKitTestRunner/gtk/TestControllerGtk.cpp:

(WTR::TestController::setHidden):

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::TestController::setHidden):

  • Add setHidden method; call this from setVisibilityState.

LayoutTests:

LayoutTests - remove test for notification on visibility state change to preerender. This test
was covering something nonsensical, and not supported by the spec - the page should never see
a visibility change to prerender, this should only be an initial state. WebKit2 API now only
allows the client to change the state to prerender without sending a notification, and there
is no sense in continuing to support the current test case, since the behaviour is neither
allowed by API nor available in web content.

The prerender state is now properly covered by API tests.

  • fast/events/page-visibility-transition-test-expected.txt:
  • fast/events/page-visibility-transition-test.html:
    • remove test for notification on visibility state change to preerender.
10:39 AM Changeset in webkit [161104] by mark.lam@apple.com
  • 9 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Cosmetic: rename VM::entryScope to firstEntryScope.
https://bugs.webkit.org/show_bug.cgi?id=126266.

Not yet reviewed.

Also renamed VMEntryScope::m_prev to m_prevFirstEntryScope.

  • debugger/Debugger.cpp:

(JSC::Debugger::recompileAllJSFunctions):

  • heap/Heap.cpp:

(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::deleteAllCompiledCode):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::vmEntryGlobalObject):

  • interpreter/JSStack.cpp:

(JSC::JSStack::updateStackLimit):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::releaseExecutableMemory):

  • runtime/VM.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):

  • runtime/VMEntryScope.h:
10:08 AM Changeset in webkit [161103] by ap@apple.com
  • 2 edits in trunk/Tools

Display EWS status on bot watcher's dashboard
https://bugs.webkit.org/show_bug.cgi?id=126224

Silence spurious exceptions, no visible behavior change.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js:

(EWSQueue.prototype.update): Removed code that was only needed for an experimental
feature that wasn't landed.

9:06 AM Changeset in webkit [161102] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

Unreviewed Windows build fix for r160946.

Add another file to the Windows InspectorAllInOne.cpp.

  • inspector/InspectorAllInOne.cpp:
2:30 AM Changeset in webkit [161101] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Unnecessary code is built into WebKitPluginProcess
https://bugs.webkit.org/show_bug.cgi?id=126259

Reviewed by Carlos Garcia Campos.

  • GNUmakefile.list.am: Stop building ChildProcessProxy and ProcessLauncher classes into WebKitPluginProcess.

That code is not required in the plugin process, as one would expect.

12:44 AM Changeset in webkit [161100] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] MiniBrowser scale up/down infinitely after r161087
https://bugs.webkit.org/show_bug.cgi?id=126254

Reviewed by Gyuyoung Kim.

After r161087, contentScaleFactor of WebView is synced with pageScaleFactor
of WebPage. It means that WKViewGetContentScaleFactor might not be same
with PageViewportController's current scale value until received PageScaleFactorDidChange.

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::setViewportPosition):
Use controller's current scale just to update and sync the position.

12:37 AM Changeset in webkit [161099] by ap@apple.com
  • 7 edits
    1 move
    5 adds
    2 deletes in trunk/Tools

Display EWS status on bot watcher's dashboard
https://bugs.webkit.org/show_bug.cgi?id=126224

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: Added.

Moved platform definitions out of Buildbot.js, as they are also needed for EWS.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js: Added.

(QueueView):
(QueueView.prototype.updateSoon):
(QueueView.prototype.update):
(QueueView.prototype._updateHiddenState):
Moved auto-update and hide logic to a base class, as it equally applies to EWS.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js: Added.

This is a peer to Buildbot.js and WebKitBuildbot.js.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js: Added.

Quite simple for now, only keeping track of queue size.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:

Initialize EWS.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

Create EWS views.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

Updated for Buildbot.Platform rename, it's now Dashboard.Platform.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotBuilderQueueView.css: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css: Removed.

These were empty, no reason to waste the time loading them.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotTesterQueueView.css: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css.

Renamed, as these styles apply to all queues, not just buildbot ones (and they have to, as columns should look alike).

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
    • Changed page title, as it no longer displays just buildbot status.
    • Updated subresource lists for the new, renamed and removed files.
12:29 AM Changeset in webkit [161098] by ap@apple.com
  • 3 edits in trunk/Tools

EWS status JSON should include Access-Control-Allow-Origin
https://bugs.webkit.org/show_bug.cgi?id=126246

Reviewed by Ryosuke Niwa.

  • QueueStatusServer/app.yaml: Update version.
  • QueueStatusServer/handlers/queuestatusjson.py:

(QueueStatusJSON.get): Add the header field.

12:26 AM Changeset in webkit [161097] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

Unreviewed, rolling out r161096.
http://trac.webkit.org/changeset/161096
https://bugs.webkit.org/show_bug.cgi?id=126256

Made lots of tests crash (Requested by ap on #webkit).

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::willRemoveChildren):
(WebCore::ContainerNode::appendChild):

  • dom/Document.cpp:

(WebCore::Document::visibilityStateChanged):
(WebCore::Document::moveNodeIteratorsToNewDocument):
(WebCore::Document::updateRangesAfterChildrenChanged):
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):
(WebCore::Document::textInserted):
(WebCore::Document::textRemoved):
(WebCore::Document::textNodesMerged):
(WebCore::Document::textNodeSplit):
(WebCore::Document::documentWillSuspendForPageCache):
(WebCore::Document::documentDidResumeFromPageCache):
(WebCore::Document::mediaVolumeDidChange):
(WebCore::Document::privateBrowsingStateDidChange):
(WebCore::Document::captionPreferencesChanged):
(WebCore::Document::validateAutoSizingNodes):
(WebCore::Document::resetAutoSizingNodes):
(WebCore::Document::webkitExitFullscreen):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::disconnect):
(WebCore::MutationObserver::getObservedNodes):
(WebCore::MutationObserver::deliver):

  • dom/MutationObserverInterestGroup.cpp:

(WebCore::MutationObserverInterestGroup::isOldValueRequested):
(WebCore::MutationObserverInterestGroup::enqueueMutationRecord):

  • dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::clearTransientRegistrations):
(WebCore::MutationObserverRegistration::addRegistrationNodesToSet):

  • dom/Node.cpp:

(WebCore::Node::dumpStatistics):
(WebCore::Document::invalidateNodeListAndCollectionCaches):
(WebCore::NodeListsNodeData::invalidateCaches):
(WebCore::Node::didMoveToNewDocument):
(WebCore::collectMatchingObserversForMutation):
(WebCore::Node::notifyMutationObserversNodeWillDetach):

  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::adoptDocument):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
(WebCore::ScriptExecutionContext::stopActiveDOMObjects):
(WebCore::ScriptExecutionContext::closeMessagePorts):
(WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
(WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):
(WebCore::WebKitNamedFlow::getContent):

Dec 26, 2013:

6:55 PM Changeset in webkit [161096] by weinig@apple.com
  • 10 edits in trunk/Source/WebCore

Convert some of WebCore/dom over to range-for loops
https://bugs.webkit.org/show_bug.cgi?id=126250

Reviewed by Andreas Kling.

  • dom/ContainerNode.cpp:
  • dom/Document.cpp:
  • dom/MutationObserver.cpp:
  • dom/MutationObserverInterestGroup.cpp:
  • dom/MutationObserverRegistration.cpp:
  • dom/Node.cpp:
  • dom/NodeRareData.h:
  • dom/ScriptExecutionContext.cpp:
  • dom/WebKitNamedFlow.cpp:
4:21 PM Changeset in webkit [161095] by Martin Robinson
  • 4 edits in trunk/Source

Small build fix for the GTK+ CMake port

Source/WebKit/gtk:

  • tests/CMakeLists.txt: Output the WebKit1 GObject API unit tests to the proper directory

and fix the path to the generated API source.

Source/WebKit2:

  • UIProcess/API/gtk/tests/CMakeLists.txt: Make the way the output directory is specified similar

to the WebKit1 version of these tests, so that it is more difficult to inadvertently specify the
wrong directory.

3:01 PM Changeset in webkit [161094] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Nix] Cleanup Source/WebCore/PlatformNix.cmake
https://bugs.webkit.org/show_bug.cgi?id=126226

Reviewed by Csaba Osztrogonác.

No new tests needed.

  • PlatformNix.cmake:
1:24 PM Changeset in webkit [161093] by Martin Robinson
  • 3 edits in trunk

[GTK] [CMake] Add a production build type
https://bugs.webkit.org/show_bug.cgi?id=126179

Reviewed by Daniel Bates.

  • Source/PlatformGTK.cmake: When the API tests are enabled compile the WebKit GObject

API unit tests. The inclusion of these build files was inadvertently removed in an earlier
patch.

  • Source/cmake/OptionsGTK.cmake: When in production mode turn off all tools and tests and

use the autotools linker script.

11:20 AM Changeset in webkit [161092] by ap@apple.com
  • 5 edits in trunk/Tools

Some links at build.webkit.org/dashboard don't show status messages, and aren't keyboard accessible
https://bugs.webkit.org/show_bug.cgi?id=126234

Reviewed by Timothy Hatcher.

Changed elements that are semantically links from <div> to <a>.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:

(StatusLineView): Create <a> or <div> elements conditionally on whether we have a URL.
Don't try simulate a link with CSS/JS, it's not needed any more.
(StatusLineView.prototype._clicked): Removed.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css:

Removed text-decoration rules, default ones in Main.css now work for queue elements.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

Simplified cursor rules.
Added a universal rule for links to only show underline on hover, as this is what
we want almost everywhere.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line .bubble): Added text-decoration: none, as this is the one place where
we don't want it even on hover.
(.status-line .label): Force display: block for consistent layout between <a>
and <div>.

10:19 AM Changeset in webkit [161091] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

Unreviewed attempt at Windows build fix.

I think Window's "AllInOne.cpp" is causing a using namespace JSC
to cause naming conflicts between Inspector::TypeBuilder::Debugger::types
and JSC::types. So removing the ambiguity.

  • inspector/InjectedScript.cpp:

(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::wrapCallFrames):

10:01 AM Changeset in webkit [161090] by ap@apple.com
  • 10 edits
    1 add in trunk/Tools

Please clarify "pending" reporting at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122191

Reviewed by Timothy Hatcher.

Reporting the count of pending runs didn't make a lot of sense - first, runs are
coalesced and sometimes even out of order, and second, buildbot's notion of pending
run was confusingly different from dashboard's.

Let's display how many SVN revisions are pending. This can be somewhat misleading
too, because some revisions (like those for other platforms) don't trigger builds,
but it's better than what we had.

This patch also lays the groundwork for displaying detailed information about
pending revisions.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus): Instead of
building pending status line directly, call newly added base class method.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus): Ditto.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView): Listen for events when new SVN revisions are landed, and update the view.
(BuildbotQueueView.prototype._appendPendingRevisionCount): Add a line for pending
SVN revisions. It uses a new style, StatusLineView.Status.NoBubble, because this
information is secondary, and doesn't need as much attention.
(BuildbotQueueView.prototype.revisionLinksForIteration): Build revisionURL through
Trac, not through Buildbot.
(BuildbotQueueView.prototype._newCommitsRecorded): Schedule an update, just like when
iterations are updated.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:

Initialize a global webkitTrac object.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

Added a new style for messages without a bubble.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:

Added a model class for Trac, which keeps track of SVN timeline, and notifies
listeners of changes. It uses an RSS interface to Trac, because there is no JSON one.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:

(loadXML): Added a function to load XML asynchronouly, just like existing JSON.load.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

Removed tracRevisionURL() function. Now that we have a Trac object, it just makes
more sense to build trac URLs through it.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:

Load Trac.js.

10:00 AM Changeset in webkit [161089] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Make Text::createTextRenderer() take a const RenderStyle&.
<https://webkit.org/b/126136>

Nuke a FIXME about constifying a RenderStyle& local.

Reviewed by Anders Carlsson.

9:58 AM Changeset in webkit [161088] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Move more inlines from RenderObject to RenderElement.
<https://webkit.org/b/126134>

Lift some inline functions that use style() from RenderObject over
to RenderElement, making them branchless.

Reviewed by Anders Carlsson.

7:04 AM Changeset in webkit [161087] by thiago.lacerda@openbossa.org
  • 3 edits in trunk/Source/WebKit2

[WK2][CoordinatedGraphics] Removing duplicate scale information from WebVIew.cpp
https://bugs.webkit.org/show_bug.cgi?id=126243

Reviewed by Benjamin Poulain.

The scale factor of the WebView must reflect the same information present in
WebPageProxy.
Previously, in WebView.cpp, there was a m_contentScaleFactor member, which adds
information duplication and needs to be synchronizing with pageScaleFactor in
WebPageProxy. We can avoid this by just making WebView access and set WebPageProxy's
pageScaleFactor directly.

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::WebView):
(WebKit::WebView::setContentScaleFactor):
(WebKit::WebView::transformToScene):
(WebKit::WebView::visibleContentsSize):

  • UIProcess/CoordinatedGraphics/WebView.h:

(WebKit::WebView::contentScaleFactor):

1:24 AM Changeset in webkit [161086] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r159526.
isBoxValue is used at out of ENABLE_CSS_SHAPES gaurd. It causes a compile failure.
So I moved isBoxValue to out side of ENABLE_CSS_SHAPES.

  • css/CSSParser.cpp:

Dec 25, 2013:

11:32 PM Changeset in webkit [161085] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebCore

Set m_pos as private in InlineIterator, and use getter and setter functions.
https://bugs.webkit.org/show_bug.cgi?id=125614

Reviewed by Alexey Proskuryakov.

InlineIterator has been exported m_pos as public directly 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::setOffset):
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::InlineBidiResolver::appendRun):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::appendRunsForObject):
(WebCore::constructBidiRunsForLine):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::matchedEndLine):
(WebCore::LineBreaker::nextSegmentBreak):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleBR):
(WebCore::BreakingContext::handleFloat):
(WebCore::iteratorIsBeyondEndOfRenderCombineText):
(WebCore::ensureCharacterGetsLineBox):
(WebCore::BreakingContext::handleText):
(WebCore::checkMidpoints):
(WebCore::BreakingContext::handleEndOfLine):

  • rendering/line/TrailingObjects.cpp:

(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):

11:17 PM Changeset in webkit [161084] by mark.lam@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

jsc-layout-tests.yaml/js/script-tests/function-apply-aliased.js.layout-no-cjit is failing.
https://bugs.webkit.org/show_bug.cgi?id=126174.

Not yet reviewed.

When we do a stack check in a function prologue, the activation object
in the frame hasn't been set yet. The test failures came from the stack
unwinding code trying to tear off the frame to a non-existant activation
object. Since we haven't entered the function yet and the frame is
technically not fully "pushed" yet, we can throw i.e. start the unwinding
from the caller frame instead. This fixes the issue.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • When we have a StackOverflowError, return the caller's CallFrame in the second value in the SlowPathReturnType.
  • llint/LowLevelInterpreter.asm:
  • Check if the second value of the SlowPathReturnType from the stack check is 0. If not 0, set the cfr to the returned CallFrame* before we start handling the StackOverflowError and unwinding the stack.
9:12 PM Changeset in webkit [161083] by commit-queue@webkit.org
  • 3 edits
    1 delete in trunk/Source/WebCore

[EFL] Delete file.edc and file_*.png.
https://bugs.webkit.org/show_bug.cgi?id=125134

Patch by Kim Byung Jun <bj1987.kim@samsung.com> on 2013-12-25
Reviewed by Gyuyoung Kim.

File_theme uses button form.

  • platform/efl/DefaultTheme/CMakeLists.txt:
  • platform/efl/DefaultTheme/default.edc:
  • platform/efl/DefaultTheme/widget/file/file.edc: Removed.
  • platform/efl/DefaultTheme/widget/file/file_focus.png: Removed.
  • platform/efl/DefaultTheme/widget/file/file_hover.png: Removed.
  • platform/efl/DefaultTheme/widget/file/file_normal.png: Removed.
  • platform/efl/DefaultTheme/widget/file/file_press.png: Removed.
7:06 PM Changeset in webkit [161082] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Activate keyboard homepage shortcut on efl minibrowser.
https://bugs.webkit.org/show_bug.cgi?id=124636

Patch by Jongwoo Choi <jw0330.choi@samsung.com> on 2013-12-25
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c: Added.

(on_key_down): Add a homepage shortcut using Alt + Home key.

7:03 PM Changeset in webkit [161081] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Nix] Adding createDragImageIconForCachedImageFilename method to DragImageNix
https://bugs.webkit.org/show_bug.cgi?id=126230

Reviewed by Daniel Bates.

Also returning nullptr in other functions that were returning 0 as a pointer.

  • platform/nix/DragImageNix.cpp:

(WebCore::createDragImageFromImage):
(WebCore::createDragImageIconForCachedImage):
(WebCore::createDragImageIconForCachedImageFilename):

6:57 PM Changeset in webkit [161080] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Nix] Fixing DragData::asFragment signature in DragDataNix.cpp
https://bugs.webkit.org/show_bug.cgi?id=126229

Reviewed by Daniel Bates.

  • platform/nix/DragDataNix.cpp:

(WebCore::DragData::asFragment):

6:51 PM Changeset in webkit [161079] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WTF

[Nix] Building with DRAG_SUPPORT enabled
https://bugs.webkit.org/show_bug.cgi?id=126233

Reviewed by Daniel Bates.

  • wtf/nix/FeatureDefinesNix.h:
4:33 PM Changeset in webkit [161078] by ap@apple.com
  • 3 edits in trunk/Tools

Revision selection behavior at build.webkit.org/dashboard is annoying
https://bugs.webkit.org/show_bug.cgi?id=126235

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype.revisionLinksForIteration): Make the whole message
selectable, not just the numbers in it.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(.selectable): Make selectable enable default behavior, not user-select:all.

4:29 PM Changeset in webkit [161077] by commit-queue@webkit.org
  • 29 edits in trunk

Unreviewed, rolling out r161033 and r161074.
http://trac.webkit.org/changeset/161033
http://trac.webkit.org/changeset/161074
https://bugs.webkit.org/show_bug.cgi?id=126240

Oliver says that a rollout would be better (Requested by ap on
#webkit).

Source/JavaScriptCore:

  • API/JSObjectRef.cpp:

(JSObjectSetProperty):

  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::putByIndex):

  • runtime/ArrayPrototype.cpp:

(JSC::putProperty):
(JSC::arrayProtoFuncPush):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitiveByIndex):

  • runtime/JSCell.cpp:

(JSC::JSCell::putByIndex):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::put):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):

  • runtime/JSONObject.cpp:

(JSC::Walker::walk):

  • runtime/JSObject.cpp:

(JSC::JSObject::putByIndex):
(JSC::JSObject::putDirectNonIndexAccessor):
(JSC::JSObject::deleteProperty):

  • runtime/JSObject.h:

(JSC::JSObject::putDirect):

  • runtime/Lookup.h:

(JSC::putEntry):
(JSC::lookupPut):

  • runtime/PutPropertySlot.h:

(JSC::PutPropertySlot::PutPropertySlot):
(JSC::PutPropertySlot::setNewProperty):
(JSC::PutPropertySlot::isCacheable):

Source/WebCore:

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::put):

  • bindings/objc/WebScriptObject.mm:

(-[WebScriptObject setValue:forKey:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterface::putByIndex):

  • bridge/NP_jsobject.cpp:

(_NPN_SetProperty):

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::setProperty):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::setProperty):

LayoutTests:

4:29 PM Changeset in webkit [161076] by beidson@apple.com
  • 19 edits in trunk/Source

DatabaseProcess: Implement version changing
https://bugs.webkit.org/show_bug.cgi?id=126099

Reviewed by Sam Weinig.

Source/WebCore:

No new tests (No change in WebCore behavior).

  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::commit): Update some logging.

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform): Move some things that used to be in

IDBServerConnectionLevelDB::changeDatabaseVersion to this cross-platform location.

  • Modules/indexeddb/IDBTransactionBackendOperations.h:

(WebCore::IDBDatabaseBackend::VersionChangeOperation::transaction):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion): Move the actual updating of the database backend

metadata to the VersionChangeOperation.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Add logging.
(WebKit::DatabaseProcessIDBConnection::openTransaction): Ditto.
(WebKit::DatabaseProcessIDBConnection::beginTransaction): Ditto.
(WebKit::DatabaseProcessIDBConnection::commitTransaction): Ditto.
(WebKit::DatabaseProcessIDBConnection::resetTransaction): Ditto.
(WebKit::DatabaseProcessIDBConnection::rollbackTransaction): Ditto.
(WebKit::DatabaseProcessIDBConnection::changeDatabaseVersion): Implement this!

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::shutdown): Clean up all requests, and also cleanup the backing store

on the database queue.

(WebKit::UniqueIDBDatabase::shutdownBackingStore): Shutdown the backing store.
(WebKit::UniqueIDBDatabase::didShutdownBackingStore):
(WebKit::UniqueIDBDatabase::changeDatabaseVersion): Pass along the new version to the database queue.
(WebKit::UniqueIDBDatabase::didChangeDatabaseVersion):
(WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore): Set the new version in the backing store.
(WebKit::UniqueIDBDatabase::postMainThreadTask): Add a ref() to keep the database alive incase it is being

shutdown on the main thread.

(WebKit::UniqueIDBDatabase::performNextMainThreadTask): Balance the ref() from postMainThreadTask, and

accept an empty mainThreadTask queue.

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: Add changeDatabaseVersion.

Flesh out SQLiteIDBTransaction to actually operation on a SQLiteTransaction in a real SQLiteDatabase:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:

(WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction):
(WebKit::SQLiteIDBTransaction::~SQLiteIDBTransaction):
(WebKit::SQLiteIDBTransaction::begin):
(WebKit::SQLiteIDBTransaction::commit):
(WebKit::SQLiteIDBTransaction::reset):
(WebKit::SQLiteIDBTransaction::rollback):
(WebKit::SQLiteIDBTransaction::inProgress):

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:

(WebKit::SQLiteIDBTransaction::create):
(WebKit::SQLiteIDBTransaction::mode):

Rename m_metadataDB to m_sqliteDB,

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath): Disable threading checks on the DB

as work queues can change threads.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion): After validating the transaction, actually

update the version number on disk.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::~WebIDBServerConnection): Make sure to abort in-flight requests.
(WebKit::WebIDBServerConnection::changeDatabaseVersion):
(WebKit::WebIDBServerConnection::didChangeDatabaseVersion):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
4:09 PM Changeset in webkit [161075] by ap@apple.com
  • 2 edits in trunk/LayoutTests

[Mac] [WK2] http/tests/security/cross-frame-access-put.html fails
https://bugs.webkit.org/show_bug.cgi?id=116649

  • platform/mac-wk2/TestExpectations: Removing an expectation for this old bug that

was no longer occurring. Failures on this test are now tracked via bug 126238.

3:59 PM Changeset in webkit [161074] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r161033): http/tests/security/cross-frame-access-put.html fails
https://bugs.webkit.org/show_bug.cgi?id=126238

3:54 PM Changeset in webkit [161073] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (Lazy tree creation): css3/calc/transitions-dependent.html is frequently failing
https://bugs.webkit.org/show_bug.cgi?id=126142

3:44 PM Changeset in webkit [161072] by fpizlo@apple.com
  • 11 edits
    3 adds in trunk

DFG PhantomArguments shouldn't rely on a dead Phi graph
https://bugs.webkit.org/show_bug.cgi?id=126218

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

This change dramatically rationalizes our handling of PhantomArguments (i.e.
speculative elision of arguments object allocation).

It's now the case that if we decide that we can elide arguments allocation, we just
turn the arguments-creating node into a PhantomArguments and mark all locals that
it's stored to as being arguments aliases. Being an arguments alias and being a
PhantomArguments means basically the same thing: in DFG execution you have the empty
value, on OSR exit an arguments object is allocated in your place, and all operations
that use the value now just refer directly to the actual arguments in the call frame
header (or the arguments we know that we passed to the call, in case of inlining).

This means that we no longer have arguments simplification creating a dead Phi graph
that then has to be interpreted by the OSR exit logic. That sort of never made any
sense.

This means that PhantomArguments now has a clear story in SSA: basically SSA just
gets rid of the "locals" but everything else is the same.

Finally, this means that we can more easily get rid of forward exiting. As I was
working on the code to get rid of forward exiting, I realized that I'd have to
carefully preserve the special meanings of MovHint and SetLocal in the case of
PhantomArguments. It was really bizarre: even the semantics of MovHint were tied to
our specific treatment of PhantomArguments. After this change this is no longer the
case.

One of the really cool things about this change is that arguments reification now
just becomes a special kind of FlushFormat. This further unifies things: it means
that a MovHint(PhantomArguments) and a SetLocal(PhantomArguments) both have the same
meaning, since both of them dictate that the way we recover the local on exit is by
reifying arguments. Previously, the SetLocal(PhantomArguments) case needed some
special handling to accomplish this.

A downside of this approach is that we will now emit code to store the empty value
into aliased arguments variables, and we will even emit code to load that empty value
as well. As far as I can tell this doesn't cost anything, since PhantomArguments are
most profitable in cases where it allows us to simplify control flow and kill the
arguments locals entirely. Of course, this isn't an issue in SSA form since SSA form
also eliminates the locals.

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::detypeArgumentsReferencingPhantomChild):

  • dfg/DFGFlushFormat.cpp:

(WTF::printInternal):

  • dfg/DFGFlushFormat.h:

(JSC::DFG::resultFor):
(JSC::DFG::useKindFor):
(JSC::DFG::dataFormatFor):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCurrentBlock):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGValueSource.h:

(JSC::DFG::ValueSource::ValueSource):
(JSC::DFG::ValueSource::forFlushFormat):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::flushFormat):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::buildExitArguments):

LayoutTests:

Reviewed by Oliver Hunt.

Added a test for an obvious case that I don't think we had coverage for in
microbenchmarks. Of course, this case was already covered by more complex tests.

  • js/regress/inline-arguments-aliased-access-expected.txt: Added.
  • js/regress/inline-arguments-aliased-access.html: Added.
  • js/regress/script-tests/inline-arguments-aliased-access.js: Added.

(foo):
(bar):

12:39 PM Changeset in webkit [161071] by Martin Robinson
  • 2 edits in trunk/Source/WebKit2

[GTK] [CMake] Fix CMake style errors in Source/WebKit2/PlatformGTK.cmake
https://bugs.webkit.org/show_bug.cgi?id=126221

Reviewed by Gustavo Noronha Silva.

  • PlatformGTK.cmake: Fix CMake style errors.
12:38 PM Changeset in webkit [161070] by Martin Robinson
  • 2 edits in trunk

[GTK] [CMake] Properly name the JavaScriptCore library
https://bugs.webkit.org/show_bug.cgi?id=126220

Reviewed by Gustavo Noronha Silva.

  • Source/cmake/OptionsGTK.cmake: Set the JSC library name properly.
11:24 AM Changeset in webkit [161069] by rniwa@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Add a description about webkit-patch setup-git-clone to checkout.html
https://bugs.webkit.org/show_bug.cgi?id=126217

Reviewed by Philippe Normand.

Added.

  • building/checkout.html:
11:07 AM Changeset in webkit [161068] by Martin Robinson
  • 20 edits in trunk

[GTK] [CMake] Clean up generated sources directories
https://bugs.webkit.org/show_bug.cgi?id=126216

Reviewed by Gustavo Noronha Silva.

.:

  • Source/cmake/OptionsGTK.cmake: Pre-define the main derived sources directories

so that they definitions can be shared easily throughout the build system.

Source/WebCore:

  • PlatformGTK.cmake: Use the new directory variables.

Source/WebKit:

  • PlatformGTK.cmake: Use the new derived source variables.

Source/WebKit2:

  • PlatformGTK.cmake: Use the new derived sources variables.
  • UIProcess/API/gtk/tests/CMakeLists.txt: Ditto.

Tools:

  • DumpRenderTree/PlatformGTK.cmake: Use the new derived sources variables.
  • GtkLauncher/CMakeLists.txt: Ditto.
  • MiniBrowser/gtk/CMakeLists.txt: Ditto.
  • TestWebKitAPI/CMakeLists.txt: Now that the EFL and GTK+ forwarding header locations differ,

move the platform-specific includes to the EFL and GTK platform files. Also clean up forwarding
header generation into on target.

  • TestWebKitAPI/PlatformEfl.cmake: Added EFL-specific locations to the include list.
  • TestWebKitAPI/PlatformGTK.cmake: Added GTK-specific locations to the include list.
  • WebKitTestRunner/CMakeLists.txt: Same as for TestWebKitAPI.
  • WebKitTestRunner/PlatformEfl.cmake: Ditto.
  • WebKitTestRunner/PlatformGTK.cmake: Ditto.
  • gtk/generate-gtkdoc: Update to select the appropriate derived sources locations for

the cmake build.

11:03 AM Changeset in webkit [161067] by krit@webkit.org
  • 8 edits in trunk

Support <box> values parsing on 'clip-path' property
https://bugs.webkit.org/show_bug.cgi?id=126147

Reviewed by Ryosuke Niwa.

Source/WebCore:

Support parsing of the background reference boxes, margin-box and bounding-box.
A box will be a reference box and define the origin for a basic shape.
If no basic shape is specified, the box defines the clipping path itself.
The specification text follows the changes to CSS Shapes now.

https://dvcs.w3.org/hg/FXTF/raw-file/3f213145303e/css-masking-1/index.html#the-clip-path

Existing parsing test have been extended to test box values as well.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseClipPath):

  • css/CSSParser.h:
  • css/CSSValueKeywords.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyClipPath::applyValue):

LayoutTests:

Add test to check different combinations of the reference boxes
content-box, padding-box, border-box, margin-box and bounding-box
with other clip-path values.

  • fast/masking/parsing-clip-path-shape.html:
10:58 AM Changeset in webkit [161066] by ddkilzer@apple.com
  • 2 edits
    4 adds in trunk/Source/WebCore

[iOS] Upstream WebCore/pdf changes
http://webkit.org/b/126097

Reviewed by Sam Weinig.

  • WebCore.xcodeproj/project.pbxproj: Added files to project.
  • pdf/ios/PDFDocument.cpp: Added.

(WebCore::PDFDocumentParser::create):
(WebCore::PDFDocumentParser::document):
(WebCore::PDFDocumentParser::PDFDocumentParser):
(WebCore::PDFDocument::createParser):

  • pdf/ios/PDFDocument.h: Added.

(WebCore::PDFDocument::create):
(WebCore::PDFDocument::PDFDocument):

6:48 AM Changeset in webkit [161065] by Philippe Normand
  • 2 edits in trunk/Source/WebKit2

Unreviewed, GTK build fix after r161063

  • GNUmakefile.am: Use locally built .gir dependencies when

building the WebExtensions gir file.

1:56 AM Changeset in webkit [161064] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Fix warnings when generating WebExtensions gobject-instrospection files
https://bugs.webkit.org/show_bug.cgi?id=126225

Reviewed by Philippe Normand.

Add transfer annotation to webkit_web_page_get_dom_document() and
document webkit_web_page_get_main_frame().

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1:53 AM Changeset in webkit [161063] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Missing introspection information for WebExtensions
https://bugs.webkit.org/show_bug.cgi?id=122407

Reviewed by Philippe Normand.

Generate WebKit2WebExtension-3.0.gir with the WebExtensions API
and move the DOM bindings API from WebKit2-3.0.gir to
WebKit2WebExtension-3.0.gir.

  • GNUmakefile.am:
1:13 AM Changeset in webkit [161062] by ap@apple.com
  • 9 edits
    1 add in trunk/Tools

Add a JSON interface for getting EWS queue status
https://bugs.webkit.org/show_bug.cgi?id=126182

Reviewed by Ryosuke Niwa.

The current goal is to add an indicator of how many patches are in the queue, and
the JSON also includes some other information that was easy to add.

  • QueueStatusServer/app.yaml: Updated version for deployment.
  • QueueStatusServer/handlers/queuestatusjson.py: Added. Returns a JSON with some

bot and patch queue information.

  • QueueStatusServer/index.yaml: Added an index for a new query that only returns

bot ids.

  • QueueStatusServer/main.py: Map /queue-status-json/ directory to QueueStatusJSON

handler.

  • QueueStatusServer/config: Added property svn:ignore.
  • QueueStatusServer/filters: Added property svn:ignore.
  • QueueStatusServer/loggers: Added property svn:ignore.
  • QueueStatusServer/handlers: Added property svn:ignore.
  • QueueStatusServer/model: Added property svn:ignore.

Ignore compiled *.pyc files in all directories they appear in when running locally.

Dec 24, 2013:

4:41 PM Changeset in webkit [161061] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ecma/ExecutionContexts/10.1.4-2.js test fails
https://bugs.webkit.org/show_bug.cgi?id=126213

Reviewed by Filip Pizlo.

Fixed setting and restoring of stack pointer in JIT::compileCallEval()
and its slow path. Changed the exception check to simplify when the stack
pointer is set to the before call versus after the call values.

  • jit/JITCall.cpp:

(JSC::JIT::compileCallEval):
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCall):

1:06 PM Changeset in webkit [161060] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Unreviewed, rolling out r160959.
http://trac.webkit.org/changeset/160959
https://bugs.webkit.org/show_bug.cgi?id=126222

Caused Windows build to fail (Requested by rfong on #webkit).

Source/WebCore:

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::interrupt):

Source/WTF:

  • wtf/ByteSpinLock.h:

(WTF::ByteSpinLock::lock):

  • wtf/Threading.h:
  • wtf/ThreadingPrimitives.h:

(WTF::pauseBriefly):

  • wtf/ThreadingPthreads.cpp:

(WTF::yield):

  • wtf/ThreadingWin.cpp:

(WTF::yield):

1:00 PM Changeset in webkit [161059] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Remove the test expectations added after r161051 now that the changeset has been rolled out.

The assertion failure is tracked by https://webkit.org/b/126219.

12:43 PM Changeset in webkit [161058] by rniwa@webkit.org
  • 12 edits in trunk

Unreviewed, rolling out r161051.
http://trac.webkit.org/changeset/161051
https://bugs.webkit.org/show_bug.cgi?id=45994

Caused two DFG tests to hit assertions due to a separate bug

Source/WebCore:

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::status):
(WebCore::XMLHttpRequest::statusText):

  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.idl:

LayoutTests:

  • http/tests/xmlhttprequest/exceptions-expected.txt:
  • http/tests/xmlhttprequest/exceptions.html:
  • http/tests/xmlhttprequest/status-after-abort-expected.txt:
  • http/tests/xmlhttprequest/zero-length-response-expected.txt:
  • js/dom/dfg-custom-getter-throw-expected.txt:
  • js/dom/script-tests/dfg-custom-getter-throw-inlined.js:

(foo):
(bar):

  • js/dom/script-tests/dfg-custom-getter-throw.js:

(foo):
(bar):

11:02 AM UsingGitWithWebKit edited by rniwa@webkit.org
Add a description about webkit-patch setup-git-clone (diff)
7:32 AM Changeset in webkit [161057] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: throwExceptionFromCallSlowPathGenerator() shouldn't pop frame
https://bugs.webkit.org/show_bug.cgi?id=126204

Reviewed by Filip Pizlo.

Given that the function epilogue pops the callee frame, there is no need
to pop a frame in throwExceptionFromCallSlowPathGenerator().

  • jit/ThunkGenerators.cpp:

(JSC::throwExceptionFromCallSlowPathGenerator):

6:45 AM Changeset in webkit [161056] by stavila@adobe.com
  • 1 edit
    2 moves in trunk/LayoutTests

Rename fast/regions/repaint/increasing-region-content-height.html to something more clear
https://bugs.webkit.org/show_bug.cgi?id=126209

Reviewed by Mihnea Ovidenie.

Renamed test file name to better reflect the scenario it tests.

  • fast/regions/repaint/repaint-element-inside-relative-region-expected.txt: Renamed from LayoutTests/fast/regions/repaint/increasing-region-content-height-expected.txt.
  • fast/regions/repaint/repaint-element-inside-relative-region.html: Renamed from LayoutTests/fast/regions/repaint/increasing-region-content-height.html.
1:36 AM Changeset in webkit [161055] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Suppress assertions in js/dom/dfg-custom-getter-throw.html and js/dom/dfg-custom-getter-throw-inlined.html for now.

1:25 AM Changeset in webkit [161054] by mihnea@adobe.com
  • 3 edits
    2 adds in trunk

[CSSRegions] Crash while repainting an invalid region
https://bugs.webkit.org/show_bug.cgi?id=126152

Reviewed by Daniel Bates.

Source/WebCore:

An invalid region, part of a dependency cycle, should not attempt to repaint content from
its associated named flow, otherwise there may be the case of an infinite repaint cycle,
resulting in a crash due to a stack overflow.

Test: fast/regions/repaint/invalid-region-repaint-crash.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::repaintIncludingDescendants):

LayoutTests:

  • fast/regions/repaint/invalid-region-repaint-crash-expected.txt: Added.
  • fast/regions/repaint/invalid-region-repaint-crash.html: Added.
12:23 AM Changeset in webkit [161053] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

32-bit Mac build fix attempt after r161045.

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:

(WebKit::windowMap):

12:11 AM Changeset in webkit [161052] by rniwa@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add a test for reattaching collapsed whitespace when siblings change style
https://bugs.webkit.org/show_bug.cgi?id=126053

Reviewed by Dan Bernstein.

Merge the test from https://chromium.googlesource.com/chromium/blink/+/dd5636728643ff958aebeaf064d38754b0d5904b
so that we may not introduce the same regression in WebKit.

  • fast/css/collapsed-whitespace-reattach-in-style-recalc-expected.txt: Added.
  • fast/css/collapsed-whitespace-reattach-in-style-recalc.html: Added.
12:05 AM Changeset in webkit [161051] by rniwa@webkit.org
  • 12 edits in trunk

XMLHttpRequest: status and statusText throw DOM Exception 11 when the state is UNSENT or OPENED.
https://bugs.webkit.org/show_bug.cgi?id=45994

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Merged https://chromium.googlesource.com/chromium/blink/+/23c90460de16e04c5aba7ed942fba76cb79fdb9b.

Latest XHR spec says that XHR should return 0 and an empty string when it's in UNSENT or OPENED state
or error flag is set: http://www.w3.org/TR/2012/WD-XMLHttpRequest-20121206/#the-status-attribute

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::status):
(WebCore::XMLHttpRequest::statusText):

  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.idl:

LayoutTests:

Rebaselined and fixed tests as done in https://chromium.googlesource.com/chromium/blink/+/23c90460de16e04c5aba7ed942fba76cb79fdb9b.

  • http/tests/xmlhttprequest/exceptions-expected.txt:
  • http/tests/xmlhttprequest/exceptions.html:
  • http/tests/xmlhttprequest/status-after-abort-expected.txt:
  • http/tests/xmlhttprequest/zero-length-response-expected.txt:
  • js/dom/dfg-custom-getter-throw-expected.txt:
  • js/dom/script-tests/dfg-custom-getter-throw-inlined.js: Fixed the test.

(foo): Use responseText instead of status so that it throws when responseType is "arraybuffer".
(bar): Set responseType to "arraybuffer" to cause an exception to be thrown.

  • js/dom/script-tests/dfg-custom-getter-throw.js: Ditto.

(foo):
(bar):

Dec 23, 2013:

11:44 PM Changeset in webkit [161050] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Crash in ReplaceSelectionCommand
https://bugs.webkit.org/show_bug.cgi?id=126107

Reviewed by Benjamin Poulain.

Merge https://chromium.googlesource.com/chromium/blink/+/c1ebe5c1e808daf9db5e348a8d0ab32570b9f7a5
except the test since it doesn't reproduce the crash in WebKit.

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):

11:42 PM Changeset in webkit [161049] by aestes@apple.com
  • 115 edits
    2 deletes in trunk/Source/WebKit

Source/WebKit: Roll out r161043. It broke 32-bit Mac builds.

Source/WebKit/ios: Roll out r161043. It broke 32-bit Mac builds.

Source/WebKit/mac: Roll out r161043. It broke 32-bit Mac builds.

11:29 PM Changeset in webkit [161048] by mihnea@adobe.com
  • 3 edits in trunk/LayoutTests

[CSSRegions] Fix fast/regions/assert-flow-thread-compositing.html test description
https://bugs.webkit.org/show_bug.cgi?id=126203

Reviewed by Dirk Schulze.

Correct description of successful behaviour for fast/regions/assert-flow-thread-compositing.html.

  • fast/regions/assert-flow-thread-compositing-expected.txt:
  • fast/regions/assert-flow-thread-compositing.html:
8:50 PM Changeset in webkit [161047] by jinwoo7.song@samsung.com
  • 2 edits in trunk

[EFL][CMAKE] Case insensitive string comparison of build type
https://bugs.webkit.org/show_bug.cgi?id=126153

Reviewed by Daniel Bates.

Compare CMAKE_BUILD_TYPE with "debug" ignoring case.

  • Source/cmake/OptionsEfl.cmake:
7:28 PM Changeset in webkit [161046] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Add the pseudo classes link and any-link to the Selector Code Generator
https://bugs.webkit.org/show_bug.cgi?id=126196

Reviewed by Ryosuke Niwa.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLink):

  • dom/Node.h:

(WebCore::Node::flagIsElement):
(WebCore::Node::flagIsLink):
Fix the type to match TrustedImm32.

7:28 PM Changeset in webkit [161045] by weinig@apple.com
  • 47 edits in trunk/Source/WebKit2

[WK2] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=126144

Reviewed by Anders Carlsson.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::shared):

  • DatabaseProcess/DatabaseProcess.h:
  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::shared):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::shared):
(WebKit::NetworkProcess::downloadManager):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcessPlatformStrategies.cpp:

(WebKit::NetworkProcessPlatformStrategies::initialize):

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::privateBrowsingStorageSessionIdentifierBase):

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::SyncMessageState::syncMessageStateMap):
(CoreIPC::Connection::SyncMessageState::syncMessageStateMapMutex):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::shared):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::fullscreenWindowTracker):

  • Shared/ConnectionStack.cpp:

(WebKit::ConnectionStack::shared):

  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::initializedNetscapePluginModules):

  • Shared/WebContextMenuItem.cpp:

(WebKit::WebContextMenuItem::separatorItem):

  • Shared/WebPreferencesStore.cpp:

(WebKit::boolTestRunnerOverridesMap):

  • Shared/mac/CookieStorageShim.cpp:

(WebKit::CookieStorageShim::shared):

  • Shared/mac/CookieStorageShim.h:

(WebKit::CookieStorageShim::CookieStorageShim):

  • UIProcess/Plugins/PluginProcessManager.cpp:

(WebKit::PluginProcessManager::shared):

  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/WebContext.cpp:

(WebKit::contexts):

  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::originKey):
(WebKit::WebDatabaseManagerProxy::originQuotaKey):
(WebKit::WebDatabaseManagerProxy::originUsageKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorPageGroups::shared):

  • UIProcess/WebPageGroup.cpp:

(WebKit::webPageGroupMap):

  • UIProcess/WebPageProxy.cpp:

(WebKit::ExceededDatabaseQuotaRecords::shared):
(WebKit::WebPageProxy::executeEditCommand):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::globalPageMap):

  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::SessionHistoryCurrentVersion):
(WebKit::createEmptySessionHistoryDictionary):
(WebKit::WebBackForwardList::createCFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation):
(WebKit::extractBackForwardListEntriesFromArray):

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::sessionStateData):
(WebKit::WebPageProxy::restoreFromSessionStateData):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::standardUserAgent):

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:

(WebKit::sharedDatabaseBackendMap):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::generateServerConnectionIdentifier):

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

(WebKit::WKDOMNodeCache):
(WebKit::WKDOMRangeCache):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::domHandleCache):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::domHandleCache):

  • WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:

(WebKit::allExtensions):

  • WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:

(WebKit::allWorlds):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::globalExceptionString):

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:

(WebKit::windowMap):

  • WebProcess/Storage/StorageNamespaceImpl.cpp:

(WebKit::localStorageNamespaceMap):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::didBeginEditing):
(WebKit::WebEditorClient::respondToChangedContents):
(WebKit::WebEditorClient::respondToChangedSelection):
(WebKit::WebEditorClient::didEndEditing):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::shouldFallBack):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::initialize):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::idToHistoryItemMap):
(WebKit::historyItemToIDMap):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::downloadManager):

  • WebProcess/WebProcess.h:
  • config.h:
7:23 PM Changeset in webkit [161044] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

Add the experimental CSS code generator files to the remaining build systems
https://bugs.webkit.org/show_bug.cgi?id=126192

Reviewed by Sam Weinig.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
6:07 PM Changeset in webkit [161043] by aestes@apple.com
  • 115 edits
    1 copy
    1 add in trunk/Source/WebKit

[iOS] Upstream PLATFORM(IOS) changes to Source/WebKit/
https://bugs.webkit.org/show_bug.cgi?id=125746

Reviewed by David Kilzer.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj: Added WebDatabaseManagerInternal.h

and iOS.xcconfig.

Source/WebKit/ios:

  • WebCoreSupport/WebVisiblePosition.mm:

(-[WebVisiblePosition positionAtStartOrEndOfWord]): Changed a comment
to mention iOS rather than iPhone.

Source/WebKit/mac:

This is a straight upstreaming of the various PLATFORM(IOS) changes
made to Source/WebKit/ with the following modifications:

  • Includes of <Cocoa/Cocoa.h> were generally replaced with an include

of <Foundation/Foundation.h> followed by an include of
<AppKit/AppKit.h> on non-iOS platforms. This assumes that nobody was
relying on <Cocoa/Cocoa.h>'s inclusion of <CoreData/CoreData.h>.

  • Includes of <Cocoa/Cocoa.h> and <Foundation/Foundation.h> were

removed from files that include WebKitPrefix.h.

  • Instances of 'iPhone (OS)' in comments were replaced with 'iOS', and

other sensitive terms were elided.

  • Various PLATFORM(IOS) blocks were simplified. For instance:

#if !PLATFORM(IOS)
...
#endif
#if PLATFORM(IOS)
...
#endif

Was simplified to:

#if !PLATFORM(IOS)
...
#else
...
#endif

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/Version.xcconfig:
  • Configurations/WebKit.xcconfig:
  • Configurations/iOS.xcconfig: Added.
  • DOM/WebDOMOperations.mm:
  • DefaultDelegates/WebDefaultContextMenuDelegate.mm:
  • DefaultDelegates/WebDefaultEditingDelegate.m:
  • DefaultDelegates/WebDefaultPolicyDelegate.m:
  • DefaultDelegates/WebDefaultUIDelegate.h:
  • DefaultDelegates/WebDefaultUIDelegate.m:
  • History/WebBackForwardList.mm:
  • History/WebHistory.mm:
  • History/WebHistoryItem.mm:
  • History/WebURLsWithTitles.m:
  • Misc/WebCache.mm:
  • Misc/WebDownload.mm:
  • Misc/WebElementDictionary.mm:
  • Misc/WebIconDatabase.mm:
  • Misc/WebIconDatabaseInternal.h:
  • Misc/WebKitNSStringExtras.mm:
  • Misc/WebKitSystemBits.m:
  • Misc/WebKitVersionChecks.h:
  • Misc/WebKitVersionChecks.m:
  • Misc/WebLocalizableStrings.mm:
  • Misc/WebNSArrayExtras.h:
  • Misc/WebNSArrayExtras.m:
  • Misc/WebNSControlExtras.h:
  • Misc/WebNSControlExtras.m:
  • Misc/WebNSDictionaryExtras.h:
  • Misc/WebNSDictionaryExtras.m:
  • Misc/WebNSEventExtras.m:
  • Misc/WebNSFileManagerExtras.mm:
  • Misc/WebNSImageExtras.h:
  • Misc/WebNSImageExtras.m:
  • Misc/WebNSPasteboardExtras.mm:
  • Misc/WebNSPrintOperationExtras.h:
  • Misc/WebNSPrintOperationExtras.m:
  • Misc/WebNSURLExtras.mm:
  • Misc/WebNSViewExtras.m:
  • Misc/WebNSWindowExtras.m:
  • Panels/WebAuthenticationPanel.h:
  • Panels/WebAuthenticationPanel.m:
  • Panels/WebPanelAuthenticationHandler.m:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm:
  • Plugins/WebBasePluginPackage.h:
  • Plugins/WebBasePluginPackage.mm:
  • Plugins/WebJavaPlugIn.h:
  • Plugins/WebPluginContainerCheck.mm:
  • Plugins/WebPluginController.h:
  • Plugins/WebPluginController.mm:
  • Plugins/WebPluginDatabase.mm:
  • Plugins/WebPluginPackage.mm:
  • Plugins/WebPluginsPrivate.m:
  • Storage/WebDatabaseManager.mm:
  • Storage/WebDatabaseManagerClient.h:
  • Storage/WebDatabaseManagerClient.mm:
  • Storage/WebDatabaseManagerInternal.h: Added.
  • Storage/WebStorageManager.mm:
  • WebCoreSupport/CorrectionPanel.h:
  • WebCoreSupport/WebAlternativeTextClient.h:
  • WebCoreSupport/WebApplicationCache.mm:
  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:
  • WebCoreSupport/WebContextMenuClient.mm:
  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebCoreSupport/WebFrameNetworkingContext.h:
  • WebCoreSupport/WebFrameNetworkingContext.mm:
  • WebCoreSupport/WebGeolocationClient.h:
  • WebCoreSupport/WebGeolocationClient.mm:
  • WebCoreSupport/WebJavaScriptTextInputPanel.m:
  • WebCoreSupport/WebKeyGenerator.mm:
  • WebCoreSupport/WebNotificationClient.mm:
  • WebCoreSupport/WebOpenPanelResultListener.mm:
  • WebCoreSupport/WebSecurityOrigin.mm:
  • WebCoreSupport/WebSystemInterface.mm:
  • WebKitPrefix.h:
  • WebView/WebArchive.mm:
  • WebView/WebClipView.h:
  • WebView/WebDataSource.mm:
  • WebView/WebDelegateImplementationCaching.h:
  • WebView/WebDelegateImplementationCaching.mm:
  • WebView/WebDeviceOrientation.mm:
  • WebView/WebDocumentInternal.h:
  • WebView/WebDocumentLoaderMac.mm:
  • WebView/WebDynamicScrollBarsViewInternal.h:
  • WebView/WebFormDelegate.m:
  • WebView/WebFrame.mm:
  • WebView/WebFrameInternal.h:
  • WebView/WebFrameView.mm:
  • WebView/WebFullScreenController.h:
  • WebView/WebFullScreenController.mm:
  • WebView/WebHTMLRepresentation.mm:
  • WebView/WebHTMLView.mm:
  • WebView/WebHTMLViewInternal.h:
  • WebView/WebPDFDocumentExtras.h:
  • WebView/WebPDFDocumentExtras.mm:
  • WebView/WebPDFRepresentation.h:
  • WebView/WebPDFRepresentation.mm:
  • WebView/WebPDFView.h:
  • WebView/WebPDFView.mm:
  • WebView/WebPreferences.mm:
  • WebView/WebResource.mm:
  • WebView/WebTextCompletionController.h:
  • WebView/WebTextIterator.mm:
  • WebView/WebView.mm:
  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:
  • WebView/WebViewInternal.h:
5:24 PM Changeset in webkit [161042] by rniwa@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add a test for submitting a form targeted at an iframe
https://bugs.webkit.org/show_bug.cgi?id=126175

Reviewed by Alexey Proskuryakov.

Merge the test from https://chromium.googlesource.com/chromium/blink/+/9220cbdaae8413f3c8316c022f98579af120bf10
so that we may not introduce the same regression in WebKit.

  • http/tests/misc/form-target-iframe-inline-expected.txt: Added.
  • http/tests/misc/form-target-iframe-inline.html: Added.
5:22 PM Changeset in webkit [161041] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Add the pseudo class :focus to the Selector Code Generator
https://bugs.webkit.org/show_bug.cgi?id=126189

Reviewed by Ryosuke Niwa.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFocused):

5:17 PM Changeset in webkit [161040] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit/efl

Unreviewed build fix after r161033

  • ewk/ewk_view.cpp:

(ewk_view_js_object_add): Passed thisObject to constructor of PutPropertySlot.

4:52 PM Changeset in webkit [161039] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Updated review status for r161025.

4:49 PM Changeset in webkit [161038] by mark.lam@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack:Fixed JSStack::disableErrorStackReserve() and JSStack::installTrapsAfterFrame().
https://bugs.webkit.org/show_bug.cgi?id=126191.

Not yet reviewed.

  1. JSStack::disableErrorStackReserve() was wrongly comparing m_end with m_useableTop. Fixed the comparison.
  2. JSStack::installTrapsAfterFrame() was wrongly overwriting the top slot of the top frame. Fixed to start the trap words at the slot below the top slot in the top frame (as in at lower memory below the allocated stack memory above it).
  • interpreter/JSStack.cpp:

(JSC::JSStack::disableErrorStackReserve):

  • interpreter/JSStackInlines.h:

(JSC::JSStack::installTrapsAfterFrame):

4:48 PM Changeset in webkit [161037] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove boolean argument from Element::setChildrenAffectBy* methods
https://bugs.webkit.org/show_bug.cgi?id=126183

Reviewed by Daniel Bates.

Merge https://chromium.googlesource.com/chromium/blink/+/066ef2fa78336b2b65052cb17cb81b367fe7dbbf

These functions are never called with false.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • dom/Element.cpp:

(WebCore::Element::setChildrenAffectedByActive):
(WebCore::Element::setChildrenAffectedByDrag):

  • dom/Element.h:

(WebCore::Element::setChildrenAffectedByHover):

4:25 PM Changeset in webkit [161036] by mark.lam@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Fix JSStack::grow(), shrink(), growSlowCase(), and setStackLimit().
https://bugs.webkit.org/show_bug.cgi?id=126188.

Not yet reviewed.

These functions were inappropriately mixing "end" and "top" pointer idioms.
Specifically:

  1. growSlowCase() was comparing a newEnd pointer against m_commitTop, and using this to compute the size that the stack needs to grow.
  2. shrink() was wrongly computing excess capacity by subtracting baseOfStack() (which is at high memory) from m_commitTop (which points to lower memory). Also, baseOfStack() is an "end" pointer while m_commitTop is a "top" pointer. This is a mismatch.

To fix this and simplify the code a bit, I changed all of these functions
to take a newTopOfStack pointer instead of a newEnd pointer, and adjusted
their callers where needed to pass the appropropriate pointer values.

  • interpreter/JSStack.cpp:

(JSC::JSStack::growSlowCase):

  • interpreter/JSStack.h:
  • interpreter/JSStackInlines.h:

(JSC::JSStack::popFrame):
(JSC::JSStack::shrink):
(JSC::JSStack::grow):
(JSC::JSStack::setStackLimit):

4:20 PM Changeset in webkit [161035] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Fix the iOS build after r161013 and r160672.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::updateCustomAppearance):

  • Shared/mac/RemoteLayerTreeTransaction.mm:
  • WebCore.exp.in:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::updateCustomAppearance):

4:12 PM Changeset in webkit [161034] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix for EFL after r161007

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:

(WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
Changed the timeout parameter to std::chrono::milliseconds

4:11 PM Changeset in webkit [161033] by oliver@apple.com
  • 27 edits in trunk/Source

Refactor PutPropertySlot to be aware of custom properties
https://bugs.webkit.org/show_bug.cgi?id=126187

Reviewed by msaboff.

Source/JavaScriptCore:

Refactor PutPropertySlot, making the constructor take the thisValue
used as a target. This results in a wide range of boilerplate changes
to pass the new parameter.

  • API/JSObjectRef.cpp:

(JSObjectSetProperty):

  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::putByIndex):

  • runtime/ArrayPrototype.cpp:

(JSC::putProperty):
(JSC::arrayProtoFuncPush):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitiveByIndex):

  • runtime/JSCell.cpp:

(JSC::JSCell::putByIndex):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::put):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):

  • runtime/JSONObject.cpp:

(JSC::Walker::walk):

  • runtime/JSObject.cpp:

(JSC::JSObject::putByIndex):
(JSC::JSObject::putDirectNonIndexAccessor):
(JSC::JSObject::deleteProperty):

  • runtime/JSObject.h:

(JSC::JSObject::putDirect):

  • runtime/Lookup.h:

(JSC::putEntry):
(JSC::lookupPut):

  • runtime/PutPropertySlot.h:

(JSC::PutPropertySlot::PutPropertySlot):
(JSC::PutPropertySlot::setCustomProperty):
(JSC::PutPropertySlot::thisValue):
(JSC::PutPropertySlot::isCacheable):

Source/WebCore:

Update the bindings code generation and custom objects
to the new function signatures

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::put):

  • bindings/objc/WebScriptObject.mm:

(-[WebScriptObject setValue:forKey:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterface::putByIndex):

  • bridge/NP_jsobject.cpp:

(_NPN_SetProperty):

Source/WebKit/mac:

Update for new method signatures.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::setProperty):

Source/WebKit2:

Update for new method signatures.

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::setProperty):

3:57 PM Changeset in webkit [161032] by benjamin@webkit.org
  • 2 edits in trunk/Source/WTF

Fix the build after r161031

I enabled ENABLE_CSS_SELECTOR_JIT by accident.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-23

  • wtf/Platform.h:
3:47 PM Changeset in webkit [161031] by benjamin@webkit.org
  • 9 edits in trunk/Source

Add class matching to the Selector Code Generator
https://bugs.webkit.org/show_bug.cgi?id=126176

Source/JavaScriptCore:

Reviewed by Antti Koivisto and Oliver Hunt.

Add test and branch based on BaseIndex addressing for x86_64.
Fast loops are needed to compete with clang on tight loops.

  • assembler/MacroAssembler.h:
  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::branch64):
(JSC::MacroAssemblerX86_64::branchPtr):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::cmpq_rm):

Source/WebCore:

Reviewed by Antti Koivisto.

Add selector matching based on classname to the Selector Compiler.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasClasses):

  • dom/ElementData.h:

(WebCore::ElementData::classNamesMemoryOffset):

  • dom/SpaceSplitString.h:

(WebCore::SpaceSplitStringData::sizeMemoryOffset):
(WebCore::SpaceSplitStringData::tokensMemoryOffset):

3:42 PM Changeset in webkit [161030] by mark.lam@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Cosmetic: rename JSStack::m_commitEnd to m_commitTop.
https://bugs.webkit.org/show_bug.cgi?id=126186

Not yet reviewed.

In the JSStack constructor, m_commitEnd is initialized to highAddress()
which is the address just above the start of the stack. This is
appropriate because no memory has been committed for the stack yet i.e.
highAddress() - m_commitEnd should equal 0.

When we grow the stack in growSlowCase, we set m_commitEnd to
m_commitEnd - delta, where delta is some even multiple of commitSize
(some units of page size). This means that if there is memory committed,
m_commitEnd would point to an allocatable slot in the stack, not past it.
Hence, m_commitEnd should more appropriately be named m_commitTop.

  • interpreter/JSStack.cpp:

(JSC::JSStack::JSStack):
(JSC::JSStack::~JSStack):
(JSC::JSStack::growSlowCase):
(JSC::JSStack::releaseExcessCapacity):

  • interpreter/JSStack.h:
  • interpreter/JSStackInlines.h:

(JSC::JSStack::shrink):
(JSC::JSStack::installTrapsAfterFrame):

3:28 PM Changeset in webkit [161029] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

[iOS] Upstream WebCore/storage changes
https://bugs.webkit.org/show_bug.cgi?id=125913

Reviewed by David Kilzer.

  • storage/StorageAreaSync.cpp:

(WebCore::StorageAreaSync::openDatabase): Added iOS-specific code.
(WebCore::StorageAreaSync::sync): Ditto.

  • storage/StorageTracker.cpp:

(WebCore::StorageTracker::openTrackerDatabase): Ditto.
(WebCore::StorageTracker::syncImportOriginIdentifiers): Ditto.
(WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): Ditto.
(WebCore::StorageTracker::syncSetOriginDetails): Ditto.
(WebCore::StorageTracker::syncDeleteAllOrigins): Ditto.
(WebCore::StorageTracker::syncDeleteOrigin): Ditto.
(WebCore::StorageTracker::databasePathForOrigin): Ditto.

3:25 PM Changeset in webkit [161028] by dbates@webkit.org
  • 8 edits in trunk/Source/WebCore

Fix the iOS build following <http://trac.webkit.org/changeset/160236>
(https://bugs.webkit.org/show_bug.cgi?id=125239)

  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Substitute view() for &view().

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo): Fix indentation of closing brace.

  • rendering/RenderLayerCompositor.cpp: Include MainFrame.h.

(WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Check that page->mainFrame().view()
is non-null; also add explicit #else clause.
(WebCore::RenderLayerCompositor::ensureRootLayer): Fix up main frame check.

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintFileUploadIconDecorations): Substitute rect for r.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintTextFieldDecorations): Use .get() to access underlying NeverDestroyed item.
(WebCore::RenderThemeIOS::systemFont):

  • rendering/RenderView.cpp:

(WebCore::fixedPositionOffset): Substitute frameView.scrollOffset() for frameView->scrollOffset().

3:17 PM Changeset in webkit [161027] by mark.lam@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Cosmetic: rename JSStack::m_useableEnd to m_useableTop.
https://bugs.webkit.org/show_bug.cgi?id=126184.

Not yet reviewed.

In JSStack::enableErrorStackReserve() and disableErrorStackReserve(),
m_useableEnd is initialize to reservationTop() or reservationTop() +
commitSize. Hence, it points to an allocatable slot in the stack, not
past it. Naming it m_useableTop is more correct.

  • interpreter/JSStack.cpp:

(JSC::JSStack::growSlowCase):
(JSC::JSStack::enableErrorStackReserve):
(JSC::JSStack::disableErrorStackReserve):

  • interpreter/JSStack.h:
3:13 PM Changeset in webkit [161026] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Minor optimization in FrameSelection::setNonDirectionalSelectionIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=126108

Reviewed by Benjamin Poulain.

Merge https://chromium.googlesource.com/chromium/blink/+/237b987c324e2e389a9e0350293bfaf16a5e201d

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):

3:04 PM Changeset in webkit [161025] by mark.lam@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Cosmetic: rename reservationEnd() to reservationTop().
https://bugs.webkit.org/show_bug.cgi?id=126181.

Not yet reviewed.

reservationEnd() computes the end of the stack at the top. The value
is computed as:

char* reservationEnd = static_cast<char*>(m_reservation.base());
return reinterpret_cast_ptr<Register*>(reservationEnd);

Since m_reservation.base() points at a slot of memory that is within the
allocatable range of the stack, naming this function reservationEnd() is
inappropriate. Per Geoff's input, "end" usually refers to the slot past
the end of a buffer. Calling it "top" is more appropriate. Hence, I'm
renaming it to reservationTop().

  • interpreter/JSStack.cpp:

(JSC::JSStack::enableErrorStackReserve):
(JSC::JSStack::disableErrorStackReserve):

  • interpreter/JSStack.h:

(JSC::JSStack::reservationTop):

2:51 PM Changeset in webkit [161024] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Use isDocumentFragment() instead of comparing nodeType() with Node::DOCUMENT_FRAGMENT_NODE
https://bugs.webkit.org/show_bug.cgi?id=126178

Reviewed by Antti Koivisto.

Inspired by https://chromium.googlesource.com/chromium/blink/+/a622cb80af2bfb0c5d91123cbcfa4fa72a06554c

Use inline Node::isDocumentFragment() instead of virtual nodeType().

  • dom/ContainerNode.cpp:

(WebCore::collectChildrenAndRemoveFromOldParent):

  • dom/Document.cpp:

(WebCore::Document::canReplaceChild):

2:41 PM Changeset in webkit [161023] by Martin Robinson
  • 2 edits in trunk/Tools

Try to fix the build after r161017

  • gtk/common.py:

(is_cmake_build): Instead of checking whether the return value of build_path
of the CMakeCache.txt file is None, check if a file actually exists at that path.

2:20 PM Changeset in webkit [161022] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.74-branch/Source

Versioning.

2:15 PM Changeset in webkit [161021] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.74.4

New Tag.

2:07 PM Changeset in webkit [161020] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[GTK][WK2] Simplify ProcessExecutablePathGtk
https://bugs.webkit.org/show_bug.cgi?id=126173

Reviewed by Martin Robinson.

Don't store process name strings in global variables -- each of the names is only used in the relevant
function, so the string can be directly passed into the findWebKitProcess function call.

Simplify the findWebKitProcess function. Make the execDirectory variable static so that g_getenv is only
called once, as it's not expected for the WEBKIT_EXEC_PATH environment variable to change during the runtime.

Introduce the getExecutablePath helper function that gets the current executable path and, if non-null, returns
the directory path of that executable. The helper function preserves the small performance improvement of querying
and processing the executable path only once.
The return value of getExecutablePath is stored in a static variable and is used to construct the process path
if the executable path was successfully retrieved.

  • Shared/gtk/ProcessExecutablePathGtk.cpp:

(WebKit::getExecutablePath):
(WebKit::findWebKitProcess):
(WebKit::executablePathOfWebProcess):
(WebKit::executablePathOfPluginProcess):
(WebKit::executablePathOfNetworkProcess):

2:05 PM Changeset in webkit [161019] by matthew_hanson@apple.com
  • 26 edits in branches/safari-537.74-branch

Merge 161003: <rdar://problem/15719584> plus driveby copyright updates.

2:05 PM Changeset in webkit [161018] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix for GTK and EFL after r161007.

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
Use std::chrono::milliseconds instead of double for the timeout parameter to
CoreIPC::Connection::waitForAndDispatchImmediately.

2:01 PM Changeset in webkit [161017] by Gustavo Noronha Silva
  • 7 edits in trunk

[GTK] [CMake] Add support for generating gtkdoc
https://bugs.webkit.org/show_bug.cgi?id=116376

Reviewed by Martin Robinson.

.:

  • Source/PlatformGTK.cmake: Added. New custom target that depends on a custom command

which calls our generate-gtkdoc script. It uses a docs-build.stamp for simplicity,
like the autotools build.

Source/WebKit2:

  • PlatformGTK.cmake: make generated API files go to DerivedSources/WebKit2, to

match the autotools build and gtkdoc.py's expectation.

Tools:

  • gtk/common.py: look for files in the directories used by the cmake build as well.
1:49 PM Changeset in webkit [161016] by Martin Robinson
  • 4 edits
    2 adds in trunk

[GTK] [CMake] Build the WebKit2 GObject API tests
https://bugs.webkit.org/show_bug.cgi?id=125683

Reviewed by Daniel Bates.

.:

  • Source/PlatformGTK.cmake: Load the WebKit2 tests file if necessary.
  • Source/cmake/FindATSPI.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Look for AT-SPI, but don't fail if it isn't found.

Source/WebKit2:

  • UIProcess/API/gtk/tests/CMakeLists.txt: Added.
1:48 PM Changeset in webkit [161015] by Martin Robinson
  • 30 edits
    2 adds in trunk

[GTK] [CMake] Build the WebKit1 GObject API tests
https://bugs.webkit.org/show_bug.cgi?id=125684

Reviewed by Daniel Bates.

.:

  • Source/PlatformGTK.cmake: Added.

Source/WebKit/gtk:

  • tests/CMakeLists.txt: Added.
  • tests/testapplicationcache.c: Use the WTF config.h instead of including the autotools configuration directly.
  • tests/testatk.c: Ditto.
  • tests/testatkroles.c: Ditto.
  • tests/testcontextmenu.c: Ditto.
  • tests/testcopyandpaste.c: Ditto.
  • tests/testdomdocument.c: Ditto.
  • tests/testdomdomwindow.c: Ditto.
  • tests/testdomnode.c: Ditto.
  • tests/testdownload.c: Ditto.
  • tests/testfavicondatabase.c: Ditto.
  • tests/testglobals.c: Ditto.
  • tests/testhittestresult.c: Ditto.
  • tests/testhttpbackend.c: Ditto.
  • tests/testkeyevents.c: Ditto.
  • tests/testloading.c: Ditto.
  • tests/testmimehandling.c: Ditto.
  • tests/testnetworkrequest.c: Ditto.
  • tests/testnetworkresponse.c: Ditto.
  • tests/testwebbackforwardlist.c: Ditto.
  • tests/testwebdatasource.c: Ditto.
  • tests/testwebframe.c: Ditto.
  • tests/testwebhistoryitem.c: Ditto.
  • tests/testwebinspector.c: Ditto.
  • tests/testwebplugindatabase.c: Ditto.
  • tests/testwebresource.c: Ditto.
  • tests/testwebsettings.c: Ditto.
  • tests/testwebview.c: Ditto.
  • tests/testwindow.c: Ditto.
1:39 PM Changeset in webkit [161014] by ryumiel@company100.net
  • 2 edits in trunk/Source/WebCore

Clear ScratchBuffer::m_lastLayerSize when clearing the scratch buffer.
https://bugs.webkit.org/show_bug.cgi?id=126150

Reviewed by Simon Fraser.

Since ScratchBuffer::clearScratchBuffer only clears m_lastRadius,
ShadowBlur doesn't draw shadow into the re-created scratch buffer if it
tries to draw shadow without blurRadius.

Clear m_lastLayerSize to empty is enought to ensure that there is no
drawn contents in the scratch buffer.

No new tests due to the flaky nature of reproducing the issue.

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::clearScratchBuffer):

1:09 PM Changeset in webkit [161013] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r160672): Random remote layers are getting shadows
https://bugs.webkit.org/show_bug.cgi?id=126126

Reviewed by Anders Carlsson.

In http://trac.webkit.org/changeset/160672, we unconditionally
check m_properties.customAppearance without regard for whether it
has ever been initialized. This would result in sending an uninitialized
custom appearance to the UI process, which could end up requesting a shadow.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
Initialize LayerProperties to the CoreAnimation defaults.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::PlatformCALayerRemote):
Remove wrongly-placed default initialization of contentsScale;
there's no reason to send it across the wire for every new layer
if it's left at the default.

12:44 PM Changeset in webkit [161012] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Several dfg-arguments-osr-exit tests fail
https://bugs.webkit.org/show_bug.cgi?id=126170

Reviewed by Michael Saboff.

OSR exit makes calls. It makes those calls after putting things into the stack at offsets
that make sense in the baseline JIT. That means that if those calls spill things to the
stack, they'll overwrite what the OSR exit had recovered for the baseline JIT.

Need to adjust SP to a conservative value for the baseline JIT at the top of exit. Note
that the FTL OSR exit already does this.

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

12:25 PM Changeset in webkit [161011] by ap@apple.com
  • 2 edits in trunk/LayoutTests

svg/animations/getCurrentTime-pause-unpause.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=124933

  • platform/mac/TestExpectations: Marking as such.
12:21 PM Changeset in webkit [161010] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Add id matching to the Selector Code Generator
https://bugs.webkit.org/show_bug.cgi?id=126154

Reviewed by Antti Koivisto.

Compile matching for #id selectors. IDs are Atomic String so it is just a matter
of comparing the pointers.

No attempt is made at optimizing for the double #id case because such problem
do not really happen outside tests.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasId):

  • dom/Element.h:

(WebCore::Element::elementDataMemoryOffset):

  • dom/ElementData.h:

(WebCore::ElementData::idForStyleResolutionMemoryOffset):

12:04 PM WebKitGTK/2.2.x edited by zandobersek@gmail.com
Add r160997 to the list of proposed merges for 2.2.4. (diff)
11:51 AM Changeset in webkit [161009] by oliver@apple.com
  • 12 edits in trunk/Source

Update custom setter implementations to perform type checks
https://bugs.webkit.org/show_bug.cgi?id=126171

Reviewed by Daniel Bates.

Source/JavaScriptCore:

Modify the setter function signature to take encoded values
as we're changing the setter usage everywhere anyway.

  • runtime/Lookup.h:

(JSC::putEntry):

Source/WebCore:

Update the bindings code generator for setters so that they perform a real
type check.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeEventListenerCall):
(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):

  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjStrictFloat):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjReplaceableAttribute):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):

  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):

  • bindings/scripts/test/JS/JSTestTypedefs.h:
11:43 AM Changeset in webkit [161008] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION (r160847): fast/dynamic/paused-event-dispatch.html is failing
https://bugs.webkit.org/show_bug.cgi?id=126163

Unreviewed. Try increasing the timeouts after r160896.

  • fast/dynamic/paused-event-dispatch.html:
11:34 AM Changeset in webkit [161007] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Use std::chrono::milliseconds for message wait timeouts in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=126168

Reviewed by Sam Weinig.

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::waitForMessage):

  • Platform/CoreIPC/Connection.h:

(CoreIPC::Connection::waitForAndDispatchImmediately):

  • UIProcess/API/mac/WKView.mm:

(-[WKView forceAsyncDrawingAreaSizeUpdate:]):
(-[WKView waitForAsyncDrawingAreaSizeUpdate]):

  • UIProcess/DrawingAreaProxy.cpp:
  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::didUpdateBackingStoreStateTimeout):
(WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::waitForDidUpdateViewState):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):

11:15 AM Changeset in webkit [161006] by fpizlo@apple.com
  • 7 edits in branches/jsCStack/Source/JavaScriptCore

cStack branch doesn't run navier-stokes because closure calls aren't implemented yet
https://bugs.webkit.org/show_bug.cgi?id=126141

Reviewed by Michael Saboff.

Add a bunch of assertions regarding the sanity of argument counts. This is a great way of
making sure that SP/BP point to the right place.

Used that to diagnose problems with closure calls. Closure call linking expects that SP is
set up correctly very early on. The DFG JIT was doing this correctly, but the baseline JIT
wasn't: it was setting up T1 as a fake SP and then setting up SP for real very late. This
wasn't doing us any good and it was making closure calls fail.

Also, closure calls were still referring to BP instead of SP and assuming that the caller
was adjusting BP. Obviously, that's not what we do anymore.

These fixes make navier-stokes run. It probably fixes other bugs, but I haven't looked at
those yet.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCurrentBlock):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::jitAssertArgumentCountSane):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::jitAssertArgumentCountSane):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JITCall.cpp:

(JSC::JIT::compileLoadVarargs):
(JSC::JIT::compileCallEval):
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/Repatch.cpp:

(JSC::linkClosureCall):

11:04 AM Changeset in webkit [161005] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Include <condition_variable>, not <thread>.

  • Platform/CoreIPC/Connection.h:
  • Shared/BlockingResponseMap.h:
  • UIProcess/API/mac/WKPrintingView.h:
10:49 AM Changeset in webkit [161004] by Lucas Forschler
  • 1 edit in trunk/Source/WebCore/English.lproj/Localizable.strings

Revert accidental Localizable.string change after r161003.

10:45 AM Changeset in webkit [161003] by Lucas Forschler
  • 26 edits in trunk

Source/JavaScriptCore: <rdar://problem/15682948> Update copyright strings

Reviewed by Dan Bernstein.

  • Info.plist:
  • JavaScriptCore.vcxproj/JavaScriptCore.resources/Info.plist:

Source/WebCore: <rdar://problem/15682948> Update copyright strings

Reviewed by Dan Bernstein

  • Info.plist:

Source/WebKit/mac: <rdar://problem/15682948> Update copyright strings

Reviewed by Dan Bernstein.

  • Info.plist:

Source/WebKit2: <rdar://problem/15682948> Update copyright strings

Reviewed by Dan Bernstein

  • DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist:
  • DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist:
  • Info.plist:
  • NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
  • PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:

WebKitLibraries: <rdar://problem/15682948> Update copyright strings

Reviewed by Dan Bernstein.

  • win/tools/scripts/COPYRIGHT-END-YEAR:
10:36 AM Changeset in webkit [161002] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Convert ThreadCondition in WebKit2 over to std::condition_variable
https://bugs.webkit.org/show_bug.cgi?id=126161

Reviewed by Sam Weinig.

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::processIncomingMessage):

  • Platform/CoreIPC/Connection.h:
  • Shared/BlockingResponseMap.h:

(BlockingResponseMap::waitForResponse):
(BlockingResponseMap::didReceiveResponse):
(BlockingResponseMap::cancel):

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

(pageDidDrawToPDF):
(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
(prepareDataForPrintingOnSecondaryThread):
(-[WKPrintingView knowsPageRange:]):

10:27 AM Changeset in webkit [161001] by commit-queue@webkit.org
  • 5 edits
    5 deletes in trunk

Unreviewed, rolling out r160945.
http://trac.webkit.org/changeset/160945
https://bugs.webkit.org/show_bug.cgi?id=126164

Seems to have broken multiple canvas tests (Requested by ap on
#webkit).

PerformanceTests:

  • Canvas/reuse.html: Removed.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Removed.
  • platform/graphics/cg/ImageBufferBackingStoreCache.h: Removed.
  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::createIOSurface):
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):

LayoutTests:

  • fast/canvas/canvas-backing-store-reuse-expected.txt: Removed.
  • fast/canvas/canvas-backing-store-reuse.html: Removed.
10:24 AM Changeset in webkit [161000] by eric.carlson@apple.com
  • 7 edits
    2 moves
    1 add
    1 delete in trunk/Source/WebCore

AudioSessionManager should be MediaSessionManager
https://bugs.webkit.org/show_bug.cgi?id=126087

Reviewed by Jer Noble.

No new tests, no change in functionality.

  • WebCore.xcodeproj/project.pbxproj: Change file names.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): MediaSessionManagerToken::create() takes a client

interface instead of the media type.

  • html/HTMLMediaElement.h:
  • platform/audio/AudioSessionListener.h: Include <wtf/Noncopyable.h>.

AudioSessionManager.* -> MediaSessionManager.*

  • platform/audio/AudioSessionManager.cpp: Removed.
  • platform/audio/AudioSessionManager.h: Removed.
  • platform/audio/MediaSessionManager.cpp: Copied from Source/WebCore/platform/audio/AudioSessionManager.cpp.

(MediaSessionManagerToken::create):
(MediaSessionManagerToken::MediaSessionManagerToken):
(MediaSessionManagerToken::~MediaSessionManagerToken):
(MediaSessionManager::sharedManager):
(MediaSessionManager::MediaSessionManager):
(MediaSessionManager::has):
(MediaSessionManager::count):
(MediaSessionManager::addToken):
(MediaSessionManager::removeToken):
(MediaSessionManager::updateSessionState):

  • platform/audio/MediaSessionManager.h: Copied from Source/WebCore/platform/audio/AudioSessionManager.h.
  • platform/audio/mac/AudioDestinationMac.cpp:

(WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken::create() takes a

client interface instead of the media type.

  • platform/audio/mac/AudioDestinationMac.h:
  • platform/audio/mac/AudioSessionMac.cpp:
  • platform/audio/mac/AudioSessionManagerMac.cpp: Removed.
  • platform/audio/mac/MediaSessionManagerMac.cpp: Copied from Source/WebCore/platform/audio/mac/AudioSessionManagerMac.cpp.

(MediaSessionManager::updateSessionState):

10:09 AM Changeset in webkit [160999] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Layout tests editing/selection/5057506.html and editing/selection/5057506-2.html
frequently time out on Mac WK2
https://bugs.webkit.org/show_bug.cgi?id=124437

  • platform/mac-wk2/TestExpectations: Marked the latter test accordingly. It used

to me marked as image failure, but I don't see this happen recently on the dashboard.

9:48 AM Changeset in webkit [160998] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Updated review status of r160982.

8:28 AM Changeset in webkit [160997] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

webkit gtk 2.2.3 stable tarball compilation error
https://bugs.webkit.org/show_bug.cgi?id=125987

Reviewed by Gustavo Noronha Silva.

Only try including <gdk/gdkwayland.h> and using GDK_IS_WAYLAND_DISPLAY if the Wayland support has been
enabled and when not compiling with GTK+ 2 (which occurs when building for libPlatformGtk2).

  • platform/graphics/GLContext.cpp:

(WebCore::GLContext::createContextForWindow):

7:55 AM Changeset in webkit [160996] by zandobersek@gmail.com
  • 4 edits in trunk/Source

[GTK] Clean up compiler optimizations flags for libWTF, libJSC
https://bugs.webkit.org/show_bug.cgi?id=126157

Reviewed by Gustavo Noronha Silva.

Source/JavaScriptCore:

  • GNUmakefile.am: Remove the -fstrict-aliasing and -O3 compiler flags for libWTF.la. -O3 gets

overridden by -O2 that's listed in CXXFLAGS (or -O0 in case of debug builds) and -fstrict-aliasing
is enabled when -O2 is used (and shouldn't be enabled in debug builds anyway).

Source/WTF:

  • GNUmakefile.am: Remove the -fstrict-aliasing and -O3 compiler flags for libWTF.la. -O3 gets

overridden by -O2 that's listed in CXXFLAGS (or -O0 in case of debug builds) and -fstrict-aliasing
is enabled when -O2 is used (and shouldn't be enabled in debug builds anyway).

6:46 AM Changeset in webkit [160995] by Martin Robinson
  • 2 edits in trunk/Source/JavaScriptCore

[CMake] Fix typo from r160812
https://bugs.webkit.org/show_bug.cgi?id=126145

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Fix typo when detecting the type of library.
6:45 AM Changeset in webkit [160994] by Martin Robinson
  • 9 edits in trunk

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

[GTK][CMake] libtool-compatible soversion calculation
Reviewed by Gustavo Noronha Silva.

  • Source/cmake/OptionsGTK.cmake: Specify the appropriate libtool triples and use

the CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE macro to specify the library-specific
version information.

  • Source/cmake/WebKitHelpers.cmake: Add some helpful macros.

Source/JavaScriptCore: [GTK][CMake] libtool-compatible soversion calculation
https://bugs.webkit.org/show_bug.cgi?id=125511

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Use the POPULATE_LIBRARY_VERSION macro and the

library-specific version information.

Source/WebKit: [GTK][CMake] libtool-compatible soversion calculation
https://bugs.webkit.org/show_bug.cgi?id=125511

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Use the POPULATE_LIBRARY_VERSION macro and the

library-specific version information.

Source/WebKit2: [GTK][CMake] libtool-compatible soversion calculation
https://bugs.webkit.org/show_bug.cgi?id=125511

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Use the POPULATE_LIBRARY_VERSION macro and the

library-specific version information.

5:35 AM Changeset in webkit [160993] by Gustavo Noronha Silva
  • 7 edits
    1 add in trunk

[GTK] [CMake] Generate pkg-config files
https://bugs.webkit.org/show_bug.cgi?id=125685

Reviewed by Martin Robinson.

.:

  • Source/cmake/OptionsGTK.cmake: set variables used for filling in the values in the

pkg-config files.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Added. Generate javascriptcoregtk-3.0.pc.

Source/WebKit:

  • PlatformGTK.cmake: generate webkitgtk-3.0.pc.

Source/WebKit2:

  • PlatformGTK.cmake: generate webkit2gtk.pc.
5:15 AM Changeset in webkit [160992] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] video/audio seeking is not unified.
https://bugs.webkit.org/show_bug.cgi?id=125852

Patch by Piotr Grad <p.grad@samsung.com> on 2013-12-23
Reviewed by Philippe Normand.

This bug is fixing regression with seeking audio/video elements and unifies seeking
in MediaPlayerPrivateGStreamer.

Test: media/video-seek-with-negative-playback.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::seekIncludingRate):
(WebCore::MediaPlayerPrivateGStreamer::setRate):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2:18 AM Changeset in webkit [160991] by ChangSeok Oh
  • 4 edits in trunk/Source/WebCore

[GTK][WK2] WebGL is not working with GLES
https://bugs.webkit.org/show_bug.cgi?id=126138

Reviewed by Martin Robinson.

m_texture has been unnecessarily regenerated. It's generated in GraphicsContext3D
constructor for offscreen rendering. And m_compositorTexture is used by only Mac port.
They create it in their GraphicsContext3D constructor so that we don't need to recreate it
in GC3DOpenGLES::reshapeFBOs.

No new tests since no functionality changed.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::~GraphicsContext3D):

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::reshapeFBOs):

  • platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:

(WebCore::GraphicsContext3D::reshapeFBOs):

1:22 AM Changeset in webkit [160990] by Michał Pakuła vel Rutka
  • 18 edits
    2 adds in trunk/LayoutTests

Unreviewed EFL gardening

Rebaseline tests after 160908.

  • platform/efl/TestExpectations:
  • platform/efl/editing/inserting/break-blockquote-after-delete-expected.png: Added.
  • platform/efl/editing/inserting/break-blockquote-after-delete-expected.txt: Added.
  • platform/efl/fast/css-generated-content/table-row-group-to-inline-expected.txt:
  • platform/efl/fast/dynamic/011-expected.txt:
  • platform/efl/fast/forms/formmove3-expected.txt:
  • platform/efl/fast/forms/preserveFormDuringResidualStyle-expected.txt:
  • platform/efl/fast/invalid/001-expected.txt:
  • platform/efl/fast/invalid/003-expected.txt:
  • platform/efl/fast/invalid/004-expected.txt:
  • platform/efl/fast/invalid/007-expected.txt:
  • platform/efl/fast/invalid/019-expected.txt:
  • platform/efl/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
  • platform/efl/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
  • platform/efl/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
  • platform/efl/fast/ruby/ruby-base-merge-block-children-crash-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug647-expected.txt:
  • platform/efl/tables/mozilla/other/wa_table_tr_align-expected.txt:
1:07 AM Changeset in webkit [160989] by Carlos Garcia Campos
  • 9 edits in trunk

[GTK] Build with network process unconditionally
https://bugs.webkit.org/show_bug.cgi?id=126128

Reviewed by Martin Robinson.

.:

  • Source/autotools/SetupAutomake.m4: Remove network process

conditional for Makefiles.

  • Source/autotools/SetupWebKitFeatures.m4: Remove network process

feature.

Source/WebKit2:

Build always with the network process enabled and decide whether
to use it or not using an environment variable. This makes a lot
easier to work on the network process and also to switch between
using it or not.

  • GNUmakefile.am: Make sure we always include the WebKit2Prefix.h.
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext): Use the network process when
WEBKIT_USE_NETWORK_PROCESS environment variable is present.

  • WebKit2Prefix.h: Always enable network process for GTK port.

Tools:

  • Scripts/webkitperl/FeatureList.pm: Remove network-process

feature command line option.

12:41 AM Changeset in webkit [160988] by brian.holt@samsung.com
  • 3 edits in trunk/Source/WebKit2

[WK2] Implement platform specific Resource Response for SOUP
https://bugs.webkit.org/show_bug.cgi?id=125422

Reviewed by Martin Robinson.

SOUP specific Resource Response implementation for the Network
Process.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::continueWillSendRequest):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):

12:21 AM Changeset in webkit [160987] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] run-gtk-tests should always run glib tests with -k option
https://bugs.webkit.org/show_bug.cgi?id=126132

Reviewed by Philippe Normand.

With -k command line option, gtester continues running all other
test cases after a failure.

  • Scripts/run-gtk-tests:

(TestRunner._run_test_glib): Use -k option when runing glib tests
to not stop on failure.

Dec 22, 2013:

10:20 PM Changeset in webkit [160986] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[WK2][SOUP] WebContext::allowSpecificHTTPSCertificateForHost does not work correctly when m_usesNetworkProcess is false
https://bugs.webkit.org/show_bug.cgi?id=125564

Reviewed Carlos Garcia Campos.

WebContext::allowSpecificHTTPSCertificateForHost should send
AllowSpecificHTTPSCertificateForHost to the web process when
m_usesNetworkProcess is false. Also we shouldn't guard
WebProcess::allowSpecificHTTPSCertificateForHost with
!ENABLE(NETWORK_PROCESS) because we need this method when
m_usesNetworkProcess is false.

Patch by Kwang Yul Seo <skyul@company100.net> on 2013-12-22

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::allowSpecificHTTPSCertificateForHost):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/soup/WebProcessSoup.cpp:
10:08 PM Changeset in webkit [160985] by Martin Robinson
  • 6 edits
    2 adds in trunk

[GTK][CMake] Integrate GResource for inspector files (and others?)
https://bugs.webkit.org/show_bug.cgi?id=125569

Reviewed by Gustavo Noronha Silva.

Source/WebInspectorUI:

  • GNUmakefile.am: Use the new generation script instead of generating with

shell scripting in the makefile.

Source/WebKit2:

  • GNUmakefile.am: Use the newly added static WebKit2InspectorGResourceBundle.xml

instead of generating the same file each time.

  • PlatformGTK.cmake: Add support for building the GResource bundles into WebKit2.
  • UIProcess/API/gtk/WebKit2InspectorGResourceBundle.xml: Added.

Tools:

  • gtk/generate-inspector-gresource-manifest.py: Added.
8:40 PM Changeset in webkit [160984] by Martin Robinson
  • 2 edits in trunk/Source/WebKit

Small build fix for GTK+ with the CMake build

  • CMakeLists.txt: Remove duplicate include directory and add missing directories

necessary for GTK+.

4:45 PM Changeset in webkit [160983] by benjamin@webkit.org
  • 8 edits
    2 adds in trunk/Source

Create a skeleton for CSS Selector code generation
https://bugs.webkit.org/show_bug.cgi?id=126044

Source/JavaScriptCore:

Reviewed by Antti Koivisto and Gavin Barraclough.

  • assembler/LinkBuffer.h:

Add a new owner UID for code compiled for CSS.
Export the symbols needed to link code from WebCore.

Source/WebCore:

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-22
Reviewed by Antti Koivisto and Gavin Barraclough.

Add CSSCompiler, which provides the basic infrastructure to compile
CSS Selectors on x86_64.

Compilation happens in two phases.
1) The various matching and relation of each CSSSelector is aggregated into units

matching a single element: SelectorFragment.
SelectorFragment also knows about the relations between different fragments,
and contains all the information to generate the code for a particular element.

2) The compiler then goes over the fragments, and generate code based on the information

of each fragment.

It the current state, SelectorCompiler only compiles the tag matching selectors and
any of the relation between selectors.

Depending on the relation and position of a fragment, failure on traversal or matching
does not necessarily causes the complete selector. A failure can cause matching to
resume from the parent or the sibling of a previously visisted node.
The implementation of this is done through the BacktrackingAction. In case of failure,
the next starting state is setup and the program counter jumps back to the appropriate
starting point.

When backtracking, the method used to save the starting point depends on the type
of backtracking.
The child/parent relation (">") is very common so it uses an additional register to keep
the next starting point (m_descendantBacktrackingStart).
The indirect sibling relation ("~") is much less common and uses the stack to save
the next starting point.

  • WebCore.xcodeproj/project.pbxproj:
  • cssjit/SelectorCompiler.cpp: Added.

(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::compileSelector):
(WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
(WebCore::SelectorCompiler::updateChainStates):
(WebCore::SelectorCompiler::isFirstAncestor):
(WebCore::SelectorCompiler::isFirstAdjacent):
(WebCore::SelectorCompiler::isAfterChildRelation):
(WebCore::SelectorCompiler::solveBacktrackingAction):
(WebCore::SelectorCompiler::requiresAdjacentTail):
(WebCore::SelectorCompiler::requiresDescendantTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
(WebCore::SelectorCompiler::testIsElementFlagOnNode):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDescendantBacktrackingTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateBacktrackingTailsIfNeeded):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):

  • cssjit/SelectorCompiler.h: Added.

(WebCore::SelectorCompilationStatus::SelectorCompilationStatus):
(WebCore::SelectorCompilationStatus::operator Status):
(WebCore::SelectorCompiler::simpleSelectorCheckerFunction):
(WebCore::SelectorCompiler::selectorCheckerFunctionWithCheckingContext):

  • dom/Element.cpp:

(WebCore::Element::setChildrenAffectedByDirectAdjacentRules):
(WebCore::Element::setChildrenAffectedByForwardPositionalRules):

  • dom/Element.h:

(WebCore::Element::tagQNameMemoryOffset):
(WebCore::Element::setChildrenAffectedByForwardPositionalRules):

  • dom/Node.h:

(WebCore::Node::parentNodeMemoryOffset):
(WebCore::Node::previousSiblingMemoryOffset):
(WebCore::Node::nodeFlagsMemoryOffset):
(WebCore::Node::flagIsElement):

  • dom/QualifiedName.h:

(WebCore::QualifiedName::QualifiedNameImpl::localNameMemoryOffset):
(WebCore::QualifiedName::QualifiedNameImpl::namespaceMemoryOffset):
(WebCore::QualifiedName::implMemoryOffset):

4:02 PM Changeset in webkit [160982] by mark.lam@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Add #if ENABLE(LLINT_C_LOOP) to C loop LLINT only parts of JSStack.
https://bugs.webkit.org/show_bug.cgi?id=126140.

Not yet reviewed.

Also moved startOfFrameFor() to the ENABLE(DEBUG_JSSTACK) section because
it's only needed there.

  • interpreter/JSStack.cpp:

(JSC::JSStack::JSStack):
(JSC::JSStack::gatherConservativeRoots):
(JSC::JSStack::sanitizeStack):

  • interpreter/JSStack.h:

(JSC::JSStack::gatherConservativeRoots):
(JSC::JSStack::sanitizeStack):
(JSC::JSStack::initializeThreading):

  • interpreter/JSStackInlines.h:

(JSC::JSStack::topOfFrameFor):

2:26 PM Changeset in webkit [160981] by mark.lam@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Fixed some JSStack on C Stack boundary computations.
https://bugs.webkit.org/show_bug.cgi?id=126139.

Not yet reviewed.

  1. Implement committedByteCount() for JSStack on the C stack using the current stack usage as an estimate of committed stack memory.
  2. Implement lowAddress() and highAddress() for JSStack on the C stack for containsAddress(). lowAddress() will be the top of the JS stack. highAddress() will be 1 past the end of the JS stack.
  3. Moved some functions around in preparation for an upcoming patch to #if out code which is only used when ENABLE(LLINT_C_LOOP)
  • interpreter/JSStack.cpp:

(JSC::JSStack::lowAddress):
(JSC::JSStack::highAddress):
(JSC::JSStack::committedByteCount):

  • interpreter/JSStack.h:

(JSC::JSStack::containsAddress):
(JSC::JSStack::lowAddress):

10:42 AM Changeset in webkit [160980] by fpizlo@apple.com
  • 19 edits in branches/jsCStack/Source/JavaScriptCore

It should be possible to run the full version of V8v7/crypto with the FTL and call IC's
https://bugs.webkit.org/show_bug.cgi?id=126116

Not yet reviewed.

This involved a number of minor fixes:

  • CallLinkInfo::unlink() was assuming that repatchBuffer.codeBlock() is the caller. It's actually the callee. So, to determine if the caller requires register preservation, we need an extra bit to say whether the CallLinkInfo belongs to an FTL JITCode.


  • A lot of bugs arise from us incorrectly preserving (or failing to preserve) registers. This adds a bunch of jitAssertTagsInPlace() assertion that helps to catch a bunch of those bugs.


  • Apparently the compact_unwind sometimes has garbage after its one entry. This changes our unwind parser so that it doesn't assert that the second entry is null, but it does assert that the first entry corresponds to our generated function.


  • The native function thunks assume that tags are set up and that they can clobber any registers. This breaks if we call the thunks from the FTL. This patch fixes the bug by wrapping just those thunks in a DirectJITCode, which has the register preservation wrappers. This probably ends up making sense because the FTL *really* should have intrinsics for all of those thunks. As part of this change, I refactored how NativeExecutable gets its JITCode to make things somewhat more explicit.


We still have a bunch of known performance bugs to fix, but the FTL is already at near
parity with the DFG on V8v7/crypto. This is pretty cool considering the FTL's other
speed-ups, and the fact that crypto has been our primary DFG tuning test for the past
2.5 years.

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink):

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::CallLinkInfo):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileEntry):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::adjustAndJumpToTarget):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCurrentBlock):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::link):

  • ftl/FTLUnwindInfo.cpp:

(JSC::FTL::UnwindInfo::parse):

  • ftl/FTLUnwindInfo.h:
  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::jitAssertTagsInPlace):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::jitAssertTagsInPlace):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

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

(JSC::JITThunks::hostFunctionStub):

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterPreservationWrapper):

  • runtime/Executable.h:

(JSC::NativeExecutable::create):

10:15 AM Changeset in webkit [160979] by mihnea@adobe.com
  • 3 edits
    2 adds in trunk

[CSSRegions] Crash when trying to select content from invalid region
https://bugs.webkit.org/show_bug.cgi?id=126113

Reviewed by Antti Koivisto.

Source/WebCore:

After fix for https://bugs.webkit.org/show_bug.cgi?id=120769, positionForPoint for a region attempts to use the associated named flow to perform its task.
However, this should happen only when the region is valid. If the region is invalid, part of a dependency cycle, positionForPoint should behave as usual
for a block instead of a region, otherwise it may run into an infinite loop due to cyclic dependencies and a crash will occur.

This patch ensures that positionForPoint region specifie behaviour is followed only if the region is valid - not part of a dependency cycle.

Test: fast/regions/selection/invalid-region-selection-crash.html

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::positionForPoint):

LayoutTests:

  • fast/regions/selection/invalid-region-selection-crash-expected.txt: Added.
  • fast/regions/selection/invalid-region-selection-crash.html: Added.
10:03 AM Changeset in webkit [160978] by mihnea@adobe.com
  • 9 edits in trunk/LayoutTests

[CSSRegions] Clean-up selection tests a bit
https://bugs.webkit.org/show_bug.cgi?id=126135

Reviewed by Dirk Schulze.

Move function clearSelection in helper.js. Combine checkResult() from position-for-point* and position-for-point-1*
into a single function, checkSelectionResult() and move it into helper.js too.

  • fast/regions/resources/helper.js:
  • fast/regions/selection/position-for-point-1-vert-lr.html:
  • fast/regions/selection/position-for-point-1-vert-rl.html:
  • fast/regions/selection/position-for-point-1.html:
  • fast/regions/selection/position-for-point-vert-lr.html:
  • fast/regions/selection/position-for-point-vert-rl.html:
  • fast/regions/selection/position-for-point.html:
  • fast/regions/selection/selecting-text-through-different-region-flows.html:
8:45 AM Changeset in webkit [160977] by barraclough@apple.com
  • 24 edits in trunk/Source/WebKit2

URTBF after r160971 to try to make EFL build again.

Patch by Csaba Osztrogonác <Csaba Osztrogonác> on 2013-12-22

  • WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:

(WebKit::internalError):

8:33 AM Changeset in webkit [160976] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Last URTBF after r160971 to make EFL build happy.

  • TestWebKitAPI/efl/PlatformWebView.cpp:
  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
7:45 AM Changeset in webkit [160975] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r160971 to try to make EFL build again.

  • WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:

(WebKit::internalError):

1:09 AM Changeset in webkit [160974] by Carlos Garcia Campos
  • 9 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build after r160971 and r160969.

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

(webkit_file_chooser_request_select_files):

  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(didReceiveWebViewMessageFromInjectedBundle):

  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestCreate):

  • UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
  • UIProcess/API/gtk/WebKitWebResource.cpp:

(webkit_web_resource_get_data):

  • UIProcess/soup/WebSoupRequestManagerClient.h:
  • WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:

(WebKit::internalError):

Dec 21, 2013:

11:01 PM Changeset in webkit [160973] by krit@webkit.org
  • 3 edits in trunk/Source/WebCore

Start refactoring Filter code to reuse CachedSVGDocument for clipPath
https://bugs.webkit.org/show_bug.cgi?id=126069

Reviewed by Andreas Kling.

Smaller refactoring of the CSS filter style resolver code. Previously the code
requested the FilterOperations list from RenderStyle and compared the content
in this list with an internal map. Then the resource loading was triggered.
With the refactoring we do not request the list from RenderStyle anymore but
rely on the hash map data entirely.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingSVGDocuments):

  • platform/graphics/filters/FilterOperation.h:
6:45 PM Changeset in webkit [160972] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source/WebKit2

Unreviewed build fix attempt on EFL port after r160971 and r160969

  • CMakeLists.txt:
  • UIProcess/soup/WebSoupRequestManagerClient.cpp:

(WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):

  • UIProcess/soup/WebSoupRequestManagerProxy.cpp:

(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest):

6:18 PM Changeset in webkit [160971] by weinig@apple.com
  • 16 edits
    2 moves in trunk/Source/WebKit2

[WK2] Rename WebError to API::Error
https://bugs.webkit.org/show_bug.cgi?id=126125

Reviewed by Anders Carlsson.

  • Shared/API/c/WKError.cpp:

(WKErrorGetTypeID):
(WKErrorCopyWKErrorDomain):

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI):

  • Shared/API/c/cf/WKErrorCF.cpp:

(WKErrorCreateWithCFError):

  • Shared/APIError.cpp: Copied from Source/WebKit2/Shared/WebError.cpp.

(API::Error::webKitErrorDomain):
(API::Error::encode):
(API::Error::decode):

  • Shared/APIError.h: Copied from Source/WebKit2/Shared/WebError.h.

(API::Error::create):
(API::Error::domain):
(API::Error::failingURL):
(API::Error::localizedDescription):
(API::Error::Error):

  • Shared/Cocoa/WKNSError.h:

(WebKit::wrapper):

  • Shared/Cocoa/WKNSError.mm:

(-[WKNSError _web_createTarget]):

  • Shared/UserData.cpp:

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

  • Shared/UserMessageCoders.h:

(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):

  • Shared/WebError.cpp: Removed.
  • Shared/WebError.h: Removed.
  • UIProcess/AutoCorrectionCallback.h:

(WebKit::AutocorrectionDataCallback::invalidate):

  • UIProcess/GenericCallback.h:

(WebKit::VoidCallback::invalidate):
(WebKit::GenericCallback::invalidate):
(WebKit::ComputedPagesCallback::invalidate):
(WebKit::ImageCallback::invalidate):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::printFinishedCallback):

  • UIProcess/WebPageProxy.h:

(WebKit::ValidateCommandCallback::invalidate):
(WebKit::GestureCallback::invalidate):
(WebKit::TouchesCallback::invalidate):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
  • WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:

(WebKit::blockedError):
(WebKit::cannotShowURLError):
(WebKit::interruptedForPolicyChangeError):
(WebKit::cannotShowMIMETypeError):
(WebKit::pluginWillHandleLoadError):
(WebKit::internalError):

5:04 PM Changeset in webkit [160970] by aestes@apple.com
  • 5 edits in trunk/Source/WebCore

[Mac] Soft-link WebContentAnalysis.framework
https://bugs.webkit.org/show_bug.cgi?id=126102

Reviewed by Dan Bernstein.

  • Configurations/WebCore.xcconfig: There's no need to modify LDFLAGS

now that we don't hard link against WebContentAnalysis.framework.

  • WebCore.xcodeproj/project.pbxproj: Removed

WebContentAnalysis.framework from the 'Link Binary with Libraries'
build phase.

  • platform/mac/ContentFilterMac.mm: Soft-linked

WebContentAnalysis.framework and the WebFilterEvaluator @class.
(WebCore::ContentFilter::ContentFilter): Called getWebFilterEvaluatorClass().
(WebCore::ContentFilter::isEnabled): Ditto.

  • platform/mac/SoftLinking.h: Added an implementation of

SOFT_LINK_PRIVATE_FRAMEWORK().

4:57 PM Changeset in webkit [160969] by weinig@apple.com
  • 20 edits
    1 move in trunk/Source/WebKit2

[WK2] Rename WebURL to API::URL
https://bugs.webkit.org/show_bug.cgi?id=126100

Reviewed by Anders Carlsson.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toURLRef):
(WebKit::toCopiedURLAPI):

  • Shared/API/c/WKURL.cpp:

(WKURLGetTypeID):
(WKURLCreateWithUTF8CString):
(WKURLCreateWithBaseURL):

  • Shared/API/c/cf/WKURLCF.mm:

(WKURLCreateWithCFURL):

  • Shared/APIURL.h: Copied from Source/WebKit2/Shared/WebURL.h.

(API::URL::create):
(API::URL::string):
(API::URL::host):
(API::URL::protocol):
(API::URL::path):
(API::URL::lastPathComponent):
(API::URL::encode):
(API::URL::decode):
(API::URL::URL):

  • Shared/Cocoa/WKNSURL.h:

(WebKit::wrapper):

  • Shared/Cocoa/WKNSURL.mm:

(-[WKNSURL _web_createTarget]):

  • Shared/Plugins/Netscape/PluginInformation.cpp:

(WebKit::createPluginInformationDictionary):

  • Shared/UserData.cpp:

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

  • Shared/UserMessageCoders.h:

(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):

  • Shared/WebArchiveResource.h:
  • Shared/WebURL.h: Removed.
  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::getResourceData):

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebIconDatabase.cpp:

(WebKit::WebIconDatabase::didChangeIconForPageURL):
(WebKit::WebIconDatabase::notifyIconDataReadyForPageURL):

  • UIProcess/WebIconDatabaseClient.cpp:

(WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
(WebKit::WebIconDatabaseClient::iconDataReadyForPageURL):

  • UIProcess/WebIconDatabaseClient.h:
  • UIProcess/WebOpenPanelResultListenerProxy.cpp:

(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::getResourceDataFromFrame):

  • UIProcess/WebPageProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
12:25 PM Changeset in webkit [160968] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r160916.
http://trac.webkit.org/changeset/160916
https://bugs.webkit.org/show_bug.cgi?id=126073

Roll out a temporary fix. The underlying issue was fixed.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::detach):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

  • accessibility/AccessibilityRenderObject.h:
11:25 AM Changeset in webkit [160967] by mark.lam@apple.com
  • 13 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Update the VMEntryScope's stack limit when the VM enters/exits ErrorMode.
https://bugs.webkit.org/show_bug.cgi?id=126009.

Not yet reviewed.

  1. Renamed JSStack::updateStackLimit() to setStackLimit() because that is what it actually does. We're going to repurpose the updateStackLimit name for another function.
  1. Fixed a bug in setStackLimit() where setJSStackLimit() was called with the value of newEnd which points past the end of the stack. The fix is to add 1 to point at the last slot at top of the stack. This is what is the users of the jsStackLimit value expects.
  1. Introduce the new JSStack::updateStackLimit() which is responsible for re-setting the current stack limit. updateStackLimit() will handle both cases of the JS stack being on the C stack or a separate stack.

For the C stack case, JStack::updateStackLimit() will check if a
VMEntryScope has been installed in the VM. If so, it will tell the
VMEntryScope to do the real work of updating the stack limit. The
VMEntryScope will take into account whether the VM's Interpreter is
in an error handling mode or not when determining the amount of host
zone space to reserve on the stack for computing the stack limit value.

  1. Interpreter::ErrorHandlingMode now calls JSStack::updateStackLimit whenever it enters / exit error handling mode. This allows the stack limit to change with the error mode change.
  1. A lot of places in the code were throwing StackOverflowErrors by creating and throwing the error themselves instead of using the throwStackOverflowError() helper function. As a result, the VM never got the chance to enter error mode. This is a bug and is now fixed by making all these sites use throwStackOverflowError() instead.

For sites that can't use throwStackOverflowError(), I updated them to
instantiate Interpreter::ErrorHandlingMode to set the error mode
appropriately.

  1. Made JSStack::enableErrorStackReserve() and disableErrorStackReserve() private. They are no longer called from outside of JSStack.
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::ErrorHandlingMode::ErrorHandlingMode):
(JSC::Interpreter::ErrorHandlingMode::~ErrorHandlingMode):
(JSC::sizeFrameForVarargs):

  • interpreter/JSStack.cpp:

(JSC::JSStack::JSStack):
(JSC::JSStack::growSlowCase):
(JSC::JSStack::updateStackLimit):

  • interpreter/JSStack.h:
  • interpreter/JSStackInlines.h:

(JSC::JSStack::shrink):
(JSC::JSStack::setStackLimit):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • parser/ParserError.h:

(JSC::ParserError::toErrorObject):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/JSONObject.cpp:

(JSC::Walker::walk):

  • runtime/StringRecursionChecker.cpp:

(JSC::StringRecursionChecker::throwStackOverflowError):

  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::updateStackLimit):

  • runtime/VMEntryScope.h:
10:51 AM Changeset in webkit [160966] by Antti Koivisto
  • 51 edits in trunk/Source/WebCore

Figure out if node is focusable without requiring renderer
https://bugs.webkit.org/show_bug.cgi?id=126118

Reviewed by Andreas Kling.

  • dom/Element.cpp:

(WebCore::Element::computedStyle):

Use inDocument() test instead of the attached() test. We can compute style for anything that
is in document.

  • dom/Node.cpp:

(WebCore::Node::isContentEditable):
(WebCore::Node::isContentRichlyEditable):
(WebCore::Node::hasEditableStyle):

Use computedStyle instead of getting the style from renderer. Computed style gets constructed
on demand if renderer does not exist. If it does then the existing style is used.

(WebCore::Node::isEditableToAccessibility):
(WebCore::Node::canStartSelection):
(WebCore::Node::isRootEditableElement):
(WebCore::Node::rootEditableElement):

  • dom/Node.h:

(WebCore::Node::hasEditableStyle):
(WebCore::Node::hasRichlyEditableStyle):

Renamed from rendererIsEditable since these no longer require renderer.

(WebCore::HTMLElement::supportsFocus):

Stop calling updateStyleIfNeeded() and forcing render tree construction.

6:40 AM Changeset in webkit [160965] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Test /webkit2/WebKitWebResource/mime-type fails when run after /webkit2/WebKitWebView/resources
https://bugs.webkit.org/show_bug.cgi?id=126119

Reviewed by Martin Robinson.

The problem is that when the blank.ico resource is loaded from the
disk cache, the mime type is null, because the soup cache doesn't
cache sniffed mime types. This doesn't happen when a resource is
loaded form the memory cache, because the ResourceResponse is
cached, not only the headers. I think the disk cache should also
cache the sniffed content type, but that needs to be done in
soup. For now we can workaround the issue in the unit test by
making sure that resources that can be cached, also include the
Content-Type header, this way the mime type won't be sniffed and
it will be cached as a HTTP header in the disk cache.

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

(serverCallback): Add Content-Type header for resources that can
be cached.

6:36 AM Changeset in webkit [160964] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r160909): [GTK] Tests /webkit2/WebKitWebView/default-menu and /webkit2/WebKitSettings/webkit-settings fail
https://bugs.webkit.org/show_bug.cgi?id=126117

Reviewed by Martin Robinson.

In r160909 the fullscreen setting default value was changed, but
the unit tests relaying on the default value were not updated
accordingly.

  • UIProcess/API/gtk/tests/TestContextMenu.cpp:
  • UIProcess/API/gtk/tests/TestWebKitSettings.cpp:

(testWebKitSettings):

1:49 AM Changeset in webkit [160963] by fpizlo@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

Register restoration thunk should restore the ArgumentCount after it restores registers
https://bugs.webkit.org/show_bug.cgi?id=126115

Not yet reviewed.

Just getting us further along in V8/crypto...

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::JSCall):
(JSC::FTL::JSCall::link):

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

(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterRestoration):

12:59 AM Changeset in webkit [160962] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Add myself to some more watch lists.

  • Scripts/webkitpy/common/config/watchlist: Watch also soup, gst

and binding scripts patches.

12:51 AM Changeset in webkit [160961] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[SOUP] ResourceHandleSoup should use async client callbacks when client uses async callbacks
https://bugs.webkit.org/show_bug.cgi?id=126006

Reviewed by Martin Robinson.

This fixes WebKit2 loader client unit tests when using the network
process.

  • platform/network/ResourceHandle.cpp:
  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::doRedirect): Call willSendRequestAsync on the client
when usesAsyncCallbacks returns true.
(WebCore::nextMultipartResponsePartCallback): Call
didReceiveResponseAsync on the client when usesAsyncCallbacks
returns true.
(WebCore::sendRequestCallback): Ditto.
(WebCore::ResourceHandle::continueWillSendRequest): Empty
implementation for now because the default one asserts.
(WebCore::ResourceHandle::continueDidReceiveResponse): Ditto.
(WebCore::ResourceHandle::continueShouldUseCredentialStorage): Ditto.

Dec 20, 2013:

11:11 PM Changeset in webkit [160960] by mark.lam@apple.com
  • 8 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Introduce JSStack::ensureCapacityFor().
https://bugs.webkit.org/show_bug.cgi?id=126109.

Not yet reviewed.

Client code should use JSStack::ensureCapacityFor() when checking for
available stack space for pushing JS frames or making arity adjustments.
JSStack::ensureCapacityFor() works for both cases of the JS stack on the
C stack or as a sperate stack.

JSStack::grow() is now private, and is only used by the C Loop LLINT.

Also made some other JSStack methods private as they are not needed
outside of the JSSTack class.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • ftl/FTLOSREntry.cpp:

(JSC::FTL::prepareOSREntry):

  • interpreter/Interpreter.cpp:

(JSC::sizeFrameForVarargs):

  • interpreter/JSStack.h:
  • interpreter/JSStackInlines.h:

(JSC::JSStack::ensureCapacityFor):
(JSC::JSStack::topOfStackForCapacityCheck):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::arityCheckFor):

9:23 PM Changeset in webkit [160959] by andersca@apple.com
  • 8 edits in trunk/Source

Replace yield() and pauseBriefly() with std::this_thread::yield()
https://bugs.webkit.org/show_bug.cgi?id=126105

Reviewed by Sam Weinig.

Source/WebCore:

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::interrupt):

Source/WTF:

  • wtf/ByteSpinLock.h:

(WTF::ByteSpinLock::lock):

  • wtf/Threading.h:
  • wtf/ThreadingPrimitives.h:
  • wtf/ThreadingPthreads.cpp:
  • wtf/ThreadingWin.cpp:
8:58 PM Changeset in webkit [160958] by fpizlo@apple.com
  • 3 edits
    3 adds in branches/jsCStack/Source/JavaScriptCore

FTL OSR exit should be able to handle the arity check fail case
https://bugs.webkit.org/show_bug.cgi?id=126111

Not yet reviewed.

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterRestoration):

  • tests/stress: Added.
  • tests/stress/exit-from-ftl-with-arity-check-fail.js: Added.

(foo):
(bar):

  • tests/stress/repeated-arity-check-fail.js: Added.

(bar):

7:50 PM Changeset in webkit [160957] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Assert that RootInlineBox::setLineBreakInfo should is never called on a RenderInline without line boxes
https://bugs.webkit.org/show_bug.cgi?id=126101

Reviewed by Simon Fraser.

Merge assertions added in https://chromium.googlesource.com/chromium/blink/+/716ac74fd475b581d69c0aa8ec2d806201c3a420

The code change was not merged since we never hit the added assertion on the attached test case in WebKit.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::setLineBreakInfo):

6:48 PM Changeset in webkit [160956] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

Arity check stack restoration should preserve the ArgumentCount in case there is a register restoration thunk below it
https://bugs.webkit.org/show_bug.cgi?id=126106

Not yet reviewed.

  • assembler/MacroAssemblerCodeRef.h:

(JSC::ReturnAddressPtr::dump):

  • jit/ArityCheckFailReturnThunks.cpp:

(JSC::ArityCheckFailReturnThunks::returnPCsFor):

6:47 PM Changeset in webkit [160955] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

Web Inspector: Remove the references to Node in InjectedScript
https://bugs.webkit.org/show_bug.cgi?id=126091

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

Remove the last DOM references from InjectedScript so that
InjectedScript can move down into JavaScriptCore. The only
remaining references were to Nodes, which are all just thin
wrappers around existing functions. Move Node / JSNode (JSValue)
conversion into InspectorDOMAgent, where it was used.

No new tests, no observable change in functionality.

  • bindings/js/JSInjectedScriptHostCustom.cpp:
  • inspector/InjectedScript.cpp:

(WebCore::InjectedScript::inspectObject):
(WebCore::InjectedScript::releaseObject):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptSource.js:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::focusNode):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::requestNode):
(WebCore::InspectorDOMAgent::nodeForObjectId):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::scriptValueAsNode):
(WebCore::InspectorDOMAgent::nodeAsScriptValue):

  • inspector/InspectorDOMAgent.h:
  • inspector/PageConsoleAgent.cpp:
6:25 PM Changeset in webkit [160954] by andersca@apple.com
  • 4 edits in trunk/Source/WTF

Speed up case folding for 8-bit strings
https://bugs.webkit.org/show_bug.cgi?id=126098

Reviewed by Geoffrey Garen.

Add a case folding lookup table for 8-bit strings and use it instead of calling down to u_foldCase.
On a simple microbenchmark using a lookup table is about 15x faster.

  • wtf/text/StringHash.h:

(WTF::CaseFoldingHash::foldCase):

  • wtf/text/StringImpl.cpp:

(WTF::equalIgnoringCase):

  • wtf/text/StringImpl.h:
6:15 PM Changeset in webkit [160953] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Unreviewed, rolling out r160941.
http://trac.webkit.org/changeset/160941
https://bugs.webkit.org/show_bug.cgi?id=126095

Doesn't handle subpixel layout being disabled (Requested by
smfr on #webkit).

  • gdb/webkit.py:

(JSCJSStringPrinter.to_string):
(add_pretty_printers):

  • lldb/lldb_webkit.py:

(WTFMediaTime_SummaryProvider):
(WTFStringProvider.to_string):

6:11 PM Changeset in webkit [160952] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r160939

Add ENABLE(CUSTOM_PROTOCOLS) guard.

  • UIProcess/WebContext.cpp:
5:55 PM Changeset in webkit [160951] by mmaxfield@apple.com
  • 8 edits in trunk/Source

Faster implementation of text-decoration-skip: ink
https://bugs.webkit.org/show_bug.cgi?id=125718

Reviewed by Simon Fraser.

Source/WebCore:

This new implementation of text-decoration-skip: ink extracts
each glyph into a path, then decomposes each path into a series
of contours. It then intersects each contour with the top and
bottom of the underline (by approximating the contour with a line).
It then draws underlines in between these intersection regions.

Tests for text-decoration-skip: ink already exist in
fast/css3-text/css3-text-decoration/text-decoration-skip

  • platform/graphics/Font.h: Signature of new function
  • platform/graphics/mac/FontMac.mm:

(WebCore::GlyphIterationState::GlyphIterationState): Persistent
between calls to findPathIntersections
(WebCore::findIntersectionPoint): Calculates an intersection point
between two lines
(WebCore::findPathIntersections): Called by CGPathApply to find
intersections of each contour
(WebCore::Font::intersectionPoints): Function to get the places
where an underline would intersect a TextRun.

  • rendering/InlineTextBox.cpp:

(WebCore::compareTuples): Used for sorting intersection ranges
(WebCore::translateIntersectionPointsToSkipInkBoundaries): Converts
a sequence of intersection points to the locations where
text-decoration-skip: ink should draw underlines
(WebCore::drawSkipInkUnderline): Draws a sequence of short underlines
(WebCore::InlineTextBox::paintDecoration):

  • rendering/TextPainter.cpp:

(WebCore::TextPainter::intersectionPoints): Calls Font::intersectionPoints

  • rendering/TextPainter.h:

Source/WTF:

This creates a new preprocessor define, CSS3_TEXT_DECORATION_SKIP_INK,
which enables the use of the text-decoration-skip: ink CSS value.
Creating this new value simplifies the logic about when to enable the
codepath for this CSS value.

  • wtf/Platform.h:
5:27 PM Changeset in webkit [160950] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Updating review status for r160947.

5:05 PM Changeset in webkit [160949] by Lucas Forschler
  • 7 edits in tags/Safari-538.10/Source/WebKit2

Merge r160939.

4:59 PM Changeset in webkit [160948] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Try to fix the Windows build.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
4:56 PM Changeset in webkit [160947] by mark.lam@apple.com
  • 12 edits in branches/jsCStack/Source/JavaScriptCore

CStack: callToJavaScript should do stack check for incoming args.
https://bugs.webkit.org/show_bug.cgi?id=126088.

Not yet reviewed.

  1. Change callToJavaScript()'s prototype to:

EncodedJSValue callToJavaScript(void*, VM*, ProtoCallFrame*);

We now pass VM* instead of &vm.topCallFrame for the second argument.
This gives us greater utility out of that arg.
We also now save the VM* in the VMEntrySentinelFrame instead of
&vm.topCallFrame.

  1. Change callToJavaScript() to do a stack check to ensure that we have adequate stack space to copy all the args from the protoCallFrame. If not, it'll throw a StackOverflowError.
  1. Removed JSStack::entryCheck() and calls to it.

callToJavaScript now takes care of the stack check that ensures
adequate stack space for incoming args.
callToJavaScript does assume that we have adequate stack space for
the VMEntrySentinelFrame, but that is ensured by our stack host zone.

Changes to callToJavaScript are done in the doCallToJavaScript macro.
Hence, all the changes apply to callToNativeFunction as well.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):

  • interpreter/JSStack.h:
  • interpreter/JSStackInlines.h:
  • jit/JITCode.cpp:

(JSC::JITCode::execute):

  • jit/JITStubs.h:
  • jit/JITStubsMSVC64.asm: Added a FIXME.
  • jit/JITStubsX86.h: Added a FIXME.
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::llint_throw_stack_overflow_error):

  • llint/LLIntSlowPaths.h:
  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter64.asm:
4:44 PM Changeset in webkit [160946] by Joseph Pecoraro
  • 32 edits
    3 copies
    1 add in trunk/Source/WebCore

Web Inspector: Give the CommandLineAPIModule its own Host object, making InjectedScriptHost viable for a JS Context
https://bugs.webkit.org/show_bug.cgi?id=126082

Reviewed by Timothy Hatcher.

Extract CommandLineAPIHost from InjectedScriptHost. The command line API contained
a bunch of DOM specific JavaScript that would not be suitable for a pure JavaScript
environment. Now that the DOM related code is in this WebCore only module, give this
module a host object that WebCore will provide.

No new tests, no observable change in functionality.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • UseJSC.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:

Add new files.

  • bindings/js/JSCommandLineAPIHostCustom.cpp: Added.

(WebCore::JSCommandLineAPIHost::inspectedObject):
(WebCore::getJSListenerFunctions):
(WebCore::JSCommandLineAPIHost::getEventListeners):
(WebCore::JSCommandLineAPIHost::inspect):
(WebCore::JSCommandLineAPIHost::databaseId):
(WebCore::JSCommandLineAPIHost::storageId):

  • bindings/js/JSInjectedScriptHostCustom.cpp:
  • inspector/CommandLineAPIHost.cpp: Copied from Source/WebCore/inspector/InjectedScriptHost.cpp.

(WebCore::CommandLineAPIHost::create):
(WebCore::CommandLineAPIHost::CommandLineAPIHost):
(WebCore::CommandLineAPIHost::~CommandLineAPIHost):
(WebCore::CommandLineAPIHost::disconnect):
(WebCore::CommandLineAPIHost::inspectImpl):
(WebCore::CommandLineAPIHost::getEventListenersImpl):
(WebCore::CommandLineAPIHost::clearConsoleMessages):
(WebCore::CommandLineAPIHost::copyText):
(WebCore::CommandLineAPIHost::InspectableObject::get):
(WebCore::CommandLineAPIHost::addInspectedObject):
(WebCore::CommandLineAPIHost::clearInspectedObjects):
(WebCore::CommandLineAPIHost::inspectedObject):
(WebCore::CommandLineAPIHost::databaseIdImpl):
(WebCore::CommandLineAPIHost::storageIdImpl):

  • inspector/CommandLineAPIHost.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.

(WebCore::CommandLineAPIHost::init):

  • inspector/CommandLineAPIHost.idl: Copied from Source/WebCore/inspector/InjectedScriptHost.idl.
  • inspector/CommandLineAPIModule.cpp:

These are almost all pure copies from InjectedScriptHost files. Cleaned up a bit.

  • inspector/InjectedScriptModule.h:
  • inspector/InjectedScriptModule.cpp:

(WebCore::InjectedScriptModule::ensureInjected):
Modules can now define a host object when they are getting injected.

(WebCore::CommandLineAPIModule::host):

  • inspector/CommandLineAPIModule.h:

Provide a CommandLineAPIHost, host object.

  • inspector/InjectedScriptCanvasModule.h:
  • inspector/InjectedScriptCanvasModule.cpp:

(WebCore::InjectedScriptCanvasModule::host):
No host object is needed for the CanvasModule.

  • inspector/InjectedScriptSource.js:
  • inspector/CommandLineAPIModuleSource.js:

When injecting a module, pass on an optional host object to
the module's source. Move a little more code between the
two files. The two files are very tightly coupled right now.

  • inspector/InjectedScriptHost.cpp:

(WebCore::InjectedScriptHost::create):

  • inspector/InjectedScriptHost.h:

(WebCore::InjectedScriptHost::~InjectedScriptHost):
(WebCore::InjectedScriptHost::InjectedScriptHost):

  • inspector/InjectedScriptHost.idl:

Move any command line specific logic to CommandLineAPIHost classes.

  • inspector/InjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::disconnect):

  • inspector/InjectedScriptManager.h:

(WebCore::InjectedScriptManager::commandLineAPIHost):

  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::addInspectedHeapObject):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorHeapProfilerAgent.cpp:

(WebCore::InspectorHeapProfilerAgent::resetState):

  • inspector/InspectorProfilerAgent.cpp:

(WebCore::InspectorProfilerAgent::resetState):

  • inspector/PageConsoleAgent.cpp:

(WebCore::PageConsoleAgent::addInspectedNode):

  • inspector/PageInjectedScriptManager.cpp:

(WebCore::PageInjectedScriptManager::PageInjectedScriptManager):
(WebCore::PageInjectedScriptManager::disconnect):

  • inspector/PageInjectedScriptManager.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):
An InjectedScriptManager may optionally have a commandLineAPIHost object.
If it does, initialize it, and send it messages.

4:43 PM Changeset in webkit [160945] by mmaxfield@apple.com
  • 5 edits
    5 adds in trunk

Allow ImageBuffer to re-use IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=125477

Reviewed by Geoff Garen.

PerformanceTests:

This test times creating a variety of different sizes of canvases
once some have already been created. The second creation of the
canvases should re-use the existing IOSurfaces.

  • Canvas/reuse.html: Added.

Source/WebCore:

This test adds a static class, ImageBufferBackingStoreCache, that vends
IOSurfaces. It remembers IOSurfaces that have been returned to it until
a configurable timeout.

The storage used by this class is in the form of a HashMap from a
bucketed size to the IOSurface. There are many other data structures
that could be used, but this implementation gives a 80% hit rate on
normal browsing of some example sites with Canvas and
text-decoration-skip: ink. Because the buckets are fairly
small (rounding the width and height up to multiples of 8), traversing the
bucket contents takes on average 2 steps.

Test: fast/canvas/canvas-backing-store-reuse.html

  • WebCore.xcodeproj/project.pbxproj: Added new caching class
  • platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Added.

(WebCore::createIOSurface): Moved from ImageBufferCG.cpp
(WebCore::ImageBufferBackingStoreCache::timerFired): Forget the cache
contents
(WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
(WebCore::ImageBufferBackingStoreCache::get): Static getter
(WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
(WebCore::ImageBufferBackingStoreCache::insertIntoCache): Memory-management
creation function
(WebCore::ImageBufferBackingStoreCache::takeFromCache): Memory-management
deletion function
(WebCore::ImageBufferBackingStoreCache::isAcceptableSurface): Does this cached
IOSurface fit the bill?
(WebCore::ImageBufferBackingStoreCache::tryTakeFromCache): Lookup
a bucket and walk through its contents
(WebCore::ImageBufferBackingStoreCache::getOrAllocate): Public function
for clients who want a IOSurface from the cache
(WebCore::ImageBufferBackingStoreCache::deallocate): Public
function for clients to return an IOSurface to the pool

  • platform/graphics/cg/ImageBufferBackingStoreCache.h: Added.
  • platform/graphics/cg/ImageBufferCG.cpp: Update to use new cache

(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):

LayoutTests:

Now that we're re-using the backing store of canvases, this
test makes sure that if we draw to a canvas, then destroy it,
then create a new canvas (which should share the same backing
store) that it doesn't have the stale data in it

  • fast/canvas/canvas-backing-store-reuse-expected.txt: Added.
  • fast/canvas/canvas-backing-store-reuse.html: Added.
4:35 PM Changeset in webkit [160944] by Simon Fraser
  • 51 edits in trunk/Source

Change "threaded scrolling" terminology to "asynchronous scrolling"
https://bugs.webkit.org/show_bug.cgi?id=126094

Source/WebCore:

Reviewed by Tim Horton.

Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING, and change
references to "main thread scrolling" to "synchronous scrolling".

In a few places, functions with names like shouldUpdateScrollLayerPositionOnMainThread()
were actually returning SynchronousScrollingReasons, so rename them appropriately.

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::shouldUpdateCompositingLayersAfterScrolling):
(WebCore::FrameView::isRubberBandInProgress):
(WebCore::FrameView::requestScrollPositionUpdate):
(WebCore::FrameView::updatesScrollLayerPositionOnMainThread):
(WebCore::FrameView::wheelEvent):

  • page/Page.cpp:

(WebCore::Page::synchronousScrollingReasonsAsText):

  • page/Page.h:
  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::create):
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
(WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
(WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
(WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::ScrollingCoordinator::synchronousScrollingReasons):
(WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):
(WebCore::ScrollingCoordinator::setForceSynchronousScrollLayerPositionUpdates):
(WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionSynchronously):
(WebCore::ScrollingCoordinator::setSynchronousScrollingReasons):

  • page/scrolling/ScrollingStateFixedNode.cpp:
  • page/scrolling/ScrollingStateFixedNode.h:
  • page/scrolling/ScrollingStateNode.cpp:
  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateScrollingNode::dumpProperties):

  • page/scrolling/ScrollingStateScrollingNode.h: Awkward "ReasonsForSynchronousScrolling" to avoid

conflict with the enum called SynchronousScrollingReasons.

  • page/scrolling/ScrollingStateStickyNode.cpp:
  • page/scrolling/ScrollingStateStickyNode.h:
  • page/scrolling/ScrollingStateTree.cpp:
  • page/scrolling/ScrollingStateTree.h:
  • page/scrolling/ScrollingThread.cpp:
  • page/scrolling/ScrollingThread.h:
  • page/scrolling/ScrollingTree.cpp:
  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeNode.cpp:
  • page/scrolling/ScrollingTreeNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::synchronousScrollingReasons):
(WebCore::ScrollingTreeScrollingNode::shouldUpdateScrollLayerPositionSynchronously):

  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::setSynchronousScrollingReasons):
(WebCore::ScrollingCoordinatorMac::commitTreeState):

  • page/scrolling/mac/ScrollingStateNodeMac.mm:
  • page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
  • page/scrolling/mac/ScrollingThreadMac.mm:
  • page/scrolling/mac/ScrollingTreeFixedNode.h:
  • page/scrolling/mac/ScrollingTreeFixedNode.mm:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
(WebCore::logThreadedScrollingMode):

  • page/scrolling/mac/ScrollingTreeStickyNode.h:
  • page/scrolling/mac/ScrollingTreeStickyNode.mm:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::TileController):
(WebCore::TileController::updateTileCoverageMap):

  • platform/mac/MemoryPressureHandlerMac.mm:

(WebCore::MemoryPressureHandler::releaseMemory):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupFontSubpixelQuantization):

  • rendering/RenderLayerBacking.cpp:

(WebCore::computeTileCoverage):

  • testing/Internals.cpp:

(WebCore::Internals::mainThreadScrollingReasons):

  • testing/Internals.idl:

Source/WebKit2:

Reviewed by Tim Horton.

Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING, and change
references to "main thread scrolling" to "synchronous scrolling".

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):

Source/WTF:

Reviewed by Tim Horton.

Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING.

  • wtf/FeatureDefines.h:
4:26 PM Changeset in webkit [160943] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebCore

Revert r160327, r160273, and r160260.

We'll come up with something less aggressive, as this doesn't quite work.

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneLiveResourcesToSize):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::destroyDecodedDataIfNecessary):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:
4:12 PM Changeset in webkit [160942] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

PostAttachCallbackDisabler should take a Document
https://bugs.webkit.org/show_bug.cgi?id=126090

Reviewed by Andreas Kling.

suspendPostAttachCallbacks and resumePostAttachCallbacks always only get the document from the
container node, so make them static member functions that take a Document&. Also, move PostAttachCallbackDisabler
to Element.h in preparation for moving post attach callback handling to Element.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::suspendPostAttachCallbacks):
(WebCore::ContainerNode::resumePostAttachCallbacks):

  • dom/ContainerNode.h:
  • dom/Element.h:

(WebCore::PostAttachCallbackDisabler::PostAttachCallbackDisabler):
(WebCore::PostAttachCallbackDisabler::~PostAttachCallbackDisabler):

  • style/StyleResolveTree.cpp:

(WebCore::Style::attachRenderTree):

4:05 PM Changeset in webkit [160941] by Bem Jones-Bey
  • 3 edits in trunk/Tools

Pretty print LayoutUnit, LayoutPoint, and LayoutSize in gdb and lldb
https://bugs.webkit.org/show_bug.cgi?id=126080

Reviewed by Anders Carlsson.

This changes the output of printing LayoutUnits to be in px, removing
the need to divide by 64 manually.

This will lead to gdb output like:

m_frameRect = {

m_location = LayoutPoint(0px, 0px),
m_size = LayoutSize(800px, 585px)

}

And lldb output like:

(const WebCore::LayoutRect) $0 = {

m_location = { x = 744px, y = 1px }
m_size = { width = 236px, height = 40px }

}

This patch is based on patch for Blink by cbiesinger@chromium.org.

  • gdb/webkit.py:

(WebCoreLayoutUnitPrinter):
(WebCoreLayoutUnitPrinter.init):
(WebCoreLayoutUnitPrinter.to_string):
(WebCoreLayoutSizePrinter):
(WebCoreLayoutSizePrinter.init):
(WebCoreLayoutSizePrinter.to_string):
(WebCoreLayoutPointPrinter):
(WebCoreLayoutPointPrinter.init):
(WebCoreLayoutPointPrinter.to_string):
(add_pretty_printers):

  • lldb/lldb_webkit.py:

(lldb_init_module):
(WebCoreLayoutUnit_SummaryProvider):
(WebCoreLayoutSize_SummaryProvider):
(WebCoreLayoutPoint_SummaryProvider):
(WebCoreLayoutUnitProvider):
(WebCoreLayoutUnitProvider.
init):
(WebCoreLayoutUnitProvider.to_string):
(WebCoreLayoutSizeProvider):
(WebCoreLayoutSizeProvider.
init):
(WebCoreLayoutSizeProvider.get_width):
(WebCoreLayoutSizeProvider.get_height):
(WebCoreLayoutPointProvider):
(WebCoreLayoutPointProvider.
init):
(WebCoreLayoutPointProvider.get_x):
(WebCoreLayoutPointProvider.get_y):

3:56 PM Changeset in webkit [160940] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit2

Rename PlugInAutoStartProvider's ...EntriesAddedBeforeTime facility to ...EntriesAddedAfterTime
https://bugs.webkit.org/show_bug.cgi?id=126078

Patch by Ricky Mondello <Ricky Mondello> on 2013-12-20
Reviewed by Anders Carlsson.

r160922 accidentally named a facility for filtering out data added after a certain time,
"...FilteringOutEntriesAddedBeforeTime", which was incorrect. This patch renames those instances
to "...FilteringOutEntriesAddedAfterTime".

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime):

  • UIProcess/API/C/WKContext.h:
  • UIProcess/Plugins/PlugInAutoStartProvider.cpp:

(WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedAfterTime):

  • UIProcess/Plugins/PlugInAutoStartProvider.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime):

  • UIProcess/WebContext.h:
3:55 PM Changeset in webkit [160939] by weinig@apple.com
  • 7 edits in trunk/Source/WebKit2

[WK2] Add SPI for using a custom protocol handler
https://bugs.webkit.org/show_bug.cgi?id=126089

Reviewed by Anders Carlsson.

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextRegisterSchemeForCustomProtocol):
(WKContextUnregisterSchemeForCustomProtocol):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
(+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::globalURLSchemesWithCustomProtocolHandlers):
(WebKit::WebContext::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebContext::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):

  • UIProcess/WebContext.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):
(WebKit::WebContext::platformInitializeNetworkProcess):
(WebKit::WebContext::registerNotificationObservers):
(WebKit::WebContext::unregisterNotificationObservers):

3:46 PM Changeset in webkit [160938] by Martin Robinson
  • 2 edits
    1 add in trunk/Tools

[GTK] [CMake] Add support for building ImageDiff
https://bugs.webkit.org/show_bug.cgi?id=125960

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Build ImageDiff for GTK+.
  • ImageDiff/PlatformGTK.cmake: Added.
3:44 PM Changeset in webkit [160937] by Martin Robinson
  • 2 edits
    1 add in trunk/Tools

[GTK] [CMake] Add support for building DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=125767

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Load the DumpRenderTree cmake file for GTK+ when WebKit1 is enabled.
  • DumpRenderTree/PlatformGTK.cmake: Added.
3:38 PM Changeset in webkit [160936] by fpizlo@apple.com
  • 22 edits
    2 adds in branches/jsCStack/Source/JavaScriptCore

Arity check slow path should ensure that when we return, we restore SP back to what the caller expects
https://bugs.webkit.org/show_bug.cgi?id=126043

Not yet reviewed.

Implements proper stack restoration after return from a function that failed arity
check.

(JSC::DFG::JITCompiler::compileFunction):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLOSRExit.h:
  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • jit/ArityCheckFailReturnThunks.cpp: Added.

(JSC::ArityCheckFailReturnThunks::ArityCheckFailReturnThunks):
(JSC::ArityCheckFailReturnThunks::~ArityCheckFailReturnThunks):
(JSC::ArityCheckFailReturnThunks::returnPCsFor):
(JSC::ArityCheckFailReturnThunks::returnPCFor):

  • jit/ArityCheckFailReturnThunks.h: Added.
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JITCode.cpp:

(JSC::DirectJITCode::addressForCall):

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterPreservationWrapper):
(JSC::generateRegisterRestoration):
(JSC::registerRestorationThunkGenerator):

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

(JSC::arityFixup):

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/x86.rb:
  • runtime/CommonSlowPaths.cpp:

(JSC::setupArityCheckData):
(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::arityCheckFor):

  • runtime/StackAlignment.h:

(JSC::logStackAlignmentRegisters):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
3:30 PM Changeset in webkit [160935] by msaboff@apple.com
  • 2 edits in branches/jsCStack/PerformanceTests/SunSpider

Unreviewed change. Restoring v8-crypto.js back to trunk.

Removing print()'s that are no longer needed.

  • tests/v8-v6/v8-crypto.js:
3:24 PM Changeset in webkit [160934] by Martin Robinson
  • 4 edits
    1 add in trunk/Tools

[GTK] [CMake] Add support for building WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=125768

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Compile WebKitTestRunner for GTK+ when WebKit2 is enabled.
  • WebKitTestRunner/CMakeLists.txt: Remove some EFL specific flags from the common

build file.

  • WebKitTestRunner/PlatformEfl.cmake: Move the flags here.
  • WebKitTestRunner/PlatformGTK.cmake: Added.
3:09 PM Changeset in webkit [160933] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Fix broken non-FTL build.

Not reviewed.

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterPreservationWrapper):

3:04 PM Changeset in webkit [160932] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.74-branch/Source

Versioning

3:04 PM Changeset in webkit [160931] by msaboff@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: CodeBlocks aren't being marked by garbage collector
https://bugs.webkit.org/show_bug.cgi?id=126084

Reviewed by Filip Pizlo.

Changed the native stack marking to include marking CodeBlocks and JITStubRoutines.
Patterned the code after what was in JSStack::gatherConservativeRoots()

  • heap/Heap.cpp:

(JSC::Heap::markRoots):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherFromOtherThread):
(JSC::MachineThreads::gatherConservativeRoots):

  • heap/MachineStackMarker.h:
3:01 PM Changeset in webkit [160930] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.74.3

New tag.

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

Unreviewed build fix for building without the FTL.

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterPreservationWrapper):

2:34 PM Changeset in webkit [160928] by andersca@apple.com
  • 6 edits in trunk/Source/WebCore

Move scheduleSetNeedsStyleRecalc to HTMLFrameOwnerElement
https://bugs.webkit.org/show_bug.cgi?id=126083

Reviewed by Antti Koivisto.

scheduleSetNeedsStyleRecalc is only ever called on HTMLFrameOwnerElement, so
move it there, remove the Node implementation and make it non-virtual.

  • dom/ContainerNode.cpp:
  • dom/ContainerNode.h:
  • dom/Node.h:
  • html/HTMLFrameOwnerElement.cpp:

(WebCore::needsStyleRecalcCallback):
(WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc):

  • html/HTMLFrameOwnerElement.h:
2:19 PM Changeset in webkit [160927] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Remove an unneeded include of WebCoreSystemInterface.h.

Rubber-stamped by Dan Bernstein.

  • platform/mac/ContentFilterMac.mm:
2:15 PM Changeset in webkit [160926] by andersca@apple.com
  • 6 edits in trunk/Source/WebCore

Node post attach callbacks should use references
https://bugs.webkit.org/show_bug.cgi?id=126081

Reviewed by Antti Koivisto.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::queuePostAttachCallback):
(WebCore::ContainerNode::dispatchPostAttachCallbacks):
(WebCore::needsStyleRecalcCallback):
(WebCore::ContainerNode::scheduleSetNeedsStyleRecalc):

  • dom/ContainerNode.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::focusPostAttach):
(WebCore::HTMLFormControlElement::didAttachRenderers):
(WebCore::updateFromElementCallback):
(WebCore::HTMLFormControlElement::didRecalcStyle):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAttachRenderers):
(WebCore::HTMLPlugInImageElement::updateWidgetCallback):
(WebCore::HTMLPlugInImageElement::startLoadingImageCallback):

  • html/HTMLPlugInImageElement.h:
2:04 PM Changeset in webkit [160925] by Joseph Pecoraro
  • 11 edits
    2 adds in trunk/Source/WebCore

Web Inspector: Extract CommandLineAPI into its own InjectedScriptModule
https://bugs.webkit.org/show_bug.cgi?id=126038

Reviewed by Timothy Hatcher.

Only inject the CommandLineAPIModule once, when the InjectedScript
is first created. This avoids running a small snippet of JavaScript
to check if the module is loaded every time we fetch the InjectedScript.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorAllInOne.cpp:

Add new files to the build.

  • inspector/InjectedScriptManager.h:
  • inspector/InjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::createForPage):
(WebCore::InjectedScriptManager::injectedScriptFor):
(WebCore::InjectedScriptManager::didCreateInjectedScript):
Add didCreateInjectedScript hook for a subclass to inject more scripts.

  • inspector/PageInjectedScriptManager.h: Added.
  • inspector/PageInjectedScriptManager.cpp: Added.

(WebCore::PageInjectedScriptManager::didCreateInjectedScript):
For pages, inject the CommandLineAPIModule.

  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::injectedScriptForEval):
This is replaced by PageInjectedScriptManager, we no longer need
to do extra work every time we fetch the injectedScriptForEval.

2:04 PM Changeset in webkit [160924] by Joseph Pecoraro
  • 14 edits
    3 adds in trunk/Source/WebCore

Web Inspector: Extract CommandLineAPI into its own InjectedScriptModule
https://bugs.webkit.org/show_bug.cgi?id=126038

Reviewed by Timothy Hatcher.

No tests, no observable change in behavior.

Move the CommandLineAPI source into its own module. Load the module
in InjectedScripts for WebCore::Pages. Not for workers.

Moving CommandLineAPI into it's own module moves it from being inside
the same anonymous function to being evaluated outside the anonymous
function. To connect the two InjectedScript passes itself to the
injected module, and the CommandLineAPI module places its class on the
injectedScript as injectedScript.CommandLineAPI.

This essentially makes the CommandLineAPI module an InjectedScript
extension. InjectedScriptSource checks for the existence of
this.CommandLineAPI to see if the fuller version is available. Otherwise
it falls back to a BasicCommandLineAPI which only exposes "$_",
which is the "last evaluated result". That will be useful for JS Contexts
and Workers.

At the same time, this patch makes InjectedScriptModule more generic,
to support being used in a pure JavaScript environment, meaning one
without "window" as the global object.

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorAllInOne.cpp:

Add files. Minify the CommandLineAPIModuleSource in generation.

  • inspector/CommandLineAPIModule.h: Added.
  • inspector/CommandLineAPIModule.cpp: Added.

(WebCore::CommandLineAPIModule::CommandLineAPIModule):
(WebCore::CommandLineAPIModule::injectIfNeeded):
(WebCore::CommandLineAPIModule::source):
Inject the module that doesn't return an object, its just evaluated code
extending the original InjectedScript.

  • inspector/InjectedScriptModule.h:
  • inspector/InjectedScriptModule.cpp:

(WebCore::InjectedScriptModule::ensureInjected):
Only ASSERT the result was an object if the Module claims it returns an object.

  • inspector/InjectedScriptCanvasModule.h:

(WebCore::InjectedScriptCanvasModule::returnsObject):
Return an object used later to call into the CanvasModule.

  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::injectedScriptForEval):
Ensure the CommandLineAPIModule is loaded in the Page's InjectedScript.

  • inspector/CommandLineAPIModuleSource.js: Added.

Create the CommandLineAPI class and place it on injectedScript.

  • inspector/InjectedScriptSource.js:

(InjectedScript.prototype._evaluateOn):
Inject either the BasicCommandLineAPI or extended CommandLineAPI.
Derive the globalObject dynamically instead of assuming window.
Inject the commandLineAPI on window.console or the globalObject based on context.
Audit and rename uses of "window" to something like globalObject.

2:01 PM Changeset in webkit [160923] by timothy_horton@apple.com
  • 12 edits in trunk/Source

WebKit2 View Gestures: Implement smartMagnifyWithEvent: and make it work
https://bugs.webkit.org/show_bug.cgi?id=125752
<rdar://problem/15664245>

Reviewed by Anders Carlsson.

Implement "smart magnify", which is the double-tap-to-zoom gesture on OS X.

  • UIProcess/API/mac/WKView.mm:

(-[WKView smartMagnifyWithEvent:]):
Forward smartMagnifyWithEvent to ViewGestureController.

  • UIProcess/mac/ViewGestureController.cpp:

(WebKit::ViewGestureController::handleMagnificationGesture):
Drive-by repair a comment.

(WebKit::ViewGestureController::handleSmartMagnificationGesture):
Added. Immediately dispatch a message to the web process to retrieve
the rendered rect of the element under the gesture.

(WebKit::maximumRectangleComponentDelta):
Return the absolute maximum delta between corresponding components of two rects.

(WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
Once the WebProcess has replied with the relevant geometry, use it to
determine our target rectangle (the element's rect, with some padding)
and target magnification (attempting to keep replaced elements
fully in-view, and otherwise zooming in as far as possible to fit the
element's width).

If this gesture occurs after the page is already magnified, and targets
a similar region to the previous smart magnification gesture, zoom out
instead of panning across the page.

Begin a transient zoom with the current magnification, and immediately
commit it at our target magnification and offset, so that the drawing
area will animate to the new parameters.

(WebKit::ViewGestureController::endActiveGesture):

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureController.messages.in:
  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
Hit-test the document to determine the node under the smart magnification
gesture, and return it to the UI process along with various other bits of data.

  • WebProcess/WebPage/ViewGestureGeometryCollector.h:
  • WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
Instead of short-circuiting the animation if we didn't have to constrain
the origin, short-circuit if we're already *at* the right origin,
like the comment said. This prevents jarring jumps when double-tap-panning
between elements when zoomed all the way in.

  • WebCore.exp.in:

Add some exports.

1:00 PM Changeset in webkit [160922] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit2

Allow partial application of PlugInAutoStart tables based on timestamp
https://bugs.webkit.org/show_bug.cgi?id=125871

Patch by Ricky Mondello <Ricky Mondello> on 2013-12-20
Reviewed by Anders Carlsson.

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime): New API.

  • UIProcess/API/C/WKContext.h: New API.
  • UIProcess/Plugins/PlugInAutoStartProvider.cpp:

(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Call setAutoStartOriginsTableWithItemsPassingTest

with a predicate that lets all policies pass.

(WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedBeforeTime): Call

setAutoStartOriginsTableWithItemsPassingTest with a predicate that lets policies created before a certain
time pass.

(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest): Added. Contains most of the

contents of setAutoStartOriginsTable, with support for applying a predicate.

  • UIProcess/Plugins/PlugInAutoStartProvider.h: Add public method,

setAutoStartOriginsFilteringOutEntriesAddedBeforeTime, and private method,
setAutoStartOriginsTableWithItemsPassingTest.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::setPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime): Pass through to the

PlugInAutoStartProvider.

  • UIProcess/WebContext.h: Declare setPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime.
12:54 PM Changeset in webkit [160921] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

Myles C. Maxfield is a committer now

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
12:49 PM Changeset in webkit [160920] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

http/tests/misc/object-image-error.html asserts
https://bugs.webkit.org/show_bug.cgi?id=126074

Reviewed by Andreas Kling.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAttachRenderers):
(WebCore::HTMLPlugInImageElement::updateWidgetCallback):
(WebCore::HTMLPlugInImageElement::startLoadingImage):
(WebCore::HTMLPlugInImageElement::startLoadingImageCallback):

  • html/HTMLPlugInImageElement.h:


Start image load from post-attach so we don't re-enter attach when image load fails synchronously.

12:19 PM Changeset in webkit [160919] by mhahnenberg@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Clean up DFG write barriers
https://bugs.webkit.org/show_bug.cgi?id=126047

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::storeToWriteBarrierBuffer): Use the register allocator to
determine which registers need saving instead of saving every single one of them.
(JSC::DFG::SpeculativeJIT::osrWriteBarrier): We don't need to save live register state
because the write barriers during OSR execute when there are no live registers. Also we
don't need to use pushes to pad the stack pointer for pokes on x86; we can just use an add.
(JSC::DFG::SpeculativeJIT::writeBarrier):

  • dfg/DFGSpeculativeJIT.h:
  • jit/Repatch.cpp:

(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):

  • runtime/VM.h: Get rid of writeBarrierRegisterBuffer since it's no longer used.
11:45 AM Changeset in webkit [160918] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[GTK] WebKitWebViewBase's ClickCounter should be reset
https://bugs.webkit.org/show_bug.cgi?id=122551

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2013-12-20
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::didCommitLoadForMainFrame):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseResetClickCounter):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
11:34 AM Changeset in webkit [160917] by matthew_hanson@apple.com
  • 7 edits in branches/safari-537.74-branch/Source/WebCore

Merge r160898: <rdar://problems/15709940>

11:05 AM Changeset in webkit [160916] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Crashes in AccessibilityRenderObject::computeAccessibilityIsIgnored()
https://bugs.webkit.org/show_bug.cgi?id=126073

Reviewed by Ryosuke Niwa.

Prevent the crash and try to catch in debug why it is happening.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::detach):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

  • accessibility/AccessibilityRenderObject.h:
9:27 AM Changeset in webkit [160915] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r160908.

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

missing export.

8:50 AM Changeset in webkit [160914] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Fix asserting accesibility tests.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::supportsFocus): Accessibility code checks focus status during painting.

7:51 AM Changeset in webkit [160913] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[MIPS] Missing MacroAssemblerMIPS::branchTest8(ResultCondition, BaseIndex, TrustedImm32)
https://bugs.webkit.org/show_bug.cgi?id=126062

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-12-20
Reviewed by Mark Hahnenberg.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::branchTest8):

7:48 AM Changeset in webkit [160912] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[sh4] Add missing implementation in MacroAssembler to fix build.
https://bugs.webkit.org/show_bug.cgi?id=126063

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-12-20
Reviewed by Mark Hahnenberg.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::branchTest8):

7:46 AM Changeset in webkit [160911] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[arm] Add missing implementation in MacroAssembler to fix CPU(ARM_TRADITIONAL) build.
https://bugs.webkit.org/show_bug.cgi?id=126064

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-12-20
Reviewed by Mark Hahnenberg.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::branchTest8):

7:36 AM Changeset in webkit [160910] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed GTK build fix after r160909.
Remove remaining uses of AttachLazily in code specific to the GTK port.

  • html/shadow/MediaControlsGtk.cpp:

(WebCore::MediaControlsGtk::initializeControls):
(WebCore::MediaControlsGtk::createTextTrackDisplay):

6:58 AM Changeset in webkit [160909] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[GTK] The fullscreen API should be enabled by default
https://bugs.webkit.org/show_bug.cgi?id=125993

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2013-12-20
Reviewed by Gustavo Noronha Silva.

Set the WebSettings property to TRUE

Source/WebKit/gtk:

  • webkit/webkitwebsettings.cpp:

(webkit_web_settings_class_init):

Source/WebKit2:

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webkit_settings_class_init):

6:44 AM Changeset in webkit [160908] by Antti Koivisto
  • 75 edits in trunk

Create render tree lazily
https://bugs.webkit.org/show_bug.cgi?id=120685

Source/WebCore:

Reviewed by Andreas Kling.

We currently recompute style and construct renderer for each DOM node immediately after they are added to
the tree. This is often inefficient as the style may change immediately afterwards and the work needs to be
redone.

With this patch we always compute style and construct render tree lazily, either on style recalc timer or
synchronously when they are needed. It also removes the 'attached' bit. If document has render tree then
all nodes are conceptually "attached" even if this happens lazily.

The patch slightly changes behavior of implicit CSS transitions. A synchronous style change during parsing
may not trigger the animation anymore as laziness means we don't see anything changing. This matches Firefox
and Chrome in our test cases.

  • WebCore.exp.in:
  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::appendChild):

All attaching is now lazy, remove AttachLazily.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

SVG renderers with !isValid() have empty display property value for some reason. Keep the behavior.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAppendChild):
(WebCore::ContainerNode::updateTreeAfterInsertion):

  • dom/ContainerNode.h:
  • dom/Document.cpp:

(WebCore::Document::~Document):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::createRenderTree):
(WebCore::Document::destroyRenderTree):

Remove attach bit maintenance.

(WebCore::Document::webkitDidExitFullScreenForElement):

Do lazy render tree reconstruction after returning from full screen. That is the only reliable way
to get the render tree back to decent shape.

  • dom/Element.cpp:

(WebCore::Element::isFocusable):

Remove pointless !renderer()->needsLayout() assert.

(WebCore::Element::addShadowRoot):
(WebCore::Element::childShouldCreateRenderer):
(WebCore::Element::resetComputedStyle):

Take care to reset computed style in all descendants. attachRenderTree no longer does this.

  • dom/Element.h:
  • dom/Node.cpp:

(WebCore::Node::insertBefore):
(WebCore::Node::replaceChild):
(WebCore::Node::appendChild):
(WebCore::Node::setNeedsStyleRecalc):

Propagate ReconstructRenderTree.

(WebCore::Node::attached):

Emulate the behavior of old attached bit for now so existing code calling this mostly stays working.

  • dom/Node.h:


Add new ReconstructRenderTree value for StyleChangeType.

  • dom/Range.cpp:

(WebCore::Range::isPointInRange):
(WebCore::Range::comparePoint):
(WebCore::Range::compareNode):
(WebCore::Range::intersectsNode):

  • editing/AppendNodeCommand.cpp:

(WebCore::AppendNodeCommand::doApply):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::canRebalance):

  • editing/InsertNodeBeforeCommand.cpp:

(WebCore::InsertNodeBeforeCommand::doApply):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::activeElement):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setInnerText):

TextControlInnerTextElement always preserves newline even if it doesn't have style yet.

(WebCore::HTMLElement::supportsFocus):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parseAttribute):

  • html/HTMLFormControlElement.cpp:

(WebCore::shouldAutofocus):

Don't autofocus until we have renderer.

  • html/HTMLFormControlElementWithState.cpp:

(WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):

Lazy render tree construction.

(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::defaultEventHandler):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::executeTask):

Don't attach renderer after construction.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::invalidateDistribution):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::willAttachRenderers):
(WebCore::InsertionPoint::willDetachRenderers):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay):

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::createTextTrackDisplay):

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::createControls):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::getDisplayTree):

  • loader/PlaceholderDocument.cpp:

(WebCore::PlaceholderDocument::createRenderTree):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::preload):

  • style/StyleResolveTree.cpp:

(WebCore::Style::attachTextRenderer):
(WebCore::Style::detachTextRenderer):

Remove attached bit maintenance.

(WebCore::Style::attachChildren):
(WebCore::Style::attachShadowRoot):
(WebCore::Style::attachRenderTree):
(WebCore::Style::detachShadowRoot):
(WebCore::Style::detachRenderTree):
(WebCore::Style::resolveLocal):

  • svg/SVGTests.cpp:

(WebCore::SVGTests::handleAttributeChange):

Make lazy.

  • testing/Internals.cpp:

(WebCore::Internals::attached):
(WebCore::Internals::elementRenderTreeAsText):
(WebCore::Internals::markerAt):
(WebCore::Internals::nodesFromRect):

LayoutTests:

Reviewed by Andreas Kling.

Most of these are non-visible render tree dump changes (they become simpler).

  • editing/selection/click-on-head-margin-expected.txt:
  • fast/css-generated-content/before-content-continuation-chain-expected.txt:
  • fast/css/transition-color-unspecified.html:
  • fast/dom/adopt-node-crash-2-expected.txt:
  • fast/dom/modify-node-and-while-in-the-callback-too-crash-expected.txt:
  • fast/forms/radio/radio_checked_dynamic-expected.txt:
  • fast/frames/lots-of-iframes-expected.txt:
  • fast/frames/sandboxed-iframe-autofocus-denied-expected.txt:
  • fast/table/table-row-style-not-updated-with-after-content-expected.txt:
  • fullscreen/full-screen-render-inline-expected.txt:
  • fullscreen/parent-flow-inline-with-block-child-expected.txt:
  • platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:
  • platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.txt:
  • platform/mac/fast/dynamic/011-expected.txt:
  • platform/mac/fast/forms/formmove3-expected.txt:
  • platform/mac/fast/forms/preserveFormDuringResidualStyle-expected.txt:
  • platform/mac/fast/invalid/001-expected.txt:
  • platform/mac/fast/invalid/003-expected.txt:
  • platform/mac/fast/invalid/004-expected.txt:
  • platform/mac/fast/invalid/007-expected.txt:
  • platform/mac/fast/invalid/019-expected.txt:
  • platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
  • platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
  • platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
  • platform/mac/fast/ruby/ruby-base-merge-block-children-crash-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug647-expected.txt:
  • platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • plugins/plugin-remove-readystatechange-expected.txt:
  • svg/custom/system-language-crash-expected.txt:
  • transitions/equivalent-background-image-no-transition.html:
  • transitions/repeated-firing-background-color.html:
  • transitions/transition-duration-cleared-in-transitionend-crash.html:

Adopt a few transition test cases to new behavior.

6:12 AM Changeset in webkit [160907] by mario.prada@samsung.com
  • 14 edits in trunk

[ATK] [WK2] platform/gtk/accessibility/roles-exposed.html is failing
https://bugs.webkit.org/show_bug.cgi?id=125854

Reviewed by Chris Fleizach.

Tools:

Ensure we don't ever create instances of AccessibilityUIElement
wrapping invalid platform-specific accessibility objects in DRT,
both for consistency with what WKTR does (so we avoid situations
where some tests fail in WK2 and not in WK1) and also to avoid
overlooking tests that might not be checking the right thing.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(AccessibilityUIElement::makeJSAccessibilityUIElement): Return a
nullPtr if the platformUIElement() is not a valid one.

  • DumpRenderTree/AccessibilityUIElement.h:

(AccessibilityUIElement::platformUIElement): Added const modifier.

LayoutTests:

Updated tests and expectations to keep them passing after the
change done in DRT, without changing their actual purpose.

  • platform/gtk/accessibility/roles-exposed.html: Make sure we

print "AXRole: (no element)" when accessibilityElementByID() does
not return a valid object, not to confuse it with cases where the
returned string for the role is an empty string.

  • platform/gtk/accessibility/roles-exposed-expected.txt: Update

test expectations to reflect the "AXRole: (no element)" string
that is now being exposed. Also, replace the (wrongly added) PASS
expectations with FAIL for rowgroups, which are currently not
being exposed for ATK either.

  • accessibility/deleting-iframe-destroys-axcache.html: Just

consider the first and third sons of the accessibility object for
the body (instead of the grandsons), so the test can run both in
Mac, where sons and grandsons are exposed, and ATK, where only
sons are exposed (no StaticText objects exposed there).

  • accessibility/non-data-table-cell-title-ui-element.html: Use

accessibilityElementById() to get the accessibility object for the
"skip" table header instead of navigating with childAtIndex(),
since the hierarchy is not the same for Mac and ATK based ports.

  • platform/mac/accessibility/search-predicate.html: Do not rely on

shouldBe() together with the string "AXRole: " when asking for the
role of objects that should no longer be in the accessibility
tree, and use shouldBeUndefined() instead.

  • platform/mac/accessibility/search-when-element-starts-in-table.html: Ditto.
  • platform/mac/accessibility/search-predicate-expected.txt: Update

expectations according to the usage of shouldBeUndefined().

  • platform/mac/accessibility/search-when-element-starts-in-table-expected.txt: Ditto.
  • platform/mac/TestExpectations: Add loading-iframe-updates-axtree.html

here, since it seems not to be returning the expected values for
either the scrollarea and the webarea in the iframe (see bug 126066).

  • platform/mac-wk2/TestExpectations: Add search-when-element-starts-in-table.html

here, since it does not return an undefined object in WebKit2 when
the search query should return no results (see bug 125996).

5:47 AM Changeset in webkit [160906] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Devirtualize RenderElement::setStyle().
<https://webkit.org/b/126065>

setStyle() was only virtual in order to let RenderSVGBlock override
the display type in some cases. Devirtualized it and moved the fixup
logic to StyleResolver::adjustRenderStyle().

This hack had an evil twin in RenderElement::initializeStyle() that
also goes away. FIXME--!

Based on a Blink change by Elliott Sprehn.

Reviewed by Antti Koivisto.

5:44 AM Changeset in webkit [160905] by stavila@adobe.com
  • 5 edits
    4 adds in trunk

[CSS Regions] When changing flow-from/flow-into on :hover, elements overflowing the region are not correctly repainted
https://bugs.webkit.org/show_bug.cgi?id=117259

Reviewed by Antti Koivisto.

Source/WebCore:

When computing the repaint rect for a region, the existing visual overflow must be taken into consideration.
For this purpose, I overridden the visualOverflowRect method in RenderNamedFlowFragment, which ends up being
called from RenderBox::clippedOverflowRectForRepaint.

Test: fast/regions/hover-single-flow-from-none-overflow.html

fast/regions/hover-single-flow-from-none-overflow-top.html

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::visualOverflowRect):

  • rendering/RenderNamedFlowFragment.h:

LayoutTests:

Added new tests and rebased existing test.

  • fast/regions/hover-single-flow-from-none-overflow-expected.html: Added.
  • fast/regions/hover-single-flow-from-none-overflow.html: Added.
  • fast/regions/hover-single-flow-from-none-overflow-top-expected.html: Added.
  • fast/regions/hover-single-flow-from-none-overflow-top.html: Added.
  • fast/regions/repaint/repaint-regions-overflow-expected.txt: Rebased.
4:11 AM Changeset in webkit [160904] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Some unit tests using web extensions fail when run alone
https://bugs.webkit.org/show_bug.cgi?id=126002

Reviewed by Gustavo Noronha Silva.

The problem is that the page is created before the dbus connection
has been established, and we are connecting to web-page-created
signal once we have a valid dbus connection. We should connect to
the signal before connecting to dbus and queue any request to emit
a dbus signal until the connection is set. This also fixes the
WebExtensions tests when using the network process because a new
web process is launched for every test case.

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

(DelayedSignal::DelayedSignal): Helper struct to queue signal
emissions requested before the dbus connection has been
established.
(emitDocumentLoaded): Emit the dbus DocumentLoaded signal.
(documentLoadedCallback): Queue the signal emission if we still
don't have a connection or call emitDocumentLoaded otherwise.
(emitURIChanged): Emit the dbus URIChanged signal.
(uriChangedCallback): Queue the signal emission if we still don't
have a connection or call emitURIChanged otherwise.
(pageCreatedCallback): Pass the web extension as user data to
document-loaded and uri-changed callbacks.
(busAcquiredCallback): Set the connection as user data of the web
extension and process any delayed signal emission pending.
(webkit_web_extension_initialize): Connect to web-page-create
signal before connecting to dbus.

3:52 AM Changeset in webkit [160903] by mario.prada@samsung.com
  • 15 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:

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

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::children): Add the option ot
request the AccessibilityChildrenVector without updating it if
needed, to avoid maybe recreating the child subtree when trying to
get the offset of a newly attached element from attachWrapper.

  • accessibility/AccessibilityObject.h:

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.
3:28 AM Changeset in webkit [160902] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Removed unused BUILDER_BASE_URL.
https://bugs.webkit.org/show_bug.cgi?id=125442

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-12-20
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:

(JSONGeneratorTest._test_json_generation): Trivial test fix after r160900.

3:02 AM Changeset in webkit [160901] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Move function calls outside loop in dom
https://bugs.webkit.org/show_bug.cgi?id=125916

Patch by Laszlo Vidacs <lvidacs.u-szeged@partner.samsung.com> on 2013-12-20
Reviewed by Csaba Osztrogonác.

Do not call length() in each iteration.

  • dom/Element.cpp:

(WebCore::Element::cloneAttributesFromElement):

  • dom/Node.cpp:

(WebCore::Node::dumpStatistics):

3:00 AM Changeset in webkit [160900] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Removed unused BUILDER_BASE_URL.
https://bugs.webkit.org/show_bug.cgi?id=125442

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-12-20
Reviewed by Csaba Osztrogonác.

The string constant BUILDER_BASE_URL is passed around several times,
but we don't use it anywhere. It is a leftover from Chromium, cleaned it up.

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

(Manager._upload_json_files):

  • Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:

(JSONLayoutResultsGenerator.init):

  • Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:

(JSONResultsGenerator.init):

2:52 AM Changeset in webkit [160899] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Build fails in debug mode after r160834.
https://bugs.webkit.org/show_bug.cgi?id=126059

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-20
Reviewed by Csaba Osztrogonác.

Debug mode build failed due to comparing signed and unsigned in
ASSERT(). Now both values are unsigned.

  • wtf/dtoa/double-conversion.cc:

Dec 19, 2013:

11:20 PM Changeset in webkit [160898] by Beth Dakin
  • 7 edits in trunk/Source/WebCore

REGRESSION: cnn.com will continue to reveal 1 px of overhang after rubber-banding
at the top
https://bugs.webkit.org/show_bug.cgi?id=126054

Reviewed by Simon Fraser.

This regression was caused by http://trac.webkit.org/changeset/160791 It turns out
that the line of code I removed was not always a no-op. In some instances, like on
cnn.com, it would ensure that our final scroll position after a rubber-band was
not something within the overhang area. It was still wrong in its assumption that
rubber-band is always bouncing back the spot it originated from. So this patch
continues to ignore the rubber-bands origin, and instead finds the nearest point
that is not in the overhang area, and scrolls to that point instead of the origin.

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::adjustScrollPositionToBoundsIfNecessary):

  • platform/mac/ScrollElasticityController.h:
  • platform/mac/ScrollElasticityController.mm:

(WebCore::ScrollElasticityController::snapRubberBandTimerFired):

9:52 PM Changeset in webkit [160897] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Frontend Error when selecting Database folder in Resources Sidebar
https://bugs.webkit.org/show_bug.cgi?id=126029

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

Treat the DatabaseHostTreeElement tree element like a folder. It pretty much
is a folder, but inherits from StorageTreeElement to share some code there.

  • UserInterface/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):

8:01 PM Changeset in webkit [160896] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

REGRESSION(r160847): fast/events/overflowchanged-inside-selection-collapse-crash.html fails
https://bugs.webkit.org/show_bug.cgi?id=126037

Reviewed by Anders Carlsson.

Since overflowchanged event is now asynchronous, make the call to testRunner.notifyDone() also asynchronous.

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

check-webkit-style mistakenly flags assigning to a dereferenced pointer
https://bugs.webkit.org/show_bug.cgi?id=126041

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

When checking for lines like "Foo *bar;", check-webkit-style doesn't make
sure that there is a declaration. This patch makes sure that there is a
declaration in order to flag spacing around asterisks.

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

(check_spacing):

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

(CppStyleTest.test_pointer_reference_marker_location):

7:48 PM Changeset in webkit [160894] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Clarify the behavior of composited canvases
https://bugs.webkit.org/show_bug.cgi?id=126042

Reviewed by Tim Horton.

Different platforms composite 2D and 3D canvases in different ways.

"Accelerated 2D" canvases, and WebGL are always set as GraphicsLayer
contents.

"IOSurface" canvases (Mac and iOS-only) get a compositing layer, but
paint into it (because this is fast, and a convenient way to get
synchronization).

So make these behaviors explicit in RenderLayerBacking and RenderLayerCompositor.
No behavior changes on OS X, bug fix on iOS.

  • rendering/RenderLayerBacking.cpp:

(WebCore::canvasCompositingStrategy):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
(WebCore::RenderLayerBacking::containsPaintedContent):
(WebCore::RenderLayerBacking::contentChanged):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForCanvas):

7:33 PM Changeset in webkit [160893] by fpizlo@apple.com
  • 41 edits
    10 adds in branches/jsCStack/Source/JavaScriptCore

FTL should be able to do call ICs
https://bugs.webkit.org/show_bug.cgi?id=125811

Reviewed by Geoffrey Garen.

Add Call/Construct inline caching to the FTL. That part is super easy.

But to make it possible for the FTL (which preserves system ABI callee-save registers
and expects calls to preserve them) to call into non-FTL JSC JITs (which don't preserve
any registers), we need to have some special thunks. That's most of the patch. In
particular, all JITCode's can now give you entrypoints with or without register
preservation and this may mean lazily creating wrapper thunks that preserve registers.
FTL OSR exit may involve exiting into a register restoration thunk and it may also
involve decoding FTL unwind info in order to figure out where registers were preserved.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/MacroAssemblerCodeRef.h:

(JSC::MacroAssemblerCodePtr::operator UnspecifiedBoolType*):
(JSC::MacroAssemblerCodeRef::operator UnspecifiedBoolType*):

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink):

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::CallLinkInfo):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::setJITCode):
(JSC::CodeBlock::jitCode):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITFinalizer.cpp:

(JSC::DFG::JITFinalizer::finalize):
(JSC::DFG::JITFinalizer::finalizeFunction):

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateCodeSection):
(JSC::FTL::fixFunctionBasedOnStackMaps):
(JSC::FTL::compile):

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfCall):

  • ftl/FTLInlineCacheSize.h:
  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLJITCode.cpp:

(JSC::FTL::JITCode::initializeArityCheckEntrypoint):
(JSC::FTL::JITCode::addressForCall):
(JSC::FTL::JITCode::executableAddressAtOffset):
(JSC::FTL::JITCode::dataAddressAtOffset):
(JSC::FTL::JITCode::offsetOf):
(JSC::FTL::JITCode::size):
(JSC::FTL::JITCode::contains):

  • ftl/FTLJITCode.h:
  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • ftl/FTLJSCall.cpp: Added.

(JSC::FTL::JSCall::JSCall):
(JSC::FTL::JSCall::emit):
(JSC::FTL::JSCall::link):

  • ftl/FTLJSCall.h: Added.

(JSC::FTL::JSCall::stackmapID):
(JSC::FTL::JSCall::operator<):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::callStackmap):

  • ftl/FTLOSREntry.cpp:

(JSC::FTL::prepareOSREntry):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLRegisterAtOffset.cpp: Added.

(JSC::FTL::RegisterAtOffset::dump):

  • ftl/FTLRegisterAtOffset.h: Added.

(JSC::FTL::RegisterAtOffset::RegisterAtOffset):
(JSC::FTL::RegisterAtOffset::operator!):
(JSC::FTL::RegisterAtOffset::gpr):
(JSC::FTL::RegisterAtOffset::offset):
(JSC::FTL::RegisterAtOffset::operator==):
(JSC::FTL::RegisterAtOffset::operator<):
(JSC::FTL::RegisterAtOffset::getGPR):

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::Record::parse):

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

  • ftl/FTLState.h:
  • ftl/FTLUnwindInfo.cpp: Added.

(JSC::FTL::UnwindInfo::UnwindInfo):
(JSC::FTL::UnwindInfo::~UnwindInfo):
(JSC::FTL::UnwindInfo::parse):
(JSC::FTL::UnwindInfo::dump):
(JSC::FTL::UnwindInfo::find):
(JSC::FTL::UnwindInfo::indexOf):

  • ftl/FTLUnwindInfo.h: Added.
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileOpCallSlowCase):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCallSlowCase):

  • jit/JITCode.cpp:

(JSC::JITCode::hostFunction):
(JSC::JITCodeWithCodeRef::JITCodeWithCodeRef):
(JSC::JITCodeWithCodeRef::~JITCodeWithCodeRef):
(JSC::JITCodeWithCodeRef::executableAddressAtOffset):
(JSC::JITCodeWithCodeRef::dataAddressAtOffset):
(JSC::JITCodeWithCodeRef::offsetOf):
(JSC::JITCodeWithCodeRef::size):
(JSC::JITCodeWithCodeRef::contains):
(JSC::DirectJITCode::DirectJITCode):
(JSC::DirectJITCode::~DirectJITCode):
(JSC::DirectJITCode::initializeCodeRef):
(JSC::DirectJITCode::ensureWrappers):
(JSC::DirectJITCode::addressForCall):
(JSC::NativeJITCode::NativeJITCode):
(JSC::NativeJITCode::~NativeJITCode):
(JSC::NativeJITCode::initializeCodeRef):
(JSC::NativeJITCode::addressForCall):

  • jit/JITCode.h:
  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

(JSC::operationLinkFor):
(JSC::operationVirtualFor):
(JSC::operationLinkClosureCallFor):

  • jit/RegisterPreservationWrapperGenerator.cpp: Added.

(JSC::registersToPreserve):
(JSC::registerPreservationOffset):
(JSC::generateWrapper):
(JSC::generateRegisterRestoration):
(JSC::registerRestorationThunkGenerator):

  • jit/RegisterPreservationWrapperGenerator.h: Added.
  • jit/Repatch.cpp:

(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::linkClosureCall):

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

(JSC::linkForThunkGenerator):
(JSC::linkCallThunkGenerator):
(JSC::linkConstructThunkGenerator):
(JSC::linkCallThatPreservesRegsThunkGenerator):
(JSC::linkConstructThatPreservesRegsThunkGenerator):
(JSC::linkClosureCallForThunkGenerator):
(JSC::linkClosureCallThunkGenerator):
(JSC::linkClosureCallThatPreservesRegsThunkGenerator):
(JSC::virtualForThunkGenerator):
(JSC::virtualCallThunkGenerator):
(JSC::virtualConstructThunkGenerator):
(JSC::virtualCallThatPreservesRegsThunkGenerator):
(JSC::virtualConstructThatPreservesRegsThunkGenerator):

  • jit/ThunkGenerators.h:

(JSC::linkThunkGeneratorFor):
(JSC::linkClosureCallThunkGeneratorFor):
(JSC::virtualThunkGeneratorFor):

  • llint/LLIntEntrypoint.cpp:

(JSC::LLInt::setFunctionEntrypoint):
(JSC::LLInt::setEvalEntrypoint):
(JSC::LLInt::setProgramEntrypoint):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::entryOSR):
(JSC::LLInt::setUpCall):

  • llint/LowLevelInterpreter.asm:
  • runtime/ArityCheckMode.h: Added.
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::installCode):

  • runtime/Executable.h:

(JSC::ExecutableBase::entrypointFor):
(JSC::ExecutableBase::offsetOfJITCodeWithArityCheckFor):
(JSC::NativeExecutable::finishCreation):

  • runtime/RegisterPreservationMode.h: Added.
6:58 PM Changeset in webkit [160892] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

6:55 PM Changeset in webkit [160891] by Lucas Forschler
  • 1 copy in tags/Safari-538.10

New Tag.

6:38 PM Changeset in webkit [160890] by mark.lam@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

CStack: The JIT does not need a slow path stack check.
https://bugs.webkit.org/show_bug.cgi?id=126036.

Reviewed by Geoffrey Garen.

The JIT uses the C stack which is not growable. If we fail a stack
check in the function header, then a stack overflow is imminent, and
there's no need to redo the check in the slow path helper.

Hence, renamed operationStackCheck() to operationThrowStackOverflowError()
and change the JIT and DFG code to use this appropriately.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileFunction):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
6:01 PM Changeset in webkit [160889] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.74-branch/Source

Versioning

6:00 PM Changeset in webkit [160888] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception: NavigationSidebarPanel.js: TypeError: undefined is not a function
https://bugs.webkit.org/show_bug.cgi?id=126018

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

ERROR: TypeError: undefined is not a function (evaluating 'representedObject.saveIdentityToCookie(candidateObjectCookie)')

There are some TreeElements (Folders, and the special Databases Folder)
which do not have a represented object, and would throw an exception
when trying to use saveIdentityToCookie.

We should always provide a saveIdentityToCookie when possible. So just
blacklist the tree element types we know do not have representedObjects,
and where we don't want to save identity. This will continue to throw
exceptions in the future for tree elements that don't have the save
function implemented, but should.

Note that even if a TreeElement is constructed with a null represented

object, it becomes an empty object (representedObject
{}).
  • UserInterface/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
(WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
(WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
(WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):

5:59 PM Changeset in webkit [160887] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Web Inspector: Add InspectorFrontendHost.debuggableType to let the frontend know it's backend is JavaScript or Web
https://bugs.webkit.org/show_bug.cgi?id=126016

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

Source/JavaScriptCore:

  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::listingForDebuggable):

  • inspector/remote/RemoteInspectorConstants.h:

Include a debuggable type identifier in the debuggable listing,
so the remote frontend can know if it is debugging a Web Page
or JS Context.

Source/WebCore:

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::debuggableType):

  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.idl:

Expose the debuggableType to the frontend. In WebCore it is always a "web" type.

Source/WebInspectorUI:

  • UserInterface/LoadInspectorBackendCommands.js:

If the debuggable target is "web" load both JS and Web backend commands.
Otherwise, we only load the default, js backend commands.

5:55 PM Changeset in webkit [160886] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.74.2

New tag.

5:54 PM Changeset in webkit [160885] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-537.74.2

Deleting tag. The tag was copied incorrectly from http://svn.webkit.org/repository/webkit/tags/Safari-537.74.1.

5:48 PM Changeset in webkit [160884] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.74.2

New Tag.

5:45 PM Changeset in webkit [160883] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.74-branch/Source

Versioning

5:41 PM Changeset in webkit [160882] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] Enable multiprocess by default
https://bugs.webkit.org/show_bug.cgi?id=126030

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-19
Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup initWithInjectedBundleURL:]):

5:39 PM Changeset in webkit [160881] by benjamin@webkit.org
  • 4 edits
    1 add in trunk/Source

Add an utility class to simplify generating function calls
https://bugs.webkit.org/show_bug.cgi?id=125972

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Split branchTest32 in two functions: test32AndSetFlags and branchOnFlags.
This is done to allow code where the flags are set, multiple operation that
do not modify the flags occur, then the flags are used.

This is used for function calls to test the return value while discarding the
return register.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::test32AndSetFlags):
(JSC::MacroAssemblerX86Common::branchOnFlags):
(JSC::MacroAssemblerX86Common::branchTest32):

Source/WebCore:

FunctionCall is a little helper class to make function calls from the JIT
in 3 or 4 lines.

FunctionCall takes a StackAllocator, a RegisterAllocator and a function pointer.
When the call is generated, the helper saves the registers as necessary, aligns
the stack, does the call, restores the stack, and restore the registers.

  • cssjit/FunctionCall.h: Added.

(WebCore::FunctionCall::FunctionCall):
(WebCore::FunctionCall::setFunctionAddress):
(WebCore::FunctionCall::setFirstArgument):
(WebCore::FunctionCall::call):

(WebCore::FunctionCall::callAndBranchOnCondition): Most test functions used
with FunctionCall return a boolean. When the boolean is the sole purpose of the function
call, this provides an easy way to branch on the boolean without worrying about registers.

The return register is tested first, then all the saved registers are restored from the stack
(which can include the return register), finally the flags are used for a jump.

(WebCore::FunctionCall::prepareAndCall):
(WebCore::FunctionCall::cleanupPostCall):
(WebCore::FunctionCall::saveAllocatedRegisters):
(WebCore::FunctionCall::restoreAllocatedRegisters):

  • WebCore.xcodeproj/project.pbxproj:
  • cssjit/FunctionCall.h: Added.

(WebCore::FunctionCall::FunctionCall):
(WebCore::FunctionCall::setFunctionAddress):
(WebCore::FunctionCall::setFirstArgument):
(WebCore::FunctionCall::call):
(WebCore::FunctionCall::callAndBranchOnCondition):
(WebCore::FunctionCall::prepareAndCall):
(WebCore::FunctionCall::cleanupPostCall):
(WebCore::FunctionCall::saveAllocatedRegisters):
(WebCore::FunctionCall::restoreAllocatedRegisters):

5:18 PM Changeset in webkit [160880] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Begin stubbing out the KeyedDecoder class
https://bugs.webkit.org/show_bug.cgi?id=126031

Reviewed by Andreas Kling.

KeyedDecoder is going to be the new way to decode back forward trees.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::decodeBackForwardTree):

  • history/HistoryItem.h:
  • platform/KeyedCoding.h:

(WebCore::KeyedDecoder::~KeyedDecoder):

4:52 PM Changeset in webkit [160879] by oliver@apple.com
  • 23 edits
    2 adds in trunk

DOM bindings should use thisValue for attributes
https://bugs.webkit.org/show_bug.cgi?id=126011

Reviewed by Antti Koivisto.

Source/WebCore:

Make all standard DOM attributes use the thisValue instead
of the slot object. This requires using a dynamic cast in
the attribute getters. Happily for normal uses this a single
indirect load and pointer compare, and we were already doing
it for many attributes.

Alas it's too expensive to do this on the window object still
due to the proxy indirection that intercepts global variable
access. I'll correct this in a follow on patch (bug 126013).

A number of custom getters have also been updated to use the
thisValue and full type checks.

This patch still leaves the index and generic named getters
on the slot based model as fixing these cases requires more
complicated changes.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
(WebCore::cssPropertyGetterCallback):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginElementPropertyGetter):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectConstructor):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::jsTestCustomNamedGetterConstructor):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
(WebCore::jsTestEventConstructorConstructor):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::jsTestEventTargetConstructor):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::jsTestExceptionName):
(WebCore::jsTestExceptionConstructor):

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::jsTestGenerateIsReachableConstructor):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
(WebCore::jsTestInterfaceConstructor):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::jsTestMediaQueryListListenerConstructor):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::jsTestNamedConstructorConstructor):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::jsTestNodeConstructor):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
(WebCore::jsTestObjConstructorStaticStringAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjStrictFloat):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
(WebCore::jsTestObjConstructor):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::jsTestOverloadedConstructorsConstructor):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsConstructor):

  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::jsattributeReadonly):
(WebCore::jsattributeConstructor):

  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::jsreadonlyConstructor):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::lengthGetter):

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::lengthGetter):

LayoutTests:

  • js/dom/dom-attributes-on-mismatch-type.html: Added.
  • js/dom/dom-attributes-on-mismatch-type-expected.txt: Added.
4:49 PM Changeset in webkit [160878] by mhahnenberg@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Put write barriers in the right places in the baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=125975

Reviewed by Filip Pizlo.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):
(JSC::JIT::emitArrayProfilingSite):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_enter):
(JSC::JIT::emitSlow_op_enter):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_enter):
(JSC::JIT::emitSlow_op_enter):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitGenericContiguousPutByVal):
(JSC::JIT::emitArrayStoragePutByVal):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitPutGlobalProperty):
(JSC::JIT::emitPutGlobalVar):
(JSC::JIT::emitPutClosureVar):
(JSC::JIT::emit_op_init_global_const):
(JSC::JIT::checkMarkWord):
(JSC::JIT::emitWriteBarrier):
(JSC::JIT::privateCompilePutByVal):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitGenericContiguousPutByVal):
(JSC::JIT::emitArrayStoragePutByVal):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitSlow_op_put_by_id):
(JSC::JIT::emitPutGlobalProperty):
(JSC::JIT::emitPutGlobalVar):
(JSC::JIT::emitPutClosureVar):
(JSC::JIT::emit_op_init_global_const):

  • jit/Repatch.cpp:

(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):
(JSC::repatchPutByID):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
4:48 PM Changeset in webkit [160877] by aestes@apple.com
  • 11 edits in trunk/Source

Remove WebFilterEvaluator wrappers from WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=126028

Reviewed by Anders Carlsson.

Source/WebCore:

It's overkill to pipe access to WebFilterEvaluator through
WebKitSystemInterface. Instead, include WebFilterEvaluator.h when it
exists and re-declare WebFilterEvaluator when it doesn't.

WebKitSystemInterface used to soft-link WebContentAnalysis.framework
since OS X 10.7 didn't contain this framework. Since we no longer
support 10.7, we can now directly link against the framework.

  • Configurations/WebCore.xcconfig: Add /System/Library/PrivateHeaders

to the system framework search path at both compile and link time so
that we can find WebContentAnalysis.framework.

  • WebCore.exp.in: Don't export removed symbols.
  • WebCore.xcodeproj/project.pbxproj: Added WebContentAnalysis.framework

to the 'Link Binary With Libraries' build phase.

  • platform/mac/ContentFilterMac.mm: Included WebFilterEvaluator.h when

it exists and re-declared WebFilterEvaluator when it doesn't.
(WebCore::ContentFilter::ContentFilter): Directly called a method on
m_platformContentFilter rather than going through WKSI.
(WebCore::ContentFilter::isEnabled): Ditto.
(WebCore::ContentFilter::addData): Ditto.
(WebCore::ContentFilter::finishedAddingData): Ditto.
(WebCore::ContentFilter::needsMoreData): Ditto.
(WebCore::ContentFilter::didBlockData): Ditto.

  • platform/mac/WebCoreSystemInterface.h: Removed function pointers for

calling into WKSI.

  • platform/mac/WebCoreSystemInterface.mm: Ditto.

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Don't INIT() removed function pointers.

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Don't INIT() removed function pointers.

4:42 PM Changeset in webkit [160876] by Brent Fulgham
  • 5 edits in trunk

Implement ArrayBuffer.isView
https://bugs.webkit.org/show_bug.cgi?id=126004

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Test coverage in webgl/1.0.2/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::JSArrayBufferConstructor::finishCreation): Add 'isView' to object constructor.
(JSC::arrayBufferFuncIsView): New method.

LayoutTests:

  • webgl/1.0.2/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html:

Correct test for 'isView' to actually check for 'isView' function.

4:39 PM Changeset in webkit [160875] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test plugins/destroy-during-npp-new.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=126027

  • plugins/destroy-during-npp-new.html: Streamlined the test a little bit to see

what changes, if anything. There should be no effect on what is tested.

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

CStack Branch: Fix call operationStackCheck to check the proper stack
https://bugs.webkit.org/show_bug.cgi?id=126026

Unreviewed change suggested by Geoff Garen post landing.

Change from using codeBlock->stackPointerOffset to using codeBlock->frameRegisterCount()
to caclulate the needed stack space.

  • jit/JITOperations.cpp:
4:23 PM Changeset in webkit [160873] by matthew_hanson@apple.com
  • 4 edits in branches/safari-537.74-branch/Source/WebCore

Merge r159463: <rdar://problems/15701094>

4:22 PM Changeset in webkit [160872] by benjamin@webkit.org
  • 5 edits
    1 delete in trunk/Source/WebKit2

Remove WKContentViewPrivate.h, WKContentView.h is private now
https://bugs.webkit.org/show_bug.cgi?id=125981

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-19
Reviewed by Dan Bernstein.

There is no need for a separate header, WKContentView has become an implementation
detail of WKView.

  • UIProcess/API/ios/WKContentView.h:
  • UIProcess/API/ios/WKContentViewInternal.h:
  • UIProcess/API/ios/WKContentViewPrivate.h: Removed.
  • UIProcess/API/ios/WKView.mm:
4:22 PM Changeset in webkit [160871] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix call operationStackCheck to check the proper stack
https://bugs.webkit.org/show_bug.cgi?id=126026

Reviewed by Mark Lam.

Changed operationStackCheck() to check the appropriate stack based on the
compile flag ENABLE(LLINT_CLOOP).

  • jit/JITOperations.cpp:
4:14 PM Changeset in webkit [160870] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/LayoutTests

Merge r160826: <rdar://problems/15701133>

4:09 PM Changeset in webkit [160869] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix broken C loop LLINT build.
https://bugs.webkit.org/show_bug.cgi?id=126024.

Reviewed by Oliver Hunt.

  • runtime/VM.h:
4:05 PM Changeset in webkit [160868] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Source/WebCore

Merge r160791: <rdar://problems/15694289>

3:37 PM Changeset in webkit [160867] by msaboff@apple.com
  • 6 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix call eval in baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=126020

Reviewed by Geoffrey Garen.

Added code to properly set and restore the stack pointer around the call to
operationCallEval. Due to the state the stack is in when the exception check
in the call is done, I changed callOperationWithCallFrameRollbackOnException()
to be callOperationNoExceptionCheck() and check for an exception after the
caller's stack has been restored. Changed operationCallEval() to take a second
argument for the execCallee, given that we always pass the caller's exec as the
first arguement.

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileCallEval):
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITInlines.h:

(JSC::JIT::callOperationNoExceptionCheck):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
3:32 PM Changeset in webkit [160866] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r160515): Frequent assertion failures on printing/print-close-crash.html
https://bugs.webkit.org/show_bug.cgi?id=126014

Rolled out r160515 while Chris is investigating. Added FIXME comments in other
places where we use this pattern.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
(WebKit::WebChromeClient::print):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

3:24 PM Changeset in webkit [160865] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Test that text-decoration-skip: ink is the same as regular underlines if no descenders
https://bugs.webkit.org/show_bug.cgi?id=125985

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-19
Reviewed by Simon Fraser.

If there are no descenders in the underlined text, using the text-decoration-skip: ink
CSS property should behave as if it wasn't specified (and the underline is a normal one)

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-no-descenders-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-no-descenders.html: Added.
3:23 PM Changeset in webkit [160864] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style marks rvalue references as violations
https://bugs.webkit.org/show_bug.cgi?id=126000

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

Previously, check-webkit-style was making sure that any line with "&&" had
spaces around it. However, we can now legitimately use "&&" without a previous
space when declaring an rvalue reference. This patch relaxes this check.

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

(check_spacing):

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

(CppStyleTest.test_spacing_for_binary_ops):

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

check-webkit-style marks auto return types for functions as violations
https://bugs.webkit.org/show_bug.cgi?id=125999

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

If a function declaration ends with a "->" followed by a non whitespace
string, don't mark as an invalid "{" on its own line

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

(check_braces):

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

(CppStyleTest.test_brace_at_begin_of_line):

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

Add WebKit2 API for clearing the back-forward list
https://bugs.webkit.org/show_bug.cgi?id=126005

Patch by Ricky Mondello <Ricky Mondello> on 2013-12-19
Reviewed by Anders Carlsson.

  • UIProcess/API/C/WKBackForwardListRef.cpp:

(WKBackForwardListClear): Call through to the back-forward list's clear().

  • UIProcess/API/C/WKBackForwardListRef.h: Declare new API.
2:41 PM Changeset in webkit [160861] by Csaba Osztrogonác
  • 5 edits in trunk/Source/WebKit2

One more URTBF to make GTK build happy after r160853.

  • UIProcess/API/gtk/WebKitDownloadClient.cpp:
  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(didReceiveWebViewMessageFromInjectedBundle):

  • UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:

(webkitResponsePolicyDecisionCreate):

  • UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
2:08 PM Changeset in webkit [160860] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF for GTK after r160853.

  • GNUmakefile.list.am:
2:07 PM Changeset in webkit [160859] by alex.christensen@flexsim.com
  • 2 edits in trunk/Tools

[WinCairo] More GStreamer preparations.

Unreviewed.

  • WinLauncher/WinLauncher.vcxproj/WinLauncherCFLite.props:

Include FeatureDefinesCairo and WinCairo to compile the GLib part of WinLauncher.

2:04 PM Changeset in webkit [160858] by Lucas Forschler
  • 2 edits in trunk/Tools

Add Apple Mavericks perf bot.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
1:55 PM Changeset in webkit [160857] by matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.74-branch

Merge r160819: <rdar://problems/15701133>

1:52 PM Changeset in webkit [160856] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL build fix attempt after r160853

  • CMakeLists.txt: Change WebURLResponse.cpp to APIURLResponse.cpp.
1:38 PM Changeset in webkit [160855] by commit-queue@webkit.org
  • 6 edits in trunk

Final preparations for GStreamer on Windows.
https://bugs.webkit.org/show_bug.cgi?id=125958

Patch by Alex Christensen <achristensen@webkit.org> on 2013-12-19
Reviewed by Benjamin Poulain.

Source/WTF:

  • WTF.vcxproj/WTFDebugWinCairo.props:
  • WTF.vcxproj/WTFReleaseWinCairo.props:

Include WinCairo.props.

  • wtf/Platform.h:

Use GLib and GStreamer on WinCairo with video.

WebKitLibraries:

  • win/tools/vsprops/FeatureDefinesCairo.props:

Removed duplicate ENABLE_VIDEO_TRACK definition.

1:36 PM Changeset in webkit [160854] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Tools

Merge r160726

2013-12-17 Brent Fulgham <Brent Fulgham>

[Win] Revise filter-build-webkit to deal with Windows build logs
https://bugs.webkit.org/show_bug.cgi?id=125866

Reviewed by David Kilzer.

Enhance the script to accept a 'platform' argument. When platform
'win' is provided, use processing for the Windows build file format.
Otherwise, process the files as normal.

  • Scripts/filter-build-webkit: (usageAndExit): Add a 'platform' argument (shouldIgnoreLine): When platform == 'win' use the new Windows rules for processing the build file.
1:32 PM Changeset in webkit [160853] by weinig@apple.com
  • 10 edits
    2 moves in trunk/Source/WebKit2

[WK2] Rename WebURLResponse to API::URLResponse
https://bugs.webkit.org/show_bug.cgi?id=125910

Reviewed by Andreas Kling.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI):

  • Shared/API/c/WKURLResponse.cpp:

(WKURLResponseGetTypeID):

  • Shared/API/c/mac/WKURLResponseNS.mm:

(WKURLResponseCreateWithNSURLResponse):

  • Shared/APIURLRequest.cpp:
  • Shared/APIURLResponse.cpp: Copied from Source/WebKit2/Shared/WebURLResponse.cpp.

(API::URLResponse::URLResponse):
(API::URLResponse::encode):
(API::URLResponse::decode):

  • Shared/APIURLResponse.h: Copied from Source/WebKit2/Shared/WebURLResponse.h.

(API::URLResponse::create):

  • Shared/UserMessageCoders.h:

(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):

  • Shared/WebURLResponse.cpp: Removed.
  • Shared/WebURLResponse.h: Removed.
  • UIProcess/WebDownloadClient.cpp:

(WebKit::WebDownloadClient::didReceiveResponse):

  • UIProcess/WebPolicyClient.cpp:

(WebKit::WebPolicyClient::decidePolicyForResponse):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:

(WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):

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

Use CascadedProperties for page and keyframe style resolution as well.
<https://webkit.org/b/125997>

Port StyleResolver's styleForKeyframe() and styleForPage() over to
the new property cascading code. Neither of them care about !important
or matched properties caches, so the code is very simple.

Removed the old applyMatchedProperties and applyProperties code with
low/high priority passes.

Reviewed by Antti Koivisto.

12:42 PM Changeset in webkit [160851] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a failing test expectation to fast/dynamic/paused-event-dispatch.html
while I investigate.

11:49 AM Changeset in webkit [160850] by commit-queue@webkit.org
  • 15 edits in trunk

Unreviewed, rolling out r160842.
http://trac.webkit.org/changeset/160842
https://bugs.webkit.org/show_bug.cgi?id=126003

broke accessibility/loading-iframe-updates-axtree.html
(Requested by ap on #webkit).

Tools:

  • DumpRenderTree/AccessibilityUIElement.cpp:

(AccessibilityUIElement::makeJSAccessibilityUIElement):

  • DumpRenderTree/AccessibilityUIElement.h:

(AccessibilityUIElement::platformUIElement):

LayoutTests:

  • accessibility/deleting-iframe-destroys-axcache.html:
  • accessibility/loading-iframe-updates-axtree-expected.txt:
  • accessibility/loading-iframe-updates-axtree.html:
  • accessibility/non-data-table-cell-title-ui-element.html:
  • platform/gtk/accessibility/roles-exposed-expected.txt:
  • platform/gtk/accessibility/roles-exposed.html:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/accessibility/search-predicate-expected.txt:
  • platform/mac/accessibility/search-predicate.html:
  • platform/mac/accessibility/search-when-element-starts-in-table-expected.txt:
  • platform/mac/accessibility/search-when-element-starts-in-table.html:
11:42 AM Changeset in webkit [160849] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

tryAddEventListener uses local PassRefPtr<>
https://bugs.webkit.org/show_bug.cgi?id=126001

Reviewed by Daniel Bates.

  • dom/Node.cpp:

(WebCore::tryAddEventListener): Put PassRefPtr<EventListener> parameter into a local RefPtr

because it is sometimes used twice.

11:32 AM Changeset in webkit [160848] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

get_test_baseline should get Host from test_config
https://bugs.webkit.org/show_bug.cgi?id=125989

Patch by Dániel Bátyai <Dániel Bátyai> on 2013-12-19
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/tool/commands/rebaselineserver.py:

(TestConfig.init):
(RebaselineServer._prepare_config):

  • Scripts/webkitpy/tool/servers/rebaselineserver.py:

(get_test_baselines):

  • Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:

(get_test_config):

11:10 AM Changeset in webkit [160847] by rniwa@webkit.org
  • 9 edits
    2 adds in trunk

overflowchanged event could cause a crash
https://bugs.webkit.org/show_bug.cgi?id=125978

Reviewed by Tim Horton.

Source/WebCore:

Made the event asynchrnous by re-using Document's event queuing ability. Also removed
the infrastructure to queue up events in FrameView.

Test: fast/events/overflowchanged-inside-selection-collapse-crash.html

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):
(WebCore::Document::enqueueOverflowEvent):

  • dom/Document.h:
  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::~FrameView):
(WebCore::FrameView::layout):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::updateOverflowStatus):

  • page/FrameView.h:
  • rendering/RenderBlock.cpp:

(WebCore::OverflowEventDispatcher::~OverflowEventDispatcher):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollRectToVisible):

  • rendering/RenderMarquee.cpp:

(WebCore::RenderMarquee::start):

LayoutTests:

Add a regression test.

  • fast/events/overflowchanged-inside-selection-collapse-crash-expected.txt: Added.
  • fast/events/overflowchanged-inside-selection-collapse-crash.html: Added.
11:10 AM Changeset in webkit [160846] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Don't check VSINSTALLDIR when looking for Visual Studio install directory.
https://bugs.webkit.org/show_bug.cgi?id=125998.

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitdirs.pm:

(visualStudioInstallDir):
Get rid of the VSINSTALLDIR check. We can't build on anything besides VS2013 now anyways.

10:58 AM Changeset in webkit [160845] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the Windows build after <http://trac.webkit.org/changeset/160841>
(https://bugs.webkit.org/show_bug.cgi?id=125879)

Add ENABLE(CACHE_PARTITIONING)-guard around call to ResourceRequest::setCachePartition()
as this function is only compiled when building with cache partitioning enabled.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::addImageToCache):

10:46 AM Changeset in webkit [160844] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Upstream WebCore/accessibility changes
https://bugs.webkit.org/show_bug.cgi?id=125925

Reviewed by Chris Fleizach.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::visiblePositionForPoint): Opt out of code when building for iOS.

10:25 AM Changeset in webkit [160843] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[WinCairo] Compile fix for VS2013 when using ACCELERATED_COMPOSITING.
https://bugs.webkit.org/show_bug.cgi?id=124866

Patch by Alex Christensen <achristensen@webkit.org> on 2013-12-19
Reviewed by Darin Adler.

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::TiledBackingStore):

  • platform/graphics/TiledBackingStore.h:

Added constructor overload to avoid compile errors
from using MSVC's make_unique as a default parameter.

10:14 AM Changeset in webkit [160842] by mario.prada@samsung.com
  • 15 edits in trunk

[ATK] [WK2] platform/gtk/accessibility/roles-exposed.html is failing
https://bugs.webkit.org/show_bug.cgi?id=125854

Reviewed by Chris Fleizach.

Tools:

Ensure we don't ever create instances of AccessibilityUIElement
wrapping invalid platform-specific accessibility objects in DRT,
both for consistency with what WKTR does (so we avoid situations
where some tests fail in WK2 and not in WK1) and also to avoid
overlooking tests that might not be checking the right thing.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(AccessibilityUIElement::makeJSAccessibilityUIElement): Return a
nullPtr if the platformUIElement() is not a valid one.

  • DumpRenderTree/AccessibilityUIElement.h:

(AccessibilityUIElement::platformUIElement): Added const modifier.

LayoutTests:

Updated tests and expectations to keep them passing after the
change done in DRT, without changing their actual purpose.

  • platform/gtk/accessibility/roles-exposed.html: Make sure we

print "AXRole: (no element)" when accessibilityElementByID() does
not return a valid object, not to confuse it with cases where the
returned string for the role is an empty string.

  • platform/gtk/accessibility/roles-exposed-expected.txt: Update

test expectations to reflect the "AXRole: (no element)" string
that is now being exposed. Also, replace the (wrongly added) PASS
expectations with FAIL for rowgroups, which are currently not
being exposed for ATK either.

  • accessibility/deleting-iframe-destroys-axcache.html: Just

consider the first and third sons of the accessibility object for
the body (instead of the grandsons), so the test can run both in
Mac, where sons and grandsons are exposed, and ATK, where only
sons are exposed (no StaticText objects exposed there).

  • accessibility/non-data-table-cell-title-ui-element.html: Use

accessibilityElementById() to get the accessibility object for the
"skip" table header instead of navigating with childAtIndex(),
since the hierarchy is not the same for Mac and ATK based ports.

  • accessibility/loading-iframe-updates-axtree.html: Use the new

web area inside the iframe to compare against the old one, instead
of doing it the other way around, to avoid calling isEqual for an
undefined value (the old web area).

  • accessibility/loading-iframe-updates-axtree-expected.txt:

Removed line comparing the old and new web areas inside the iframe.

  • platform/mac/accessibility/search-predicate.html: Do not rely on

shouldBe() together with the string "AXRole: " when asking for the
role of objects that should no longer be in the accessibility
tree, and use shouldBeUndefined() instead.

  • platform/mac/accessibility/search-when-element-starts-in-table.html: Ditto.
  • platform/mac/accessibility/search-predicate-expected.txt: Update

expectations according to the usage of shouldBeUndefined().

  • platform/mac/accessibility/search-when-element-starts-in-table-expected.txt: Ditto.
  • platform/mac-wk2/TestExpectations: Add search-when-element-starts-in-table.html

here, since it does not return an undefined object in WebKit2 when
the search query should return no results (see bug 125996).

10:10 AM Changeset in webkit [160841] by dbates@webkit.org
  • 35 edits in trunk/Source/WebCore

[iOS] Upstream WebCore/loader changes
https://bugs.webkit.org/show_bug.cgi?id=125879

Reviewed by Darin Adler.

  • WebCore.exp.in: Added symbols for MemoryCache::{addImageToCache, removeImageFromCache}().
  • loader/DocumentLoader.cpp:

(WebCore::areAllLoadersPageCacheAcceptable): Added.
(WebCore::DocumentLoader::DocumentLoader): Initialize m_subresourceLoadersArePageCacheAcceptable.
(WebCore::DocumentLoader::stopLoading): Modified to conditionally call areAllLoadersPageCacheAcceptable().
(WebCore::DocumentLoader::handleSubstituteDataLoadSoon): Modified to query FrameLoader::loadsSynchronously()
whether to load substitute data immediately or to schedule a load.
(WebCore::DocumentLoader::responseReceived): Modified to create a content filer when the response protocol
is either HTTP or HTTPS, assuming content filtering is enabled.
(WebCore::DocumentLoader::dataReceived): Modified to call DocumentLoader::setContentFilterForBlockedLoad()
as appropriate.
(WebCore::DocumentLoader::clearMainResourceLoader): Added PLATFORM(IOS)-guarded code. Also added a
FIXME comment to remove the PLATFORM(IOS)-guard once we upstream the iOS changes to ResourceRequest.h.
(WebCore::DocumentLoader::setResponseMIMEType): Added; guard by PLATFORM(IOS). Also added FIXME comment.
(WebCore::DocumentLoader::startLoadingMainResource): Added PLATFORM(IOS)-guarded code. Also added a
FIXME comment to remove the PLATFORM(IOS)-guard once we upstream the iOS changes to ResourceRequest.h.
I also substituted static NeverDestroyed<> for DEFINE_STATIC_LOCAL.
(WebCore::DocumentLoader::setContentFilterForBlockedLoad): Added; guarded by USE(CONTENT_FILTERING).
(WebCore::DocumentLoader::handleContentFilterRequest): Added; guarded by USE(CONTENT_FILTERING) and PLATFORM(IOS).
Also added a FIXME comment to remove the PLATFORM(IOS) guard inside its function body once we upstream
file ContentFilterIOS.mm and implement ContentFilter::requestUnblockAndDispatchIfSuccessful() for Mac.

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::setResponse): Added; guard by PLATFORM(IOS). Also added a FIXME comment as
this method seems to violate the encapsulation of DocumentLoader.
(WebCore::DocumentLoader::subresourceLoadersArePageCacheAcceptable): Added.
(WebCore::DocumentLoader::documentURL): Added; returns the URL of the document resulting from the DocumentLoader.

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::createDocument): Added iOS-specific code to create a PDF document.

  • loader/EmptyClients.cpp:

(WebCore::EmptyChromeClient::openDateTimeChooser): Opt out of compiling this code for iOS. Also substituted
nullptr for 0.

  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
(WebCore::FrameLoader::FrameLoader): Initialize m_loadsSynchronously.
(WebCore::FrameLoader::initForSynthesizedDocument): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
(WebCore::FrameLoader::checkCompleted): Added iOS-specific code with FIXME comment.
(WebCore::FrameLoader::willLoadMediaElementURL): Added iOS-specific code.
(WebCore::FrameLoader::stopForUserCancel): Added iOS-specific code and FIXME comment.
(WebCore::FrameLoader::commitProvisionalLoad): Added iOS-specific code and FIXME comment.
(WebCore::FrameLoader::transitionToCommitted): Opt out of ENABLE(TOUCH_EVENTS) logic when building for iOS.
(WebCore::FrameLoader::didFirstLayout): Added iOS-specific code.
(WebCore::FrameLoader::connectionProperties): Added; guarded by PLATFORM(IOS).
(WebCore::createWindow): Added iOS-specific code and FIXME comment.

  • loader/FrameLoader.h:

(WebCore::FrameLoader::setLoadsSynchronously): Added.
(WebCore::FrameLoader::loadsSynchronously): Added.

  • loader/FrameLoaderClient.h:
  • loader/HistoryController.cpp:

(WebCore::HistoryController::restoreScrollPositionAndViewState): Opt out of scroll position logic when building for iOS.
(WebCore::HistoryController::replaceCurrentItem): Added.

  • loader/HistoryController.h:
  • loader/PlaceholderDocument.h: Changed access control of constructor from private to protected and removed the FINAL

keyword from the class so that we can subclass PlaceholderDocument on iOS.

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy): Added USE(QUICK_LOOK)- and USE(CONTENT_FILTERING)-guarded code.

  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::shouldUsePurgeableMemory): Added; guarded by PLATFORM(IOS).

  • loader/ResourceBuffer.h:
  • loader/ResourceLoadNotifier.cpp:

(WebCore::ResourceLoadNotifier::dispatchWillSendRequest): Added USE(QUICK_LOOK)-guarded code.

  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): Added iOS-specific code.
(WebCore::ResourceLoadScheduler::scheduleLoad): Ditto.
(WebCore::ResourceLoadScheduler::remove): Added iOS-specific code with FIXME comment.
(WebCore::ResourceLoadScheduler::crossOriginRedirectReceived): Added null-check for variable oldHost. Also added
iOS-specific code.
(WebCore::ResourceLoadScheduler::servePendingRequests): Added iOS-specific code.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::init): Ditto.
(WebCore::ResourceLoader::willSendRequest): Ditto.
(WebCore::ResourceLoader::connectionProperties): Added; guarded by PLATFORM(IOS).

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::startLoading): Added; guarded by PLATFORM(IOS).
(WebCore::ResourceLoader::iOSOriginalRequest): Added; iOS-specific.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadPlugin): Added iOS-specific code.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::create): Ditto.
(WebCore::SubresourceLoader::startLoading): Added; guarded by PLATFORM(IOS).
(WebCore::SubresourceLoader::didFinishLoading): Added iOS-specific code.
(WebCore::SubresourceLoader::willCancel): Ditto.
(WebCore::SubresourceLoader::notifyDone): Ditto.
(WebCore::SubresourceLoader::releaseResources): Ditto.

  • loader/SubresourceLoader.h:
  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::loadCacheGroup): Added iOS-specific code.
(WebCore::ApplicationCacheStorage::loadManifestHostHashes): Ditto.
(WebCore::ApplicationCacheStorage::cacheGroupForURL): Ditto.
(WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto.
(WebCore::ApplicationCacheStorage::calculateQuotaForOrigin): Ditto.
(WebCore::ApplicationCacheStorage::calculateUsageForOrigin): Ditto.
(WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache): Ditto.
(WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin): Ditto.
(WebCore::ApplicationCacheStorage::executeSQLCommand): Ditto.
(WebCore::ApplicationCacheStorage::verifySchemaVersion): Ditto.
(WebCore::ApplicationCacheStorage::openDatabase): Ditto.
(WebCore::ApplicationCacheStorage::executeStatement): Ditto.
(WebCore::ApplicationCacheStorage::store): Ditto.
(WebCore::ApplicationCacheStorage::storeUpdatedType): Ditto.
(WebCore::ApplicationCacheStorage::ensureOriginRecord): Ditto.
(WebCore::ApplicationCacheStorage::loadCache): Ditto.
(WebCore::ApplicationCacheStorage::remove): Ditto.
(WebCore::ApplicationCacheStorage::empty): Ditto.
(WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
(WebCore::ApplicationCacheStorage::manifestURLs): Ditto.
(WebCore::ApplicationCacheStorage::cacheGroupSize): Ditto.
(WebCore::ApplicationCacheStorage::deleteCacheGroup): Ditto.
(WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Ditto.

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::CachedImage): Added.
(WebCore::CachedImage::imageSizeForRenderer): Added iOS-specific code.
(WebCore::CachedImageManual::CachedImageManual): Added; guarded by USE(CF). Also added FIXME comment to incorporate
the functionality of this class into CachedImage and to remove the USE(CF)-guard once we make MemoryCache::addImageToCache()
platform-independent.
(WebCore::CachedImageManual::mustRevalidateDueToCacheHeaders): Added; guarded by USE(CF).

  • loader/cache/CachedImage.h: Removed FINAL keyword from class so that we can define derived class CachedImageManual.

(WebCore::CachedImage::isManual): Added; guarded by USE(CF). Also added FIXME comment.
(WebCore::CachedImageManual::addFakeClient): Added; guarded by USE(CF).
(WebCore::CachedImageManual::removeFakeClient): Added; guarded by USE(CF).

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load): Added iOS-specific code.

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::loadDone): Added argument shouldPerformPostLoadActions, defaults to true. Modified
to conditionally call performPostLoadActions() with respect to the argument shouldPerformPostLoadActions.
(WebCore::CachedResourceLoader::preload): Added iOS-specific code.
(WebCore::CachedResourceLoader::checkForPendingPreloads): Ditto.

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::memoryCache):
(WebCore::MemoryCache::add): Added iOS-specific code.
(WebCore::MemoryCache::revalidationFailed): Ditto.
(WebCore::MemoryCache::resourceForRequest): Ditto.
(WebCore::MemoryCache::addImageToCache): Added; guarded by USE(CF). Also added FIXME comment.
(WebCore::MemoryCache::removeImageFromCache): Added; guarded by USE(CF). Also added FIXME comment.
(WebCore::MemoryCache::pruneLiveResources): Modified to take argument shouldDestroyDecodedDataForAllLiveResources.
(WebCore::MemoryCache::pruneLiveResourcesToSize): Modified to take argument shouldDestroyDecodedDataForAllLiveResources,
defaults to false. When this argument is true we destroy the decoded data for all live resources from the memory cache.
Such functionality is useful when the system is running low on memory.
(WebCore::MemoryCache::evict): Added iOS-specific code.

  • loader/cache/MemoryCache.h:
  • loader/cf/SubresourceLoaderCF.cpp:

(WebCore::SubresourceLoader::didReceiveDataArray): Actually make this code compile. In particular, there is no
method called sendDataToResource on SubresourceLoader or in its class hierarchy.

  • loader/mac/DocumentLoaderMac.cpp:

(WebCore::DocumentLoader::schedule): This method has an empty implementation when building for iOS.
(WebCore::DocumentLoader::unschedule): Ditto.

  • platform/graphics/BitmapImage.h: Exposed decodedSize() to access the decoded size of the bitmap image.

This functionality is used in MemoryCache::addImageToCache().

10:03 AM Changeset in webkit [160840] by ap@apple.com
  • 2 edits in trunk/LayoutTests

platform/mac/editing/attributed-string tests all flakily assert
https://bugs.webkit.org/show_bug.cgi?id=123029

  • platform/mac/TestExpectations: Marked as flakily asserting.
9:51 AM Changeset in webkit [160839] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for platforms which do not define -[AVSampleBufferAudioRenderer muted].
Rubber-stamped by Eric Carlson.

To work around platforms with broken AVSampleBufferAudioRenderer headers, just
declare only those functions we need, and update isAvalable to bail out early if
those methods are not present.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
9:50 AM Changeset in webkit [160838] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

WTF, JavaScriptCore fails to build with trunk clang: operators new, new[],
delete, delete[] cannot be declared inline
https://bugs.webkit.org/show_bug.cgi?id=124186
<rdar://problem/15644039>

Reviewed by Geoffrey Garen and Anders Carlsson.

Following <http://llvm.org/viewvc/llvm-project?view=revision&revision=193044>
(http://llvm.org/bugs/show_bug.cgi?id=17591>), Clang emits warnings when
operator new, delete are inlined. Such definitions cannot be inline per
replacement.functions (17.6.4.6/3) of the C++ standard. For now,
disable these warnings instead of exporting these functions.

  • wtf/FastMalloc.h:
9:40 AM Changeset in webkit [160837] by Darin Adler
  • 5 edits in trunk/Source/WebCore

Improve "bad parent" and "bad child list" assertions in line boxes
https://bugs.webkit.org/show_bug.cgi?id=125656

Reviewed by Sam Weinig.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::root): Use parent() function with assertions rather than
using m_parent function, which skips the assertions.

  • rendering/RenderText.cpp:

(WebCore::RenderText::removeAndDestroyTextBoxes): Call invalidateParentChildLists
if we are in the optimized document-destruction code path and destroying children
without removing them from their parents.

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::invalidateParentChildLists): Added.

  • rendering/RenderTextLineBoxes.h: Added invalidateParentChildLists.
9:32 AM Changeset in webkit [160836] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

<rdar://problem/15696824> [CFNetwork] Loading stops at server redirects
https://bugs.webkit.org/show_bug.cgi?id=125984

Reviewed by Anders Carlsson.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::willSendRequest): If the client uses async callbacks, call its
willSendRequestAsync callback instead if willSendRequest.

9:22 AM Changeset in webkit [160835] by ggaren@apple.com
  • 21 edits in branches/jsCStack/Source/JavaScriptCore

Clarified stack maintainence code
https://bugs.webkit.org/show_bug.cgi?id=125979

Reviewed by Phil Pizlo.

Our idiom is:

  • frameRegisterCount() is the distance between BP and SP
  • stackPointerOffset() is frameRegisterCount() converted to a stack offset
  • Stack checks don't need to check the stack used by C helper functions, since our reserved host zone will cover that.
  • assembler/MaxFrameExtentForSlowPathCall.h: Reverted some pieces of

<http://trac.webkit.org/changeset/160745>. We don't consider our
callee's saved PC and BP a part of our stack frame because they lie
beneath our SP.

  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:

(JSC::CodeBlock::stackPointerOffset): New helper function. Lots of
callers were duplicating this, so I made a helper function.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::parseBlock): Fixed a bug in the calculation
of m_parameterSlots. Within our stack frame, we don't reserve space for
our callee's saved PC and BP, so we don't need to add them to
m_parameterSlots.

  • dfg/DFGGraph.cpp:
  • dfg/DFGGraph.h:

(JSC::DFG::Graph::stackPointerOffset): New helper function. Lots of
callers were duplicating this, so I made a helper function.

  • dfg/DFGJITCompiler.cpp:

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

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::adjustAndJumpToTarget):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::topOfFrameInternal): Use the new helper function, so
everybody calculates SP the same way. This removes the two idiosyncratic
places that reserved extra space for our callee's CallerFrameAndPCSize.

  • interpreter/JSStack.h:
  • interpreter/JSStackInlines.h:

(JSC::JSStack::entryCheck):
(JSC::JSStack::pushFrame):
(JSC::JSStack::grow): Changed the interface here to accept a top-of-stack
pointer instead of a past-the-end pointer. The engine no longer computes
a past-the-end pointer, so this is more convenient.

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):
(JSC::JIT::stackPointerOffsetFor): Use the helper function, fixing a bug
where, incorrectly, we subtracted out maxFrameExtentForSlowPathCall.

  • jit/JIT.h:
  • jit/JITCall.cpp:

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

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOperations.cpp: Use the helper function, so everybody does this

calculation the same way.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions): Reverted some pieces of
<http://trac.webkit.org/changeset/160745>, as above.

  • llint/LLIntEntrypoint.cpp:
  • llint/LLIntEntrypoint.h:

(JSC::LLInt::stackPointerOffsetFor): Helper function, as above.

  • llint/LowLevelInterpreter.asm: Reverted some pieces of

<http://trac.webkit.org/changeset/160745>, as above.

9:11 AM Changeset in webkit [160834] by Hugo Parente Lima
  • 2 edits in trunk/Source/WTF

WTF fails to compile with gcc 4.8.2 and -Werror=array-bounds
https://bugs.webkit.org/show_bug.cgi?id=125936

Reviewed by Anders Carlsson.

  • wtf/dtoa/double-conversion.cc: Use a unsigned instead of int on buffer_pos type.
8:30 AM Changeset in webkit [160833] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Regressions in WebView's contentScaleFactor/contentPosition
https://bugs.webkit.org/show_bug.cgi?id=125943

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-19
Reviewed by Noam Rosenthal.

When WebView::pageDidRequestScroll is called it is scaling position requested
to scroll before store it as contentPosition, that is not necessary since WebView
already stores the requested contentScaleFactor so it's able to do that internally
when needed, what simplifies the API and improves the readability of webview's code.
This patch reverts changes from https://bugs.webkit.org/show_bug.cgi?id=118548, which
was causing some regressions in contentScaleFactor/contentPosition related stuff.
Besides that WebView::pageDidRequestScroll calls viewClient callback with the wrong
position (different from the position stored in WebView).

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::scrollBy):

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::transformToScene):
(WebKit::WebView::updateViewportSize):
(WebKit::WebView::pageDidRequestScroll):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::setViewportPosition):

8:21 AM Changeset in webkit [160832] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Delete RVCT related code parts.
https://bugs.webkit.org/show_bug.cgi?id=125626

Patch by Peter Szanka <h868064@stud.u-szeged.hu> on 2013-12-19
Reviewed by Csaba Osztrogonác.

  • wtf/Compiler.h: follow-up fix for r160648, remove an unnecessary comment.
7:48 AM Changeset in webkit [160831] by msaboff@apple.com
  • 10 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Remove "AndAlloc" from sizeAndAllocFrameForVarargs and friends
https://bugs.webkit.org/show_bug.cgi?id=125980

Reviewed by Mark Lam.

Renamed sizeAndAllocFrameForVarargs to sizeFrameForVarargs along with
removing "and alloc" from all related callers. This was done because
sizeAndAllocFrameForVarargs, didn't really allocate but just sized the
new call frame.

  • interpreter/Interpreter.cpp:

(JSC::sizeFrameForVarargs):

  • interpreter/Interpreter.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileLoadVarargs):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileLoadVarargs):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
7:24 AM Changeset in webkit [160830] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

CascadedProperties: Deferred properties should have inline capacity.
<https://webkit.org/b/125994>

Give CascadedProperties::m_deferredProperties an inline capacity
of 8 to sidestep malloc churn (0.2% of HTML5-8266 profile.)

Reviewed by Antti Koivisto.

5:59 AM Changeset in webkit [160829] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Two small refinements to matched properties cache.
<https://webkit.org/b/125992>

  • Avoid computing the matched properties hash if we're banned from using the cache anyway.
  • When adding a new entry to the cache, use move semantics to avoid creating a transient copy of all the data.

Reviewed by Antti Koivisto.

4:15 AM Changeset in webkit [160828] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

CascadedProperties should use a bitset to track property presence.
<https://webkit.org/b/125991>

Avoid zeroing out a bunch of memory in the CascadedProperties ctor
by using a bitset to track whether each property is present in the
cascaded set.

Reviewed by Antti Koivisto.

1:20 AM Changeset in webkit [160827] by Seokju Kwon
  • 2 edits in trunk/Source/WebCore

Web Inspector: Fix description of parameters in Page.setGeolocationOverride
https://bugs.webkit.org/show_bug.cgi?id=125983

Reviewed by Joseph Pecoraro.

No new tests, no changes in behavior.

  • inspector/protocol/Page.json:

Dec 18, 2013:

11:19 PM Changeset in webkit [160826] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Rebaseline the test I added in r160819.

  • svg/text/select-text-inside-non-static-position-expected.txt:
11:01 PM Changeset in webkit [160825] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[MSE][Mac] Add AVSampleBufferRendererSynchronizer support.
https://bugs.webkit.org/show_bug.cgi?id=125954

Reviewed by NOBODY (OOPS!).

Instead of slaving all the various renderer's CMTimebases to one master timebase,
use AVSampleBufferRenderSynchronizer, which essentially does the same thing.

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

(WebCore::CMTimebaseEffectiveRateChangedCallback): Added; call effectiveRateChanged().
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): Set up

the synchronizer and all the observers.

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC): Tear down

the same.

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable): Require the

AVSampleBufferRenderSynchronizer class.

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): Convert Clock -> Synchronizer.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::destroyLayer): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::effectiveRateChanged): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer): Ditto.

Drive-by fix; audio samples can't be subdivided, and video samples are
rarely combined, so remove the call to CMSampleBufferCallForEachSample:

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

(WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackID):

10:12 PM Changeset in webkit [160824] by mark.lam@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Rename functions in JSStack to fit WebKit Coding Style.
https://bugs.webkit.org/show_bug.cgi?id=125974.

Reviewed by Filip Pizlo.

This is a purely cosmetic change. There are no semantic changes.

  • interpreter/JSStack.cpp:

(JSC::JSStack::JSStack):
(JSC::JSStack::gatherConservativeRoots):
(JSC::JSStack::sanitizeStack):

  • interpreter/JSStack.h:

(JSC::JSStack::baseOfStack):

  • interpreter/JSStackInlines.h:

(JSC::JSStack::topOfFrameFor):
(JSC::JSStack::topOfStack):
(JSC::JSStack::startOfFrameFor):
(JSC::JSStack::entryCheck):
(JSC::JSStack::pushFrame):
(JSC::JSStack::popFrame):
(JSC::JSStack::shrink):
(JSC::JSStack::installFence):
(JSC::JSStack::validateFence):
(JSC::JSStack::installTrapsAfterFrame):

8:47 PM Changeset in webkit [160823] by alex.christensen@flexsim.com
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Unreviewed build fix after r160798.

  • win/tools/vsprops/FeatureDefinesCairo.props:

Removed ENABLE_MEDIA_CONTROLS_SCRIPT definition for now.

8:30 PM Changeset in webkit [160822] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DelayedReleaseScope is in the wrong place
https://bugs.webkit.org/show_bug.cgi?id=125876

Reviewed by Geoffrey Garen.

The DelayedReleaseScope needs to be around the free list sweeping in MarkedAllocator::tryAllocateHelper.
This location gives us a good safe point between getting ready to allocate (i.e. identifying a non-empty
free list) and doing the actual allocation (popping the free list).

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::allocateSlowCase):
(JSC::MarkedAllocator::addBlock):

  • runtime/JSCellInlines.h:

(JSC::allocateCell):

7:48 PM Changeset in webkit [160821] by mark.lam@apple.com
  • 8 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Fix baseline to DFG JIT OSR.
https://bugs.webkit.org/show_bug.cgi?id=125969.

Reviewed by Filip Pizlo.

  1. Change operationOptimize() to return a tuple of OSR target address and new topOfFrame value (as opposed to just the OSR target address).
  2. Change emitEnterOptimizationCheck() and emitSlow_op_loop_hint() to emit code to set the stackPointer with the returned topOfFrame value if we take the OSR path.
  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • runtime/Options.h:
7:13 PM Changeset in webkit [160820] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

CSS: Fall back to cache-less cascade when encountering explicitly inherited value.
<https://webkit.org/b/125968>

When encountering an explicitly inherited value for a property that's not
"statically inherited", drop out of the matched properties cache path
immediately instead of waiting for some coincidence to trigger it later on.

Fixes 3 asserting table tests:

  • fast/table/border-collapsing/cached-69296.html
  • tables/mozilla/bugs/bug27038-3.html
  • tables/mozilla_expected_failures/marvin/backgr_border-table-row-group.html

Reviewed by Antti Koivisto.

7:09 PM Changeset in webkit [160819] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

Crash in WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches
https://bugs.webkit.org/show_bug.cgi?id=125970

Reviewed by Antti Koivisto.

Source/WebCore:

The bug was caused by containingBlockForAbsolutePosition returning a non-RenderBlock render object.
Fixed the bug by obtaining its containg block.

Also changed the return type of containingBlockForFixedPosition, containingBlockForAbsolutePosition,
containingBlockForObjectInFlow from RenderElement to RenderBlock as all callers of these functions
had assumed the return value to be an instance of RenderBlock.

Test: svg/text/select-text-inside-non-static-position.html

  • rendering/LogicalSelectionOffsetCaches.h:

(WebCore::containingBlockForFixedPosition):
(WebCore::containingBlockForAbsolutePosition):
(WebCore::containingBlockForObjectInFlow):
(WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):

LayoutTests:

Added a regression test.

  • svg/text/select-text-inside-non-static-position-expected.txt: Added.
  • svg/text/select-text-inside-non-static-position.html: Added.
6:33 PM Changeset in webkit [160818] by timothy_horton@apple.com
  • 15 edits
    3 adds in trunk/Source/WebKit2

WebKit2 View Gestures: Move WebProcess-side geometry collection into its own class
https://bugs.webkit.org/show_bug.cgi?id=125967

Reviewed by Anders Carlsson.

Move the messages dispatched by ViewGestureController that grab geometry
from the WebProcess out of the DrawingArea and into ViewGestureGeometryCollector.
This class will grow when smart magnification is implemented.

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

Remove BeginTransientZoom() message.

  • DerivedSources.make:
  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/mac/ViewGestureController.cpp:

(WebKit::ViewGestureController::didCollectGeometryForMagnificationGesture):
(WebKit::ViewGestureController::handleMagnificationGesture):

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureController.messages.in:

Make use of ViewGestureGeometryCollector and rename didBeginTransientZoom to didCollectGeometryForMagnificationGesture.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp: Added.

(WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector):
(WebKit::ViewGestureGeometryCollector::~ViewGestureGeometryCollector):
(WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):

  • WebProcess/WebPage/ViewGestureGeometryCollector.h: Added.
  • WebProcess/WebPage/ViewGestureGeometryCollector.messages.in: Added.

Move the code to collect the visible content rect and return it to the ViewGestureController into its own class.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/WebPage/WebPage.h:

Move m_pageID to the top of WebPage's initialization list so that
it can be safely used from other members' constructors.

Add a ViewGestureGeometryCollector member and construct it.

6:29 PM Changeset in webkit [160817] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Don't waste cycles on zeroing every CascadedProperties::Property.
<https://webkit.org/b/125966>

The CascadedProperties constructor already zeroes out the whole
property array. Move the memset() to setDeferred() which is the only
other place we create a Property.

Brought to you by Instruments.app. Profile your code today!

Reviewed by Antti Koivisto.

6:22 PM Changeset in webkit [160816] by Gustavo Noronha Silva
  • 4 edits in trunk/Source

Unreviewed cmake build fix for GTK+.

Source/WebKit:

  • PlatformGTK.cmake: add missing include directory.

Source/WebKit2:

  • PlatformGTK.cmake: fix paths for files that were moved.
6:21 PM Changeset in webkit [160815] by msaboff@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Stop threading callFrameRegister through LLIntSlowCalls
https://bugs.webkit.org/show_bug.cgi?id=125964

Reviewed by Geoffrey Garen.

Removed the general restoring of the call frame registers (cfr) after the return
from a LLInt slow calls. In most cases, the "exec" value of the LLInt slow
path return pair is set to 0. For llint_slow_path_call/construct and
llint_slow_path_size_and_alloc_frame_for_varargs the execCallee is returned in
the "exec" value. When an exception happens in a slow path handler we return 0,
because the llint_throw_from_slow_path_trampoline path will properly unwind by
making a slow call that will invoke genericUnwind() to do the real unwinding.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
5:55 PM Changeset in webkit [160814] by hmuller@adobe.com
  • 4 edits in trunk/Source/WebCore

[CSS Shapes] Simplify the BoxShape implementation
https://bugs.webkit.org/show_bug.cgi?id=125548

Reviewed by Andreas Kling.

Reduce BoxShape's footprint by about 2/3rds. Instead of caching the
FloatRoundedRects which represent a BoxShape's shape-padding and shape-margin
boundaries, compute them as needed.

No new tests, this is just an internal refactoring.

  • rendering/shapes/BoxShape.cpp:

(WebCore::BoxShape::shapeMarginLogicalBoundingBox): Now just computes the bounding box rect.
(WebCore::BoxShape::shapePaddingLogicalBoundingBox): Ditto.
(WebCore::BoxShape::shapeMarginBounds): Removed the caching logic.
(WebCore::BoxShape::shapePaddingBounds): Ditto.
(WebCore::BoxShape::getExcludedIntervals): Use the computed margin bounds, instead of the cached one.
(WebCore::BoxShape::getIncludedIntervals): Ditto (padding bounds).

  • rendering/shapes/BoxShape.h:

(WebCore::BoxShape::BoxShape): Simplified the constructor.

  • rendering/shapes/Shape.cpp:

(WebCore::createBoxShape):
(WebCore::Shape::createShape):

5:39 PM Changeset in webkit [160813] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

MessageReceiverMap::addMessageReceiver should assert that destinationID is not zero
https://bugs.webkit.org/show_bug.cgi?id=125965

Reviewed by Tim Horton.

  • Platform/CoreIPC/MessageReceiverMap.cpp:

(CoreIPC::MessageReceiverMap::addMessageReceiver):

5:35 PM Changeset in webkit [160812] by Gustavo Noronha Silva
  • 5 edits in trunk

[GTK][CMake] make libjavascriptcoregtk a public shared library again
https://bugs.webkit.org/show_bug.cgi?id=125512

Reviewed by Martin Robinson.

.:

  • CMakeLists.txt: make JavaScriptCore always be a shared library for the GTK+ port.
  • Source/cmake/WebKitHelpers.cmake: make -fvisibility=hidden not be applied for GTK+,

visibility of some symbols is required for threading to be initialized properly by
WebKit2 processes, and we will rely on a linker script that will be added later on,
for production builds.

Source/JavaScriptCore:

  • CMakeLists.txt: use target type instead of SHARED_CORE to decide whether

JavaScriptCore is a shared library, since it's always shared for GTK+ regardless
of SHARED_CORE.

5:22 PM Changeset in webkit [160811] by andersca@apple.com
  • 12 edits in trunk

Deprecate some WKMutableDictionary functions
https://bugs.webkit.org/show_bug.cgi?id=125962

Reviewed by Tim Horton.

Source/WebKit2:

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKDictionaryIsMutable):
(WKDictionaryAddItem):
(WKDictionaryRemoveItem):

  • Shared/API/c/WKMutableDictionary.cpp:
  • Shared/API/c/WKMutableDictionary.h:

Tools:

  • TestWebKitAPI/PlatformUtilities.cpp:

(TestWebKitAPI::Util::createInitializationDictionaryForInjectedBundleTest):

  • TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp:

(TestWebKitAPI::didAssociateFormControls):

  • TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp:

(TestWebKitAPI::WillLoadTest::willLoadURLRequest):
(TestWebKitAPI::WillLoadTest::willLoadDataRequest):

  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::createMouseMessageBody):
(WTR::EventSendingController::mouseMoveTo):
(WTR::EventSendingController::leapForward):
(WTR::createKeyDownMessageBody):
(WTR::EventSendingController::mouseScrollBy):
(WTR::EventSendingController::continuousMouseScrollBy):
(WTR::EventSendingController::addTouchPoint):
(WTR::EventSendingController::updateTouchPoint):
(WTR::EventSendingController::setTouchModifier):
(WTR::EventSendingController::setTouchPointRadius):
(WTR::EventSendingController::touchStart):
(WTR::EventSendingController::touchMove):
(WTR::EventSendingController::touchEnd):
(WTR::EventSendingController::touchCancel):
(WTR::EventSendingController::clearTouchPoints):
(WTR::EventSendingController::releaseTouchPoint):
(WTR::EventSendingController::cancelTouchPoint):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::done):
(WTR::InjectedBundle::setMockGeolocationPosition):
(WTR::InjectedBundle::setCustomPolicyDelegate):
(WTR::InjectedBundle::setVisibilityState):
(WTR::InjectedBundle::queueLoad):
(WTR::InjectedBundle::queueLoadHTMLString):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):
(WTR::TestController::resetStateToConsistentValues):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::updateThreadedScrollingForCurrentTest):
(WTR::updateLayoutType):
(WTR::TestInvocation::invoke):

5:14 PM Changeset in webkit [160810] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[MSE][Mac] Add AVSampleBufferAudioRenderer support.
https://bugs.webkit.org/show_bug.cgi?id=125905

Reviewed by Eric Carlson.

On platforms which support AVSampleBufferAudioRenderer, add support
for playback of audio CMSampleBufferRefs generated by AVStreamDataParser.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable): Require AVSampleBufferAudioRenderer.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVolume): Pass through to every audio renderer.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setMuted): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer): Slave the renderer's

timebase to the master clock.

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):

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

(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Drive by fix; initialize

m_enabledVideoTrackID.

(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC): Call destroyRenderers().
(WebCore::callProcessCodedFrameForEachSample): Drive by fix; convert the bool return to an OSErr.
(WebCore::SourceBufferPrivateAVFObjC::destroyRenderers): Added; flush and destroy the audio

renderers.

(WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Call destroyRenderers().
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Enable or disable the audio

renderer in response.

(WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Added audio

specific version.

(WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::didBecomeReadyForMoreSamples): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::notifyClientWhenReadyForMoreSamples): Ditto.

4:52 PM Changeset in webkit [160809] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Allow the web process plug-in to intercept resource requests
https://bugs.webkit.org/show_bug.cgi?id=125959

Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new

delegate method.

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

(willSendRequestForFrame): Implemented this WKBundlePageResourceClient callback by calling
the load delegate.
(setUpResourceLoadClient): Added. Initializes the resource load client with the above
function.
(-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]): Added calls to initialize
and clear the resource load client.

4:48 PM Changeset in webkit [160808] by mark.lam@apple.com
  • 9 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Fix LLINT to baseline JIT OSR.
https://bugs.webkit.org/show_bug.cgi?id=125957.

Reviewed by Michael Saboff.

  1. In LLINT prologue code, when taking the OSR path, we don't actually need the OSR slow path function to return the new stackPointer value. Instead, the OSR prep code in the prologue needs to restore the previous sp because we are going to jump to the prologue of the target codeBlock, which will assume that the stack pointer to be pointing to the top of the caller frame.

To do this, we simply set stackPointer to the "new" callFrameRegister
before we pop the "old" callFrame address into the callFrameRegister.

  1. In the LLINT checkSwitchToJITForLoop() macro, if we're going to take the OSR path, we'll need to set the stackPointer to the new topOfFrame for the target codeBlock. Hence, we make llint_loop_osr return exec->topOfFrame() for this purpose.
  1. Previously, CallFrame::topOfFrame() (renamed from CallFrame::frameExtent()) would return the address of the slot past the top of the frame. It now returns the slot at the top of the frame as it should.
  • interpreter/CallFrame.cpp:

(JSC::CallFrame::topOfFrameInternal):

  • interpreter/CallFrame.h:

(JSC::ExecState::topOfFrame):

  • interpreter/JSStack.cpp:

(JSC::JSStack::disableErrorStackReserve):

  • interpreter/JSStackInlines.h:

(JSC::JSStack::getTopOfFrame):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::entryOSR):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
4:42 PM Changeset in webkit [160807] by Seokju Kwon
  • 2 edits in trunk/Source/WebCore

Web Inspector: Remove leftover code from InspectorController after r108965
https://bugs.webkit.org/show_bug.cgi?id=125956

Reviewed by Joseph Pecoraro.

No new tests, no changes in behavior.

  • inspector/InspectorController.h: PostWorkerNotificationToFrontendTask was removed in r108965.
4:33 PM Changeset in webkit [160806] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

CSS: Add a property cascading pass to style application.
<https://webkit.org/b/125213>

Add an intermediate pass to style application where we cascade all
style properties to figure out their final values before starting
to build RenderStyles.

This opens up various opportunities for further optimization.

Reviewed by Antti Koivisto.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::CascadedProperties::Property::Property):
(WebCore::StyleResolver::CascadedProperties::CascadedProperties):
(WebCore::StyleResolver::CascadedProperties::property):
(WebCore::StyleResolver::CascadedProperties::set):
(WebCore::StyleResolver::CascadedProperties::addStyleProperties):
(WebCore::StyleResolver::CascadedProperties::addMatches):
(WebCore::StyleResolver::CascadedProperties::Property::apply):

Added. CascadedProperties is something of a container class
that takes CSS property/value/linkMatchType as input and boils
them down to the final values that will actually be used.

Most properties are poked into an unfancy array where latest
is greatest (unless !important, of course.) Some properties are
queued up to be applied in parse order, more on that below.

(WebCore::StyleResolver::applyCascadedProperties):
(WebCore::StyleResolver::applyMatchedProperties):

The brains of this patch. applyMatchedProperties() now creates
a CascadedProperties and uses it to figure out the final values
and uses applyCascadedProperties() to apply them. Deferred
properties (parse order) are applied last.

We may discover during property application that we won't be
able to use a matched properties cache item. This happens if
the effective zoom or font changes. If that happens, we start
the process over, now with the cache disabled. This may need
some optimization work.

(WebCore::extractDirectionAndWritingMode):

Directional properties ending in e.g -before or -after depend on
the direction and writing mode in effect, so we must begin with
resolving those properties before doing the full cascade.

This is done by simply walking the set of matched properties and
manually applying '-webkit-writing-mode' and 'direction'.

If this starts showing up in profiles, we can easily cache some
of the information in e.g RuleData to avoid the traversal here.

(WebCore::elementTypeHasAppearanceFromUAStyle):

To determine whether a form element is styled beyond the default
UA style sheet, StyleResolver caches the border and background
values from RenderStyle after applying the UA style sheet.

Those values are then compared against after all style is applied
and if some (platform-dependent) values differ, the element is
considered "styled."

This really only affects elements with -webkit-appearance values
in the default UA style sheet, so this function determines if an
element should take the goofy slow path for this.

(WebCore::shouldApplyPropertyInParseOrder):
(WebCore::StyleResolver::CascadedProperties::setDeferred):
(WebCore::StyleResolver::CascadedProperties::applyDeferredProperties):

Some CSS properties will write to the same RenderStyle fields when
applied, so in order to maintain previous behavior, we must apply
them in the order they were parsed.

We accomplish this by keeping an ordered queue of such properties
to apply separately after all the other properties.

(WebCore::StyleResolver::CascadedProperties::setPropertyInternal):

Helper for poking values into a CascadedProperties::Property.

  • css/StyleResolver.h:

(WebCore::StyleResolver::state):

Expose the StyleResolver::State so CascadedProperties can access it.

4:10 PM Changeset in webkit [160805] by Martin Robinson
  • 3 edits
    1 add in trunk/Tools

[GTK] [CMake] Add support for building GtkLauncher
https://bugs.webkit.org/show_bug.cgi?id=125766

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Add the GtkLauncher subdirectory for the GTK port.
  • GtkLauncher/CMakeLists.txt: Added.
  • GtkLauncher/main.c: Support including the CMake config file.
4:04 PM Changeset in webkit [160804] by Martin Robinson
  • 8 edits
    3 adds in trunk

[GTK] [CMake] Add support for building WebKit1
https://bugs.webkit.org/show_bug.cgi?id=116377

Reviewed by Gustavo Noronha Silva.

.:

  • Source/cmake/OptionsGTK.cmake: Turn off some features that do not build properly

for WebKit1 and stop using the version script which we haven't implemented yet. Turn
on WebKit1.

Source/WebCore:

  • PlatformGTK.cmake: Add a missing source required by WebKit1 to

the WebCore build.

Source/WebKit:

  • CMakeLists.txt: Updated WebCore include directory list for WebKitGTK+ and

added BUILDING_WEBKIT to the list of defines.

  • PlatformGTK.cmake: Added.

Source/WebKit/gtk:

  • GNUmakefile.am: Switch to using the templates for building the GObject enums.
  • webkit/webkitenumtypes.cpp.template: Added.
  • webkit/webkitenumtypes.h.template: Added.
3:50 PM Changeset in webkit [160803] by commit-queue@webkit.org
  • 5 edits
    3 copies in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=125941
Add Obj C API for injected bundle PageGroup class.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-12-18
Reviewed by Dan Bernstein.

Add Obj C API (WKWebProcessPlugInPageGroup) for injected bundle PageGroup class. And add APIs to
expose the main frame and page group from WKWebProcessPlugInBrowsingContextController.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject): Create wrapper object for InjectedPageGroup object.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm: Added.

(-[WKWebProcessPlugInPageGroup identifier]):
(-[WKWebProcessPlugInPageGroup dealloc]):
(-[WKWebProcessPlugInPageGroup API::]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h: Added.

(WebKit::wrapper):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Add API to expose the main frame and page group

for WKWebPocessPlugInBrowserContextController.

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

(-[WKWebProcessPlugInBrowserContextController mainFrame]):
(-[WKWebProcessPlugInBrowserContextController pageGroup]):

3:33 PM Changeset in webkit [160802] by hmuller@adobe.com
  • 4 edits in trunk/Source/WebCore

[CSS Shapes] Simplify RectangleShape implementation
https://bugs.webkit.org/show_bug.cgi?id=125536

Reviewed by Andreas Kling.

Instead of caching an instance of a private FloatRoundedRect (ish) class for
RectangleShape's shape-margin and shape-padding bounds, we just compute
the FloatRect and radii as needed. This reduces the classes footprint a little
and it simplifies the implementation.

Removed the private RectangleShape::ShapeBounds class and made its
cornerInterceptForWidth() method a static function. Added members for
the RectangleShape constructor args, and private getters for their properties.

There are no new tests because this is just an internal refactoring.

  • rendering/shapes/RectangleShape.cpp:

(WebCore::RectangleShape::shapePaddingBounds):
(WebCore::RectangleShape::shapeMarginBounds):
(WebCore::ellipseXIntercept):
(WebCore::ellipseYIntercept):
(WebCore::RectangleShape::getExcludedIntervals):
(WebCore::RectangleShape::getIncludedIntervals):
(WebCore::cornerInterceptForWidth):
(WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
(WebCore::RectangleShape::buildPath):

  • rendering/shapes/RectangleShape.h:

(WebCore::RectangleShape::RectangleShape):
(WebCore::RectangleShape::rx):
(WebCore::RectangleShape::ry):
(WebCore::RectangleShape::x):
(WebCore::RectangleShape::y):
(WebCore::RectangleShape::width):
(WebCore::RectangleShape::height):

  • rendering/shapes/Shape.cpp:

(WebCore::createCircleShape): Renamed this internal function (it was createShapeCircle) because it was inconsistent.
(WebCore::createEllipseShape): Ditto.
(WebCore::Shape::createShape):

3:25 PM Changeset in webkit [160801] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

PDFPlugin: Never make a NSEventType = 0
https://bugs.webkit.org/show_bug.cgi?id=125955

Reviewed by Dan Bernstein.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::getEventTypeFromWebEvent):
Make getEventTypeFromWebEvent return its NSEventType as an out arg, and
make the return value represent whether or not we set it.

(WebKit::PDFPlugin::nsEventForWebMouseEvent):
(WebKit::PDFPlugin::handleKeyboardEvent):
Make use of getEventTypeFromWebEvent.

3:23 PM Changeset in webkit [160800] by benjamin@webkit.org
  • 4 edits
    1 add in trunk/Source

Add a simple stack abstraction for x86_64
https://bugs.webkit.org/show_bug.cgi?id=125908

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::addPtrNoFlags):
Add an explicit abstraction for the "lea" instruction. This is needed
by the experimental JIT to have add and substract without changing the flags.

This is useful for function calls to test the return value, restore the registers,
then branch on the flags from the return value.

Source/WebCore:

StackAllocator provides an abstraction to make it hard to make mistakes and protects from obvious
issues at runtime.

The key roles of StackAllocators are:
-Provide the necessary stack alignment for function calls (only x86_64 stack for now).
-Provide ways to save registers on the stack, restore or discard them as needed.
-Crash at runtime if an operation would obviously cause a stack inconsistency.

The way simple inconsistencies are detected is through the StackReference object
returned whenever something is added on the stack.
The object keeps a reference to the offset of what has been pushed. When the StackReference
is used to recover the register, if the offset is different, there is a missmatch between
push() and pop() after the object was pushed.

  • cssjit/StackAllocator.h: Added.

(WebCore::StackAllocator::StackReference::StackReference):
(WebCore::StackAllocator::StackReference::operator unsigned):
(WebCore::StackAllocator::StackAllocator):
(WebCore::StackAllocator::~StackAllocator):
(WebCore::StackAllocator::push):
(WebCore::StackAllocator::pop):

(WebCore::StackAllocator::alignStackPreFunctionCall):
(WebCore::StackAllocator::unalignStackPostFunctionCall):
Those helpers provide a simple way to have a valid stack prior to a function call.
Since StackAllocator knows the offset and the platform rules, it can adjust the stack
if needed for x86_64.

(WebCore::StackAllocator::discard): Discard a single register or the full stack.

(WebCore::StackAllocator::combine): combining stacks is the way to solve branches
where the stack is used differently in each case.
To do that, the stack is first copied to A and B. Each branch works on its own
StackAllocator copy, then the two copies are linked together to the original stack.

The copies ensure the local consistency in each branch, linking the copies ensure global
consistencies and that both branches end in the same stack state.

(WebCore::StackAllocator::offsetToStackReference): Helper function to access the stack by address
through its StackReference.

(WebCore::StackAllocator::reset):

3:12 PM Changeset in webkit [160799] by Gustavo Noronha Silva
  • 2 edits in trunk

[GTK][CMake] Use thin archives if building on Linux, only way to get non-shared-core debug builds
https://bugs.webkit.org/show_bug.cgi?id=125951

Reviewed by Martin Robinson.

  • Source/cmake/OptionsGTK.cmake: append T for thin archives to the flags passed to ar,

also use u, which is used in the autotools build (it avoids adding a file twice).

3:11 PM Changeset in webkit [160798] by commit-queue@webkit.org
  • 13 edits
    3 adds in trunk

[WinCairo] Preparation for GStreamer on Windows.
https://bugs.webkit.org/show_bug.cgi?id=125946

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

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:

Use new GStreamer property sheets for WinCairo.

  • WebCore.vcxproj/WebCoreCairo.props:

Include GStreamer directory.

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKit.vcxproj:

Use new GStreamer property sheets for WinCairo.

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

Fixed 64-bit symbols, added GStreamer symbol.

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj:

Use new GStreamer property sheets for WinCairo.

Tools:

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:

Use new GStreamer property sheets for WinCairo.

  • win/DLLLauncher/DLLLauncherMain.cpp:

(modifyPath):
(wWinMain):
Prepend GStreamer bin directory to path if it exists.

WebKitLibraries:

  • win/tools/vsprops/FeatureDefinesCairo.props:

Added ENABLE_MEDIA_CONTROLS_SCRIPT and ENABLE_VIDEO_TRACK for DerivedSources.make.

  • win/tools/vsprops/GStreamer32.props: Added.
  • win/tools/vsprops/GStreamer64.props: Added.
  • win/tools/vsprops/GStreamerCommon.props: Added.
3:05 PM Changeset in webkit [160797] by Gustavo Noronha Silva
  • 2 edits in trunk

[GTK][CMake] Remove binary size optimizations we do not use in the autotools build
https://bugs.webkit.org/show_bug.cgi?id=125947

Reviewed by Martin Robinson.

  • Source/cmake/OptionsGTK.cmake: remove the relevant flags.
2:50 PM Changeset in webkit [160796] by mhahnenberg@apple.com
  • 31 edits
    4 adds in trunk/Source

DFG should have a separate StoreBarrier node
https://bugs.webkit.org/show_bug.cgi?id=125530

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This is in preparation for GenGC. We use a separate StoreBarrier node instead of making them implicitly
part of other nodes so that it's easier to run analyses on them, e.g. for the StoreBarrierElisionPhase.
They are inserted during the fixup phase. Initially they do not generate any code.

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

(JSC::DFG::AbstractInterpreter::isKnownNotCell):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberizeForAllocation):
(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants): Whenever we insert new nodes that require StoreBarriers,
we have to add those new StoreBarriers too. It's important to note that AllocatePropertyStorage and
ReallocatePropertyStorage nodes require their StoreBarriers to come after them since they allocate first,
which could cause a GC, and then store the resulting buffer into their JSCell, which requires the barrier.
If we ever require that write barriers occur before stores, we'll have to split these nodes into
AllocatePropertyStorage + StoreBarrier + PutPropertyStorage.

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::isStoreBarrier):

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

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • 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::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileStoreBarrier):
(JSC::DFG::SpeculativeJIT::genericWriteBarrier): The fast path write barrier check. It loads the
byte that contains the mark bit of the object.
(JSC::DFG::SpeculativeJIT::storeToWriteBarrierBuffer): If the fast path check fails we try to store the
cell in the WriteBarrierBuffer so as to avoid frequently flushing all registers in order to make a C call.
(JSC::DFG::SpeculativeJIT::writeBarrier):
(JSC::DFG::SpeculativeJIT::osrWriteBarrier): More barebones version of the write barrier to be executed
during an OSR exit into baseline code. We must do this so that the baseline JIT object and array profiles
are properly cleared during GC.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compileBaseValueStoreBarrier):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::writeBarrier):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compileBaseValueStoreBarrier):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::writeBarrier):

  • dfg/DFGStoreBarrierElisionPhase.cpp: Added. New DFG phase that does block-local elision of redundant

StoreBarriers. Every time a StoreBarrier on a particular object is executed, a bit is set indicating that
that object doesn't need any more StoreBarriers.
(JSC::DFG::StoreBarrierElisionPhase::StoreBarrierElisionPhase):
(JSC::DFG::StoreBarrierElisionPhase::couldCauseGC): Nodes that could cause a GC reset the bits for all of the
objects known in the current block.
(JSC::DFG::StoreBarrierElisionPhase::allocatesFreshObject): A node that creates a new object automatically
sets the bit for that object since if a GC occurred as the result of that object's allocation then that
object would not need a barrier since it would be guaranteed to be a young generation object until the
next GC point.
(JSC::DFG::StoreBarrierElisionPhase::noticeFreshObject):
(JSC::DFG::StoreBarrierElisionPhase::getBaseOfStore):
(JSC::DFG::StoreBarrierElisionPhase::shouldBeElided):
(JSC::DFG::StoreBarrierElisionPhase::elideBarrier):
(JSC::DFG::StoreBarrierElisionPhase::handleNode):
(JSC::DFG::StoreBarrierElisionPhase::handleBlock):
(JSC::DFG::StoreBarrierElisionPhase::run):
(JSC::DFG::performStoreBarrierElision):

  • dfg/DFGStoreBarrierElisionPhase.h: Added.
  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::flushWriteBarrierBuffer):

  • heap/Heap.h:

(JSC::Heap::writeBarrier):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::offsetOfMarks):

  • heap/WriteBarrierBuffer.cpp: Added. The WriteBarrierBuffer buffers a set of JSCells that are awaiting

a pending WriteBarrier. This buffer is used by the DFG to avoid the overhead of calling out to C repeatedly
to invoke a write barrier on a single JSCell. Instead the DFG has inline code to fill the WriteBarrier buffer
until its full, and then to call out to C to flush it. The WriteBarrierBuffer will also be flushed prior to
each EdenCollection.
(JSC::WriteBarrierBuffer::WriteBarrierBuffer):
(JSC::WriteBarrierBuffer::~WriteBarrierBuffer):
(JSC::WriteBarrierBuffer::flush):
(JSC::WriteBarrierBuffer::reset):
(JSC::WriteBarrierBuffer::add):

  • heap/WriteBarrierBuffer.h: Added.

(JSC::WriteBarrierBuffer::currentIndexOffset):
(JSC::WriteBarrierBuffer::capacityOffset):
(JSC::WriteBarrierBuffer::bufferOffset):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • runtime/VM.h:

Source/WTF:

  • wtf/Platform.h: Added an #define for ENABLE(GGC) which will be used for landing things related to GenGC.
2:02 PM Changeset in webkit [160795] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKRemoteObjectRegistry should invoke invocations
https://bugs.webkit.org/show_bug.cgi?id=125945

Reviewed by Tim Horton.

  • Shared/API/Cocoa/WKRemoteObjectRegistry.mm:

(-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):

1:36 PM Changeset in webkit [160794] by andersca@apple.com
  • 2 edits
    3 deletes in trunk/Tools

Remove now useless test.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm: Removed.
  • TestWebKitAPI/Tests/mac/WKRemoteObjectRegistry_Bundle.mm: Removed.
  • TestWebKitAPI/Tests/mac/WKRemoteObjectRegistry_Shared.h: Removed.
1:08 PM Changeset in webkit [160793] by oliver@apple.com
  • 2 edits in trunk/Source/WebCore

Refactor CodeGeneratorJS - Move attribute function creation out of getOwnPropertyName guard
https://bugs.webkit.org/show_bug.cgi?id=125940

Reviewed by Simon Fraser.

This is just a huge block move of code out from behind the
ImplementationOverridesGetOwnProperty guard.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

1:03 PM Changeset in webkit [160792] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Frequent ASSERT(hasOneRef()) in SharedBuffer::releasePurgeableBuffer
https://bugs.webkit.org/show_bug.cgi?id=125939

Reviewed by Simon Fraser.

r146082 fixed these assertions by not making a purgeable buffer if a SharedBuffer
has multiple refs, but the check was put in ResourceBuffer::createPurgeableBuffer
instead of down in SharedBuffer::createPurgeableBuffer.

This is fine for most WebKit ports, because ResourceBuffer::createPurgeableBuffer
is the only caller of SharedBuffer::createPurgeableBuffer, but causes trouble for
not-quite-yet-upstreamed iOS SharedBuffer code, which adds another caller
of SharedBuffer::createPurgeableBuffer.

Push the early-return down into SharedBuffer::createPurgeableBuffer to ensure
that all callers are protected from creating a purgeable buffer if the SharedBuffer
has previously been vended elsewhere.

No new tests, has no effect on the current Open Source tree.

  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::createPurgeableBuffer):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::createPurgeableBuffer):

12:58 PM Changeset in webkit [160791] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Starting a momentum scroll while rubber banding can cause scrolling to jump back
when the rubberband snaps
https://bugs.webkit.org/show_bug.cgi?id=119507
-and corresponding-
<rdar://problem/14655893>

Reviewed by Simon Fraser.

This line of code was added with the very first implementation of rubber-banding.
As far as I can tell, it was always a belt-and-suspenders line of code that is a
no-op in all normal rubber-banding. In this J-shaped scrolling case, this line of
code is what causes the bug to occur because this line of code assumes that your
rubber-band is always trying to take you back to the origin.

  • platform/mac/ScrollElasticityController.mm:

(WebCore::ScrollElasticityController::snapRubberBandTimerFired):

12:50 PM Changeset in webkit [160790] by barraclough@apple.com
  • 4 edits in trunk

Fix page visibility api test, initialization in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=125933

Reviewed by Anders Carlsson.

The API test for page visibility is broken, fix this. This revealed a recent regression in WebKit2
(introduced in https://bugs.webkit.org/show_bug.cgi?id=123379), caused by a typo removing a '!'.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setVisibilityState):

  • Fix regression, accidentally removed a '!'.

Tools:

  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:

(TestWebKitAPI::TEST_F):

  • Running a test on WebKit1 twice is not the same as running it on WebKit2!
12:40 PM Changeset in webkit [160789] by Chris Fleizach
  • 4 edits
    2 adds in trunk

AX: make aria-hidden=false work with subtrees
https://bugs.webkit.org/show_bug.cgi?id=125592

Reviewed by Mario Sanchez Prada.

Source/WebCore:

When a hidden object uses aria-hidden=false, that needs to apply to
the entire sub-tree (not just the object with aria-hidden on it as it does now).

Enabling this had the side effect of exposing non-rendered text nodes, so there's
some extra checks to ensure we don't include those elements in this cases.

Test: accessibility/aria-hidden-false-works-in-subtrees.html

  • accessibility/AXObjectCache.cpp:

(WebCore::isNodeAriaVisible):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

LayoutTests:

  • platform/mac/accessibility/aria-hidden-false-works-in-subtrees-expected.txt: Added.
  • accessibility/aria-hidden-false-works-in-subtrees.html: Added.
12:37 PM Changeset in webkit [160788] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix 32-bit build.

  • Shared/API/Cocoa/RemoteObjectRegistry.mm:

(WebKit::RemoteObjectRegistry::invokeMethod):

12:20 PM Changeset in webkit [160787] by andersca@apple.com
  • 11 edits
    1 copy
    1 move
    1 add in trunk/Source/WebKit2

Make WKObjectRegistry objects be per page
https://bugs.webkit.org/show_bug.cgi?id=125937

Reviewed by Andreas Kling.

Remove WKObjectRegistry from WKConnection. Also, add a C++ object that is in charge
of actually sending and receiving messages.

  • DerivedSources.make:
  • Shared/API/Cocoa/RemoteObjectRegistry.h: Added.
  • Shared/API/Cocoa/RemoteObjectRegistry.messages.in: Added.
  • Shared/API/Cocoa/RemoteObjectRegistry.mm: Added.

(WebKit::RemoteObjectRegistry::RemoteObjectRegistry):
(WebKit::RemoteObjectRegistry::~RemoteObjectRegistry):
(WebKit::RemoteObjectRegistry::sendInvocation):
(WebKit::RemoteObjectRegistry::invokeMethod):

  • Shared/API/Cocoa/WKRemoteObjectRegistry.mm:

(-[WKRemoteObjectRegistry _initWithMessageSender:IPC::]):
(-[WKRemoteObjectRegistry _invalidate]):
(-[WKRemoteObjectRegistry _sendInvocation:interface:]):
(-[WKRemoteObjectRegistry WebKit::]):
(-[WKRemoteObjectRegistry _invokeMethod:]):

  • Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h:
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController dealloc]):
(-[WKBrowsingContextController remoteObjectRegistry]):

  • UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
  • UIProcess/API/Cocoa/WKConnection.h:
  • UIProcess/API/Cocoa/WKConnection.mm:

(didReceiveMessage):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
12:12 PM Changeset in webkit [160786] by oliver@apple.com
  • 2 edits in trunk/Source/WebCore

Simplify bindings codegen for adding getOwnPropertySlot overrides
https://bugs.webkit.org/show_bug.cgi?id=125934

Reviewed by Alexey Proskuryakov.

Simple refactoring no change in behavior.

  • bindings/scripts/CodeGeneratorJS.pm:

(InstanceOverridesGetOwnPropertySlot):
(PrototypeOverridesGetOwnPropertySlot):
(GenerateHeader):
(GenerateImplementation):

12:08 PM WebKitGTK/2.2.x edited by vjaquez@igalia.com
(diff)
12:05 PM Changeset in webkit [160785] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Flaky Test: media/video-buffered.html
https://bugs.webkit.org/show_bug.cgi?id=116277

  • platform/mac/TestExpectations: Mark it as such.
11:54 AM Changeset in webkit [160784] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: getHostCallReturnValue shouldn't pop the callFrame
https://bugs.webkit.org/show_bug.cgi?id=125931

Reviewed by Geoffrey Garen.

Since getHostCallReturnValue() is called after a call to a slow path
function and the return from the slow patch pops the call frame there is
no need for getHostCallReturnValue() to pop the frame.
Removed the popping of the call frame getHostCallReturnValue() for all CPU platforms.

  • jit/JITOperations.cpp:
11:46 AM Changeset in webkit [160783] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Exceptions in LLIntSlowPaths shouldn't pop call frame
https://bugs.webkit.org/show_bug.cgi?id=125932

Reviewed by Mark Lam.

Removed the unwinding of the call frame in LLINT_CALL_RETURN().
Since llint_slow_path_handle_exception will unwind to the proper callFrame
via genericUnwind() there is no need for the frame to be unwound in
llint slow paths.

  • llint/LLIntSlowPaths.cpp:
11:42 AM Changeset in webkit [160782] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

AudioSessionManagerMac.cpp: kLowPowerVideoBufferSize unused before OS X 10.9
https://bugs.webkit.org/show_bug.cgi?id=125935

Patch by Conrad Shultz <Conrad Shultz> on 2013-12-18
Reviewed by Jer Noble.

  • platform/audio/mac/AudioSessionManagerMac.cpp:

Add MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 guard.

11:41 AM Changeset in webkit [160781] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

API to set a favicon
https://bugs.webkit.org/show_bug.cgi?id=125892

Patch by Conrad Shultz <Conrad Shultz> on 2013-12-18
Reviewed by Brian Weinstein.

  • UIProcess/API/C/WKIconDatabase.cpp:

(WKIconDatabaseSetIconDataForIconURL):
Call WebIconDatabase::setIconDataForIconURL().

  • UIProcess/API/C/WKIconDatabase.h:

Declare WKIconDatabaseSetIconDataForIconURL().

11:26 AM Changeset in webkit [160780] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Some basic DebuggerAgent cleanup
https://bugs.webkit.org/show_bug.cgi?id=125901

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

  • inspector/InspectorDebuggerAgent.h:

Remove virtual from not really virtual method.

  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::enable):
(WebCore::InspectorDebuggerAgent::disable):
Use member variable instead of private function.

(WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
Inline the three lines from the private function.

10:59 AM Changeset in webkit [160779] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r155536): Broken error recovery in @media at-rule
https://bugs.webkit.org/show_bug.cgi?id=125637

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2013-12-18
Reviewed by Darin Adler.

Source/WebCore:

Error recovery in @media is broken if any of its rules misses the opening '{'.
The problem is that when the parser recognises the mistake it removes only the last
WHITESPACE token instead of the whole selector and tries to recover the selector again.
it swallows everything until it finds the next opening bracket. thats why the '}' brackets
of both subrules and even the @media rule are ignored, and the whole @media will be
considered invalid. By joining the selector and its trailing whitespace the error recovery
ignores the bad selector only and keep the @media rule.

Test: fast/css/media-error-recovery.html

  • css/CSSGrammar.y.in:

LayoutTests:

Test with broken @media rule.

  • fast/css/media-error-recovery-expected.txt: Added.
  • fast/css/media-error-recovery.html: Added.
10:50 AM Changeset in webkit [160778] by Chris Fleizach
  • 13 edits
    2 adds in trunk

AX: WebKit not sending AXMenuClosed notification
https://bugs.webkit.org/show_bug.cgi?id=125783

Reviewed by Mario Sanchez Prada.

Source/WebCore:

When an object with a role=menu is removed, we need to send out a notification informing that the menu has closed.
This means detecting the right kind of destruction event for an element, because we do not want to
send this notification when the entire cache is being torn down.

Test: platform/mac/accessibility/aria-menu-closed-notification.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::remove):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::document):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::detach):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::detach):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::detach):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::detach):

  • accessibility/AccessibilityScrollView.h:
  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::postPlatformNotification):

LayoutTests:

  • platform/mac/accessibility/aria-menu-closed-notification-expected.txt: Added.
  • platform/mac/accessibility/aria-menu-closed-notification.html: Added.
10:32 AM Changeset in webkit [160777] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Do not create cue subtree just to delete it
https://bugs.webkit.org/show_bug.cgi?id=125904

Reviewed by Jer Noble.

No new tests, covered by existing tests.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::setIsActive): Return early if display tree is NULL.
(WebCore::TextTrackCue::removeDisplayTree): Ditto.

10:30 AM Changeset in webkit [160776] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix Dictionary encoding
https://bugs.webkit.org/show_bug.cgi?id=125930

Reviewed by Andreas Kling.

Encode the HashMap size as a 64-bit unsigned integer.

  • Shared/UserData.cpp:

(WebKit::UserData::encode):

10:26 AM Changeset in webkit [160775] by oliver@apple.com
  • 6 edits in trunk/Source/WebCore

Remove JSInlineGetOwnPropertySlot attribute as it is no longer necessary
https://bugs.webkit.org/show_bug.cgi?id=125875

Reviewed by Brady Eidson.

Tested this on dromaeo and acid3 (the original reason for this attribute)
and it no longer provided any benefit. This makes it easier to reason about
creation of getOwnPropertySlot during binding generation.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • dom/Document.idl:
  • dom/Element.idl:
  • dom/Node.idl:
10:14 AM Changeset in webkit [160774] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

Fix ASSERTION FAILED in WebCore::SVGLengthContext::determineViewport
https://bugs.webkit.org/show_bug.cgi?id=120284

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-18
Reviewed by Philip Rogers.

Source/WebCore:

Added handling of root <svg> elements.
Blink merge: https://chromium.googlesource.com/chromium/blink/+/a7dedf81eb7008276bb6854f0e46465e039788f8

SVGLengthContext::determineViewport() currently asserts that we're not
resolving lengths for the topmost element, but there's nothing to
prevent such calls.

The patch updates determineViewport() to handle root elements geracefully
(using their current viewport). It also changes the signature slightly
to operate directly on a FloatSize, reducing some of the boiler-plate
client code.

Tests: svg/custom/svg-length-value-handled.svg

svg/dom/svg-root-lengths.html

  • svg/SVGLengthContext.cpp:

(WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
(WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
(WebCore::SVGLengthContext::determineViewport):

  • svg/SVGLengthContext.h:
  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

LayoutTests:

Added tests of handling root <svg> elements.
Blink merge: https://chromium.googlesource.com/chromium/blink/+/a7dedf81eb7008276bb6854f0e46465e039788f8

  • svg/custom/svg-length-value-handled-expected.txt: Added.
  • svg/custom/svg-length-value-handled.svg: Added.

Tests whether root svg elements sizes are handled.

  • svg/dom/svg-root-lengths-expected.txt: Added.
  • svg/dom/svg-root-lengths.html: Added.

Tests the correct handling of root svg elements sizes.

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

Should not have identifiers with underscores in them, especially not leading underscores.
https://bugs.webkit.org/show_bug.cgi?id=125847

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-18
Reviewed by Darin Adler.

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

(check_identifier_name_in_declaration):

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

(CppStyleTest.test_runtime_selfinit):
(WebKitStyleTest.test_names):

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

False webkit-check-style warnings on *.
https://bugs.webkit.org/show_bug.cgi?id=125915

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-18
Reviewed by Darin Adler.

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

(check_spacing):

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

(CppStyleTest.test_pointer_reference_marker_location):

10:02 AM Changeset in webkit [160771] by Darin Adler
  • 5 edits in trunk

Additional refinement in MathMLSelectElement toggle implementation
https://bugs.webkit.org/show_bug.cgi?id=125785

Reviewed by Andreas Kling.

Source/WebCore:

  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::defaultEventHandler): Call setDefaultHandled
so this will be handled by only one element.
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents): Return true
only when action is set to toggle, since other select elements will not
respond to mouse click events.
(WebCore::MathMLSelectElement::toggle): Simplified code a bit and gave
local a clearer variable name.

LayoutTests:

  • mathml/presentation/maction-toggle-expected.html: Updated incorrect expected

result, which expected an already-handled event to be re-handled by a parent
element during the bubbling process.

  • mathml/presentation/maction-toggle.html: Ditto.
9:27 AM Changeset in webkit [160770] by rwlbuis@webkit.org
  • 10 edits in trunk

2013-12-18 Rob Buis <rob.buis@samsung.com>

[CSS Shapes] Implement interpolation between keywords in basic shapes
https://bugs.webkit.org/show_bug.cgi?id=125108

Reviewed by Simon Fraser.

Allow blending for all center coordinates since top/left and bottom/right default to correct
Length values of 0% and 100%. For mixed keyword and value positions compute the length's used
for blending to percentages. This is possible since we compute the reference box bounds given the
renderer.

  • page/animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): Pass additional RenderBox parameter.
  • rendering/style/BasicShapes.cpp: (WebCore::BasicShape::canBlend): Don't check circle/ellipse center anymore, but do check that both shapes use the same reference box. (WebCore::BasicShape::referenceBoxSize): Compute box dimension depending on reference box. (WebCore::BasicShapeCenterCoordinate::lengthForBlending): Convert to percentage for Bottom/Right. (WebCore::BasicShapeRectangle::blend): (WebCore::DeprecatedBasicShapeCircle::blend): (WebCore::BasicShapeCircle::blend): (WebCore::DeprecatedBasicShapeEllipse::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInsetRectangle::blend): (WebCore::BasicShapeInset::blend):
  • rendering/style/BasicShapes.h: (WebCore::BasicShapeCenterCoordinate::blend): Use new lengthForBlending.
9:26 AM Changeset in webkit [160769] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

prepare-ChangeLog doesn't handle templates properly
https://bugs.webkit.org/show_bug.cgi?id=125853

Patch by Dániel Bátyai <Dániel Bátyai> on 2013-12-18
Reviewed by Daniel Bates.

  • Scripts/prepare-ChangeLog:

(get_function_line_ranges_for_cpp):

  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests-expected.txt:
  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:

(Class110<TemplateClass>::func36):

8:54 AM Changeset in webkit [160768] by Lucas Forschler
  • 5 edits in branches/safari-537.60-branch/Source

Versioning.

8:52 AM Changeset in webkit [160767] by Lucas Forschler
  • 1 copy in tags/Safari-537.60.12

New Tag.

7:51 AM Changeset in webkit [160766] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

CSS: Null-pointer dereference with negative 'orphans' value.
https://bugs.webkit.org/show_bug.cgi?id=125924

Patch by Dániel Bátyai <Dániel Bátyai> on 2013-12-18
Reviewed by Andreas Kling.

Source/WebCore:

orphans and widows should be positive integer.

spec link:
http://www.w3.org/TR/CSS2/page.html#propdef-orphans

Backported from Blink: https://codereview.chromium.org/108663009

Test: fast/css/negative-orphans-crash.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

LayoutTests:

Test with negative orphans value.

  • fast/css/negative-orphans-crash-expected.txt: Added.
  • fast/css/negative-orphans-crash.html: Added.
7:05 AM Changeset in webkit [160765] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Make more computed style helpers return values by PassRef.
<https://webkit.org/b/125923>

Tighten yet another handful of CSS computed style helper functions
to return their CSSValues by PassRef where we never return null.

Reviewed by Antti Koivisto.

7:04 AM Changeset in webkit [160764] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Use range for syntax in Frame and FrameView.
<https://webkit.org/b/125922>

Convert code in Frame and FrameView to use C++11's range for syntax.

Reviewed by Antti Koivisto.

7:02 AM Changeset in webkit [160763] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

RenderElement-ize adjustForAbsoluteZoom() and friends.
<https://webkit.org/b/125921>

Make adjustForAbsoluteZoom() take a const RenderElement& instead
of a RenderObject* so we can avoid the extra branch in style().
All call sites already had RenderElements.

Reviewed by Antti Koivisto.

6:18 AM Changeset in webkit [160762] by Chris Fleizach
  • 5 edits in trunk

AX: HTML spec change indicates @aria-required should trump @required on any element
https://bugs.webkit.org/show_bug.cgi?id=122145

Reviewed by Mario Sanchez Prada.

Source/WebCore:

aria-required should win over the native "required" attribute.

Updated tests: accessibility/aria-required.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isRequired):

LayoutTests:

  • accessibility/aria-required-expected.txt:
  • accessibility/aria-required.html:
5:56 AM Changeset in webkit [160761] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.3.3

Tagging the WebKitGTK+ 2.3.3 release

5:23 AM Changeset in webkit [160760] by Michał Pakuła vel Rutka
  • 9 edits in trunk/LayoutTests

Unreviewed EFL gardening

Rebaseline tests after r160715.

  • platform/efl/css2.1/t0905-c414-flt-wrap-00-e-expected.png:
  • platform/efl/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/efl/fast/backgrounds/background-position-parsing-expected.png:
  • platform/efl/fast/backgrounds/background-position-parsing-expected.txt:
  • platform/efl/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
  • platform/efl/fast/backgrounds/size/contain-and-cover-zoomed-expected.txt:
  • platform/efl/fast/block/float/016-expected.png:
  • platform/efl/fast/block/float/016-expected.txt:
4:27 AM Changeset in webkit [160759] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update NEWS and Versions.m4 for 2.3.3 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.3.3.
4:24 AM Changeset in webkit [160758] by Carlos Garcia Campos
  • 9 edits in trunk/Source

Unreviewed. Fix make distcheck.

Source/JavaScriptCore:

  • GNUmakefile.am:

Source/ThirdParty/ANGLE:

  • GNUmakefile.am:

Source/WebCore:

  • GNUmakefile.am:
  • GNUmakefile.list.am:

Source/WebKit2:

  • GNUmakefile.list.am:
4:01 AM Changeset in webkit [160757] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[soup] Fix unused parameter warnings in ResourceHandleSoup.
https://bugs.webkit.org/show_bug.cgi?id=125918

Patch by Dániel Bátyai <Dániel Bátyai> on 2013-12-18
Reviewed by Martin Robinson.

Comment out the method parameters to avoid the warnings.

No tests required.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData):

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

Move expectation parsing out of the constructor of TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=125439

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

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

(LayoutTestRunnerTests._run_tests):
(LayoutTestRunnerTests.test_interrupt_if_at_failure_limits):
(LayoutTestRunnerTests.test_update_summary_with_result):

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

(Manager.run):

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

(ManagerTest.test_look_for_new_crash_logs):

  • Scripts/webkitpy/layout_tests/lint_test_expectations.py:

(lint):

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

(TestExpectations.suffixes_for_expectations):
(TestExpectations.init):
(TestExpectations):
(TestExpectations.parse_generic_expectations):
(TestExpectations.parse_default_port_expectations):
(TestExpectations.parse_override_expectations):
(TestExpectations.parse_all_expectations):

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

(parse_exp):
(SkippedTests.check):
(SkippedTests.test_skipped_entry_dont_exist):

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

(run_results):

  • Scripts/webkitpy/tool/commands/queries.py:

(PrintExpectations._model):

  • Scripts/webkitpy/tool/commands/rebaseline.py:

(RebaselineTest._update_expectations_file):
(RebaselineExpectations._update_expectations_files):
(RebaselineExpectations._tests_to_rebaseline):

1:08 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)

Dec 17, 2013:

11:37 PM Changeset in webkit [160755] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

[MSE] Periodically monitor source buffers.
https://bugs.webkit.org/show_bug.cgi?id=125898

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-monitor-source-buffers.html

The MSE spec requires that the SourceBuffer Monitoring step is run
periodically during playback. No specific update interval is specified
so we will re-use the existing HTMLMediaElement playback progress
timer to signal the media source monitoring.

  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::playbackProgressTimerFired):

LayoutTests:

  • media/media-source/media-source-monitor-source-buffers-expected.txt: Added.
  • media/media-source/media-source-monitor-source-buffers.html: Added.
10:49 PM Changeset in webkit [160754] by jer.noble@apple.com
  • 8 edits in trunk/Source/WebCore

[MSE] Add per-track signalling between SourceBuffer and SourceBufferPrivate.
https://bugs.webkit.org/show_bug.cgi?id=125899

Reviewed by Eric Carlson.

To accommodate the future addition of audio support to MSE in the Mac
port, add the concept of trackIDs to the communication between
SourceBuffer and SourceBufferPrivate.

The following virtual methods now take a trackID parameter:

  • platform/graphics/SourceBufferPrivate.h:

(WebCore::SourceBufferPrivate::isReadyForMoreSamples):
(WebCore::SourceBufferPrivate::stopAskingForMoreSamples):
(WebCore::SourceBufferPrivate::notifyClientWhenReadyForMoreSamples):

  • platform/graphics/SourceBufferPrivateClient.h:

(WebCore::SourceBufferPrivateClient::sourceBufferPrivateDidBecomeReadyForMoreSamples):

Update overridden methods in subclasses:

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):

  • Modules/mediasource/SourceBuffer.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):

  • platform/mock/mediasource/MockSourceBufferPrivate.h:

Change the logic in provideMediaData to update a single TrackBuffer
rather than iterating over all of them:

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
(WebCore::SourceBuffer::appendBufferTimerFired):
(WebCore::SourceBuffer::provideMediaData):

10:27 PM Changeset in webkit [160753] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

Web Inspector: Remove InspectorAgent::hasFrontend
https://bugs.webkit.org/show_bug.cgi?id=125907

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

Remove InspectorAgent::hasFrontend only used by
InspectorInstrumentation::collectingHTMLParseErrors. However,
following the single callers of that, the result is unused
in the HTMLDocumentParser and HTMLTreeBuilder. So remove
more stale / unused code.

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::createParser):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser):

  • html/parser/HTMLDocumentParser.h:

(WebCore::HTMLDocumentParser::create):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):

  • html/parser/HTMLTreeBuilder.h:

(WebCore::HTMLTreeBuilder::create):

  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::TextDocumentParser):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::patchDocument):

  • inspector/InspectorAgent.h:
  • inspector/InspectorInstrumentation.cpp:
  • inspector/InspectorInstrumentation.h:
10:24 PM Changeset in webkit [160752] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Some basic InjectedScriptHost cleanup
https://bugs.webkit.org/show_bug.cgi?id=125902

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

Remove InjectedScriptHost::scriptDebugServer. Nobody accesses
the ScriptDebugServer through the injected script host. This
also lets us remove the reference to the DebuggerAgent.

  • inspector/InjectedScriptHost.cpp:
  • inspector/InjectedScriptHost.h:

(WebCore::InjectedScriptHost::init):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):

10:22 PM Changeset in webkit [160751] by commit-queue@webkit.org
  • 10 edits
    3 deletes in trunk

Web Inspector: Remove InspectorFrontendHost.setInjectedScriptForOrigin
https://bugs.webkit.org/show_bug.cgi?id=125906

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

Source/WebCore:

Remove stale code related to a since removed feature,
Inspector extensions. This allows us to remove a number
of entry points into InspectorAgent.

  • inspector/InspectorAgent.cpp:

(WebCore::InspectorAgent::InspectorAgent):
(WebCore::InspectorAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorAgent.h:

(WebCore::InspectorAgent::create):
Remove setInjectedScriptForOrigin and InjectedScript management.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorController.h:
  • inspector/InspectorFrontendHost.cpp:
  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.idl:

Remove the API and calling through InspectorController.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
(WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
Remove now unnecessary calls into InspectorAgent.

LayoutTests:

  • http/tests/inspector/injected-script-for-origin-expected.txt: Removed.
  • http/tests/inspector/injected-script-for-origin.html: Removed.
  • http/tests/inspector/resources/injected-script-for-origin-frame.html: Removed.
10:04 PM Changeset in webkit [160750] by jae.park@company100.net
  • 10 edits in trunk/Source/WebKit2

[GTK] Build fix after r160737

Unreviewed.

Rename WebURLRequest to API::URLRequest

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

(didReceiveWebViewMessageFromInjectedBundle):

  • UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:

(webkitNavigationPolicyDecisionCreate):

  • UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
  • UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:

(webkitResponsePolicyDecisionCreate):

  • UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_load_request):

  • UIProcess/API/gtk/WebKitWindowProperties.cpp:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(willSendRequestForFrame):

9:37 PM Changeset in webkit [160749] by jer.noble@apple.com
  • 6 edits
    1 add in trunk

Fix TimeRanges::intersectWith
https://bugs.webkit.org/show_bug.cgi?id=118802

Source/WebCore:

Test: TestWebKitAPI/Tests/WebCore/TimeRanges.cpp.

Reviewed by Eric Carlson.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • html/TimeRanges.cpp:

(TimeRanges::invert):
(TimeRanges::intersectWith):

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

Tools:

Reviewed by Eric Carlson.

Add unit tests for WebCore/TimeRanges.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/TimeRanges.cpp: Added.

(TestWebKitAPI::ToString):
(TestWebKitAPI::TEST):

8:32 PM Changeset in webkit [160748] by eric.carlson@apple.com
  • 3 edits
    2 adds in trunk

ASSERT setting pseudoID with registered DOMSubtreeModified listener
https://bugs.webkit.org/show_bug.cgi?id=125900

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/dom/attribute-set-before-element-in-tree.html

  • dom/Node.cpp:

(WebCore::Node::dispatchSubtreeModifiedEvent): Return early if the node does not have a

parent and does not have a DOMSubtreeModified listener.

LayoutTests:

  • fast/dom/attribute-set-before-element-in-tree-expected.txt: Added.
  • fast/dom/attribute-set-before-element-in-tree.html: Added.
8:18 PM Changeset in webkit [160747] by rniwa@webkit.org
  • 7 edits in trunk/Source/WebCore

Remove dead code for reflected attributes from audio, video, and track elements
https://bugs.webkit.org/show_bug.cgi?id=125838

Reviewed by Eric Carlson.

Merge https://chromium.googlesource.com/chromium/blink/+/310514e2f0fd934975b841d463bad0cd62e6fd64

Where [Reflect] is used in the IDL, the getters and setters in C++ are
only for internal convenience, and these were unused.

  • html/HTMLMediaElement.cpp:
  • html/HTMLMediaElement.h:
  • html/HTMLTrackElement.cpp:
  • html/HTMLTrackElement.h:
  • html/HTMLVideoElement.cpp:
  • html/HTMLVideoElement.h:
7:45 PM Changeset in webkit [160746] by msaboff@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix varargs calls to work on C stack
https://bugs.webkit.org/show_bug.cgi?id=125903

Reviewed by Filip Pizlo.

Fixed up the stack pointer after the sizeAndAllocFrameForVarargs() has been called in both the
LLInt and baseline JIT code. Adjusted the callee frame calculations in sizeAndAllocFrameForVarargs()
and compileLoadVarargs() to create aligned callee frames.

  • interpreter/Interpreter.cpp:

(JSC::sizeAndAllocFrameForVarargs):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JITCall.cpp:

(JSC::JIT::compileLoadVarargs):

  • llint/LowLevelInterpreter.asm:
7:38 PM Changeset in webkit [160745] by mark.lam@apple.com
  • 11 edits in branches/jsCStack/Source/JavaScriptCore

frameRegisterCount() should include maxFrameExtentForSlowPathCall.
https://bugs.webkit.org/show_bug.cgi?id=125881.

Reviewed by Geoffrey Garen, Michael Saboff, and Filip Pizlo.

  • assembler/MaxFrameExtentForSlowPathCall.h:
  • Added CallerFrameAndPCSize to all the maxFrameExtentForSlowPathCall values.
  • bytecode/VirtualRegister.h:

(JSC::VirtualRegister::offsetInBytes):

  • dfg/DFGGraph.cpp:

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

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):
(JSC::JIT::frameRegisterCountFor):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • Adjusted maxFrameExtentForSlowPathCall values for CallerFrameAndPCSize.
  • llint/LLIntEntrypoint.cpp:

(JSC::LLInt::frameRegisterCountFor):

  • llint/LowLevelInterpreter.asm:
  • Adjusted maxFrameExtentForSlowPathCall values for CallerFrameAndPCSize.
7:25 PM Changeset in webkit [160744] by ap@apple.com
  • 3 edits in trunk/Tools

Botwatcher's dashboard ceases to update itself after a while
https://bugs.webkit.org/show_bug.cgi?id=125885

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

Removed code that checked for the view being hidden. It's none of model's business.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView): Find out what platform the view is for. Initlialize update timer.
(BuildbotQueueView.prototype._updateHiddenState): Start or stop update timer as appropriate.
We now stop the timer for hidden views.
(BuildbotQueueView.prototype._updateQueues): Removed the logic for ignoring some updates.

6:16 PM Changeset in webkit [160743] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed build fix on EFL port after r160737

Rename WebURLRequest to API::URLRequest

  • CMakeLists.txt:
  • UIProcess/API/efl/ewk_url_request_private.h:
6:00 PM Changeset in webkit [160742] by Simon Fraser
  • 7 edits in trunk/Source

Rename "canRubberBands" to "canRubberBand"
https://bugs.webkit.org/show_bug.cgi?id=125897

Reviewed by Anders Carlsson.

Rename "canRubberBands" to "canRubberBand" in various places.

Source/WebCore:

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::setCanRubberBandState):

  • page/scrolling/ScrollingTree.h:

Source/WebKit2:

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/EventDispatcher.messages.in:
5:28 PM Changeset in webkit [160741] by andersca@apple.com
  • 3 edits in trunk/Tools

Fix the 32-bit build.

  • MiniBrowser/MiniBrowserWebProcessPlugIn.h:
  • MiniBrowser/MiniBrowserWebProcessPlugIn.m:
5:05 PM Changeset in webkit [160740] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2 View Gestures: Fix the shadow layer restore-from-overpinched animation
https://bugs.webkit.org/show_bug.cgi?id=125884

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Set to-values on the right animations.

(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
We don't need to explicitly set the shadow path, because PlatformCALayer::setBounds does it for us now.

4:57 PM Changeset in webkit [160739] by jer.noble@apple.com
  • 5 edits
    2 adds in trunk

[MSE] Update duration after appending samples, per spec.
https://bugs.webkit.org/show_bug.cgi?id=125703

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-duration-after-append.html

After appending a sample, update the MediaSource duration if the sample's
presentation end time is greater than the existing duration.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

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

(WebCore::MediaSourcePrivateAVFObjC::setDuration): Notify the MediaPlayer.

LayoutTests:

  • media/media-source/media-source-duration-after-append-expected.txt: Added.
  • media/media-source/media-source-duration-after-append.html: Added.
4:56 PM Changeset in webkit [160738] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] Null-deref in CMSampleBufferIsRandomAccess().
https://bugs.webkit.org/show_bug.cgi?id=125698

Reviewed by Sam Weinig.

If a given CMSampleBufferRef does not have a sample attachments array (which is unlikely, but
possible), CMSampleBufferGetAttachmentsArray() will return a null value.

Additionally, the CMSampleBuffer documentation states that "samples are assumed to be sync
samples by default", so the absence of an attachment array (or the absense of a
kCMSampleAttachmentKey_NotSync entry in any of the attachment dictionaries) indicates the
sample is sync.

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

(WebCore::CMSampleBufferIsRandomAccess):

4:54 PM Changeset in webkit [160737] by weinig@apple.com
  • 22 edits
    2 moves in trunk/Source/WebKit2

[WK2] Rename WebURLRequest to API::URLRequest
https://bugs.webkit.org/show_bug.cgi?id=125886

Reviewed by Anders Carlsson.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI):

  • Shared/API/c/WKURLRequest.cpp:

(WKURLRequestGetTypeID):
(WKURLRequestCreateWithWKURL):
(WKURLRequestSetDefaultTimeoutInterval):

  • Shared/API/c/mac/WKURLRequestNS.mm:

(WKURLRequestCreateWithNSURLRequest):

  • Shared/APIString.h:
  • Shared/APIURLRequest.cpp: Copied from Source/WebKit2/Shared/WebURLRequest.cpp.

(API::URLRequest::URLRequest):
(API::URLRequest::defaultTimeoutInterval):
(API::URLRequest::setDefaultTimeoutInterval):
(API::URLRequest::encode):
(API::URLRequest::decode):

  • Shared/APIURLRequest.h: Copied from Source/WebKit2/Shared/WebURLRequest.h.

(API::URLRequest::create):

  • Shared/UserData.cpp:

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

  • Shared/UserMessageCoders.h:

(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):

  • Shared/WebURLRequest.cpp: Removed.
  • Shared/WebURLRequest.h: Removed.
  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/API/C/WKDownload.cpp:

(WKDownloadCopyRequest):

  • UIProcess/API/C/WKNavigationDataRef.cpp:

(WKNavigationDataCopyOriginalRequest):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadRequest:userData:]):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createNewWebProcess):

  • UIProcess/WebInspectorProxy.cpp:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadURLRequest):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPolicyClient.cpp:

(WebKit::WebPolicyClient::decidePolicyForNavigationAction):
(WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
(WebKit::WebPolicyClient::decidePolicyForResponse):

  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::createNewPage):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:

(WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):

  • WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:

(WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):

4:24 PM Changeset in webkit [160736] by andersca@apple.com
  • 3 edits
    6 adds in trunk/Tools

Give the MiniBrowser a bundle
https://bugs.webkit.org/show_bug.cgi?id=125882

Reviewed by Sam Weinig.

  • MiniBrowser/Configurations/MiniBrowserBundle.xcconfig: Added.
  • MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
  • MiniBrowser/MiniBrowserWebProcessPlugIn.h: Added.
  • MiniBrowser/MiniBrowserWebProcessPlugIn.m: Added.

(-[MiniBrowserWebProcessPlugIn webProcessPlugIn:initializeWithObject:]):

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate init]):

  • MiniBrowser/mac/Bundle/Info.plist: Added.
  • MiniBrowser/mac/Bundle/MiniBrowserBundle_Prefix.pch: Added.
4:20 PM Changeset in webkit [160735] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Source/JavaScriptCore

Merge the patch attached to <rdar://problem/15684269>

4:16 PM Changeset in webkit [160734] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

Video element's width and height content attributes should not influence intrinsic width and height
https://bugs.webkit.org/show_bug.cgi?id=125822

Reviewed by Darin Adler.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/022ce34efb5b70cb964c3ca29f23c8980ffaef05

The width/height content attributes already influence specified style via
HTMLVideoElement::collectStyleForPresentationAttribute, to also influence the intrinsic size has never
been part of the spec: http://www.w3.org/TR/2013/WD-html51-20130528/embedded-content-0.html#dom-dim-width

The test case passes in Firefox Nightly and IE11 Release Preview, but fails in Opera Presto, which has
no default intrinsic size.

Test: media/video-intrinsic-width-height.html

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::calculateIntrinsicSize):

LayoutTests:

  • media/video-intrinsic-width-height-expected.txt: Added.
  • media/video-intrinsic-width-height.html: Added.
4:15 PM Changeset in webkit [160733] by dbates@webkit.org
  • 72 edits
    3 adds in trunk/Source

[iOS] Upstream WebCore/html changes
https://bugs.webkit.org/show_bug.cgi?id=125765

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • html/Autocapitalize.cpp: Added.
  • html/Autocapitalize.h: Added. Also, added FIXME comment to forward declare AtomicString once we upstream

more of the iOS port.

  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent): Opt out of code when building for iOS.

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::isKeyboardFocusable): Added; iOS-specific.

  • html/BaseDateAndTimeInputType.h:
  • html/FileInputType.cpp:

(WebCore::FileInputType::FileInputType): Added iOS-specific code.
(WebCore::FileInputType::~FileInputType): Opt out of code when building for iOS. Also, added FIXME comment.
(WebCore::FileInputType::requestIcon): Ditto.
(WebCore::FileInputType::filesChosen): Added; iOS-specific.
(WebCore::FileInputType::displayString): Added; iOS-specific.
(WebCore::FileInputType::receiveDroppedFiles): Guarded code with ENABLE(DRAG_SUPPORT).

  • html/FileInputType.h:
  • html/FormController.cpp:

(WebCore::FormController::formElementsCharacterCount): Added.

  • html/FormController.h:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::updateWidget): Opt out of code when building for iOS.

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::computePath): Changed argument datatype from RenderElement* to RenderObject*.
Also, added FIXME comment to fix this up once we upstream iOS's DOMUIKitExtensions.{h, mm}.
(WebCore::HTMLAreaElement::computeRect): Ditto.

  • html/HTMLAreaElement.h:
  • html/HTMLAttributeNames.in: Added attributes ongesture{start, change, end}, autocorrect, autocapitalize,

data-youtube-id, onwebkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}, webkit-playsinline,
x-webkit-airplay, and x-webkit-wirelessvideoplaybackdisabled.

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::scrollLeft): Added iOS-specific code.
(WebCore::HTMLBodyElement::scrollTop): Ditto.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::HTMLCanvasElement): Added iOS-specific code and FIXME comment.
(WebCore::HTMLCanvasElement::createImageBuffer): Added iOS-specific code.

  • html/HTMLCanvasElement.h: Added iOS-specific code and FIXME comment.
  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::HTMLDocument): Added argument isSynthesized (default to false), which is
passed through to Document::Document(), to create a synthesized document.

  • html/HTMLDocument.h:

(WebCore::HTMLDocument::createSynthesizedDocument): Added.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::collectStyleForPresentationAttribute): Added iOS-specific code.
(WebCore::populateEventNameForAttributeLocalNameMap): Ditto.
(WebCore::HTMLElement::willRespondToMouseMoveEvents): Added; iOS-specific.
(WebCore::HTMLElement::willRespondToMouseWheelEvents): Added; iOS-specific.
(WebCore::HTMLElement::willRespondToMouseClickEvents): Added; iOS-specific.

  • html/HTMLElement.h:
  • html/HTMLFormControlElement.cpp: Added FIXME comment to share more code with class HTMLFormElement.

(WebCore::HTMLFormControlElement::autocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormControlElement::setAutocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormControlElement::autocapitalizeType): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormControlElement::autocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormControlElement::setAutocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).

  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp: Added FIXME comment to share more code with class HTMLFormControlElement.

(WebCore::HTMLFormElement::submitImplicitly): Modified to code to allow implicit submission of multi-input
forms only if Settings::allowMultiElementImplicitSubmission() returns true. Such behavior is expected by older
iOS apps. Also, changed datatype of variable submissionTriggerCount from int to unsigned because it represents
a non-negative value.
(WebCore::HTMLFormElement::autocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormElement::setAutocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormElement::autocapitalizeType): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormElement::autocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormElement::setAutocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).

  • html/HTMLFormElement.h:
  • html/HTMLFormElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
  • html/HTMLIFrameElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::displayString): Added; guarded by PLATFORM(IOS).
(WebCore::HTMLInputElement::dateType): Added; guarded by PLATFORM(IOS).

  • html/HTMLInputElement.h:
  • html/HTMLInputElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
  • html/HTMLLabelElement.cpp:

(WebCore::HTMLLabelElement::willRespondToMouseClickEvents): Added iOS-specific code.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Added iOS-specific code and FIXME comment.
(WebCore::HTMLMediaElement::~HTMLMediaElement): Added iOS-specific code.
(WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Added; iOS-specific.
(WebCore::HTMLMediaElement::parseAttribute): Added iOS-specific code.
(WebCore::HTMLMediaElement::insertedInto): Ditto.
(WebCore::HTMLMediaElement::load): Ditto.
(WebCore::HTMLMediaElement::prepareForLoad): Ditto.
(WebCore::HTMLMediaElement::autoplay): Ditto.
(WebCore::HTMLMediaElement::play): Ditto.
(WebCore::HTMLMediaElement::playInternal): Ditto.
(WebCore::HTMLMediaElement::pauseInternal): Ditto.
(WebCore::HTMLMediaElement::setVolumne): Opt out of code when building for iOS.
(WebCore::HTMLMediaElement::setMuted): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Added iOS-specific code.
(WebCore::HTMLMediaElement::updateVolume): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::userCancelledLoad): Added iOS-specific code and FIXME comment.
(WebCore::HTMLMediaElement::resume): Added iOS-specific comment. See <rdar://problem/9751303>.
(WebCore::HTMLMediaElement::deliverNotification): Added iOS-specific code.
(WebCore::HTMLMediaElement::getPluginProxyParams): Added iOS-specific code. Also, changed src() to getNonEmptyURLAttribute()
in the non-iOS code as their doesn't exist a method called src in this class or its superclasses.
(WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::mediaPlayerPlaybackTargetAvailabilityChanged): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::addEventListener): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::removeEventListener): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::enterFullscreen): Added iOS-specific code.
(WebCore::HTMLMediaElement::exitFullscreen): Ditto.
(WebCore::HTMLMediaElement::createMediaPlayer): Added ENABLE(IOS_AIRPLAY)-guarded code.
(WebCore::HTMLMediaElement::userRequestsMediaLoading): Added; guarded by PLATFORM(IOS).
(WebCore::HTMLMediaElement::shouldUseVideoPluginProxy): Use dot operator instead of dereference operator (->)
when accessing Document::settings().
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Added ENABLE(PLUGIN_PROXY_FOR_VIDEO)-guarded code.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::userGestureRequiredToShowPlaybackTargetPicker): Added; guarded by ENABLE(IOS_AIRPLAY).

  • html/HTMLMediaElement.idl: Added ENABLE_IOS_AIRPLAY-guarded attributes and functions:webkitCurrentPlaybackTargetIsWireless,

onwebkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}, and webkitShowPlaybackTargetPicker().

  • html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::process): Added iOS-specific code.

  • html/HTMLObjectElement.cpp:

(WebCore::shouldNotPerformURLAdjustment): Added; iOS-specific.
(WebCore::HTMLObjectElement::parametersForPlugin): Modified to call shouldNotPerformURLAdjustment() when
building for iOS.

  • html/HTMLPlugInElement.h:
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::createRenderer): Added iOS-specific code.
(WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree): Added; iOS-specific.

  • html/HTMLPlugInImageElement.h:
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::usesMenuList): Added iOS-specific code.
(WebCore::HTMLSelectElement::createRenderer): Ditto.
(WebCore::HTMLSelectElement::childShouldCreateRenderer): Ditto.
(WebCore::HTMLSelectElement::willRespondToMouseClickEvents): Added; iOS-specific.
(WebCore::HTMLSelectElement::updateListBoxSelection): Added iOS-specific code.
(WebCore::HTMLSelectElement::scrollToSelection): Ditto.
(WebCore::HTMLSelectElement::setOptionsChangedOnRenderer): Ditto.
(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Opt out of code when building for iOS.
(WebCore::HTMLSelectElement::defaultEventHandler): Added iOS-specific code.

  • html/HTMLSelectElement.h:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents): Added; iOS-specific.

  • html/HTMLTextAreaElement.h:
  • html/HTMLTextAreaElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::select): Added iOS-specific code and FIXME comment.
(WebCore::HTMLTextFormControlElement::setSelectionRange): Opt out of code when building for iOS.
(WebCore::HTMLTextFormControlElement::hidePlaceholder): Added; guarded by PLATFORM(IOS).
(WebCore::HTMLTextFormControlElement::showPlaceholderIfNecessary): Added; guarded by PLATFORM(IOS).

  • html/HTMLTextFormControlElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::createRenderer): Fix up call to HTMLMediaElement::createRenderer().
(WebCore::HTMLVideoElement::parseAttribute): Added iOS-specific code.
(WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
(WebCore::HTMLVideoElement::webkitWirelessVideoPlaybackDisabled): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLVideoElement::setWebkitWirelessVideoPlaybackDisabled): Added; guarded by ENABLE(IOS_AIRPLAY).

  • html/HTMLVideoElement.h:
  • html/HTMLVideoElement.idl: Added ENABLE_IOS_AIRPLAY-guarded attribute: webkitWirelessVideoPlaybackDisabled.
  • html/ImageDocument.cpp:

(WebCore::ImageDocument::createDocumentStructure): Added iOS-specific code.
(WebCore::ImageDocument::scale): Ditto.
(WebCore::ImageDocument::resizeImageToFit): Ditto.
(WebCore::ImageDocument::imageClicked): Ditto.
(WebCore::ImageDocument::imageFitsInWindow): Ditto.
(WebCore::ImageDocument::windowSizeChanged): Ditto.

  • html/InputType.cpp:

(WebCore::InputType::dateType): Added; guarded by PLATFORM(IOS).
(WebCore::InputType::isKeyboardFocusable): Added iOS-specific code.
(WebCore::InputType::displayString): Added; guarded by PLATFORM(IOS).

  • html/InputType.h:
  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure): Added iOS-specific code.

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::handleTouchEvent): Ditto.
(WebCore::RangeInputType::disabledAttributeChanged): Added; iOS-specific.

  • html/RangeInputType.h:
  • html/SearchInputType.cpp:

(WebCore::SearchInputType::addSearchResult): Opt out of code when building for iOS.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::isKeyboardFocusable): Added iOS-specific code.

  • html/TextFieldInputType.h:
  • html/WebAutocapitalize.h: Added.
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::createImageData): Added iOS-specific code.
(WebCore::CanvasRenderingContext2D::getImageData): Ditto.

  • html/parser/HTMLConstructionSite.h:

(WebCore::HTMLConstructionSite::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).

  • html/parser/HTMLParserScheduler.h:

(WebCore::HTMLParserScheduler::checkForYieldBeforeToken): Added iOS-specific code.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::insertPhoneNumberLink): Added; guarded by PLATFORM(IOS).
(WebCore::HTMLTreeBuilder::linkifyPhoneNumbers): Added; guarded by PLATFORM(IOS).
(WebCore::disallowTelephoneNumberParsing): Added; guarded by PLATFORM(IOS).
(WebCore::shouldParseTelephoneNumbersInNode): Added; guarded by PLATFORM(IOS).
(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Added iOS-specific code.

  • html/parser/HTMLTreeBuilder.h:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Guarded member initialization of m_controls with ENABLE(VIDEO_TRACK). Also added UNUSED_PARAM(event) when building with
VIDEO_TRACK disabled.
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Added UNUSED_PARAM(event) when
building with VIDEO_TRACK disabled.

  • html/shadow/MediaControls.h:
  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::SliderThumbElement): Added iOS-specific code.
(WebCore::SliderThumbElement::dragFrom): Opt out of code when building for iOS.
(WebCore::SliderThumbElement::willDetachRenderers): Added iOS-specific code.
(WebCore::SliderThumbElement::exclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::setExclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::clearExclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::findTouchWithIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::handleTouchStart): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::handleTouchMove): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::handleTouchEndAndCancel): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::didAttachRenderers): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::handleTouchEvent): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::shouldAcceptTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::registerForTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::unregisterForTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::disabledAttributeChanged): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).

  • html/shadow/SliderThumbElement.h:
  • html/shadow/TextControlInnerElements.cpp:

(WebCore::SearchFieldResultsButtonElement::defaultEventHandler): Opt out of code when building for iOS.

  • html/shadow/TextControlInnerElements.h:
  • page/Settings.in: Added setting allowMultiElementImplicitSubmission to enable/disable multi-input implicit form

submission (disabled by default). Also added FIXME comment to rename this setting to allowMultiElementImplicitFormSubmission
once we upstream the iOS changes to WebView.mm.

Source/WTF:

Defined ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE, enabled by default on iOS.

  • wtf/FeatureDefines.h:
4:12 PM Changeset in webkit [160732] by beidson@apple.com
  • 37 edits in trunk/Source

DatabaseProcess: Pipe through object store IDs and transaction mode for "openTransaction"
https://bugs.webkit.org/show_bug.cgi?id=125872

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Make these enums into enum classes.
Add const maximums for each enum class that might be serialized to allow for conversion later:

  • Modules/indexeddb/IndexedDB.h:

Add cross-thread copying for these new enum classes.

  • platform/CrossThreadCopier.cpp:

(WebCore::::copy):

  • platform/CrossThreadCopier.h:

Adopt the new enum classes throughout the rest of WebCore:

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::stringToDirection):
(WebCore::IDBCursor::directionToString):

  • Modules/indexeddb/IDBCursor.h:
  • Modules/indexeddb/IDBCursorBackend.cpp:

(WebCore::IDBCursorBackend::deleteFunction):

  • Modules/indexeddb/IDBCursorBackend.h:

(WebCore::IDBCursorBackend::value):

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::createObjectStore):
(WebCore::IDBDatabaseBackend::deleteObjectStore):
(WebCore::IDBDatabaseBackend::createIndex):
(WebCore::IDBDatabaseBackend::deleteIndex):
(WebCore::IDBDatabaseBackend::get):
(WebCore::IDBDatabaseBackend::put):
(WebCore::IDBDatabaseBackend::setIndexKeys):
(WebCore::IDBDatabaseBackend::openCursor):
(WebCore::IDBDatabaseBackend::deleteRange):
(WebCore::IDBDatabaseBackend::clearObjectStore):
(WebCore::IDBDatabaseBackend::transactionStarted):
(WebCore::IDBDatabaseBackend::transactionFinished):
(WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
(WebCore::IDBDatabaseBackend::transactionFinishedAndCompleteFired):
(WebCore::IDBDatabaseBackend::createTransaction):
(WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackend::deleteDatabase):

  • Modules/indexeddb/IDBDatabaseBackend.h:
  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::open):
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):

  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::openCursor):

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::onUpgradeNeeded):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::setResultCursor):
(WebCore::IDBRequest::onSuccess):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::stringToMode):
(WebCore::IDBTransaction::modeToString):

  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::PutOperation::perform):

  • Modules/indexeddb/IDBTransactionCoordinator.cpp:

(WebCore::IDBTransactionCoordinator::processStartedTransactions):
(WebCore::IDBTransactionCoordinator::canRunTransaction):

  • Modules/indexeddb/IDBVersionChangeEvent.h:

(WebCore::IDBVersionChangeEvent::create):
(WebCore::IDBVersionChangeEvent::newVersion):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::objectStoreCursorOptions):
(WebCore::indexCursorOptions):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::get):
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):
(WebCore::IDBServerConnectionLevelDB::cursorPrefetchIteration):

  • WebCore.exp.in:

Source/WebKit2:

Pipe through the objectStoreIDs and mode:

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::openTransaction):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

Rework postTransactionOperation to take a pre-made AsyncTask to allow for different
transaction operation function signatures:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::openTransaction): Pipe through the objectStoreIDs and mode:
(WebKit::UniqueIDBDatabase::beginTransaction):
(WebKit::UniqueIDBDatabase::commitTransaction):
(WebKit::UniqueIDBDatabase::resetTransaction):
(WebKit::UniqueIDBDatabase::rollbackTransaction):
(WebKit::UniqueIDBDatabase::postTransactionOperation):
(WebKit::UniqueIDBDatabase::openBackingStoreTransaction):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

Pipe through the objectStoreIDs and mode:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
  • Platform/Logging.h: Add an IDB logging channel.
  • Shared/AsyncTask.h:

(WebKit::createAsyncTask): Add a 3-argument variant.

  • Shared/WebCrossThreadCopier.cpp:

(WebCore::::copy): Add a Vector<int64_t> copier.

  • Shared/WebCrossThreadCopier.h:

Add logging throughout currently implemented methods:

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::openTransaction): Pipe through the objectStoreIDs and mode.
(WebKit::WebIDBServerConnection::didOpenTransaction):
(WebKit::WebIDBServerConnection::beginTransaction):
(WebKit::WebIDBServerConnection::didBeginTransaction):
(WebKit::WebIDBServerConnection::commitTransaction):
(WebKit::WebIDBServerConnection::didCommitTransaction):
(WebKit::WebIDBServerConnection::resetTransaction):
(WebKit::WebIDBServerConnection::didResetTransaction):
(WebKit::WebIDBServerConnection::rollbackTransaction):
(WebKit::WebIDBServerConnection::didRollbackTransaction):

3:42 PM Changeset in webkit [160731] by barraclough@apple.com
  • 19 edits in trunk

Remove PageVisibilityStateUnloaded
https://bugs.webkit.org/show_bug.cgi?id=125869

Reviewed by Anders Carlsson.

This is not currently supported by WebKit, remove this enum value.
We can always add this back later if/when we add support for this state.

Source/WebCore:

  • page/PageVisibilityState.cpp:

(WebCore::pageVisibilityStateString):

  • page/PageVisibilityState.h:
    • removed PageVisibilityStateUnloaded

Source/WebKit/mac:

  • WebView/WebView.mm:

(core):
(kit):

  • WebView/WebViewPrivate.h:
    • removed PageVisibilityStateUnloaded/WebPageVisibilityStateUnloaded

Source/WebKit2:

  • Shared/API/c/WKPageVisibilityTypes.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toPageVisibilityState):

  • removed PageVisibilityStateUnloaded/kWKPageVisibilityStateUnloaded

Tools:

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::setPageVisibility):

  • TestWebKitAPI/Tests/WebKit2/PageVisibilityState.cpp:

(TestWebKitAPI::didRunStep3StateChangePrerenderToUnloaded):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setPageVisibility):

  • remove test for visibility state "unloaded"; this is no longer supported (it never really was).

LayoutTests:

  • fast/events/page-visibility-transition-test-expected.txt:
  • fast/events/page-visibility-transition-test.html:
    • remove test for visibility state "unloaded"; this is no longer supported (it never really was).
3:30 PM Changeset in webkit [160730] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Introduce a maxFrameExtentForSlowPathCallInRegisters value.
https://bugs.webkit.org/show_bug.cgi?id=125877.

Reviewed by Michael Saboff.

Sometimes, we need this max frame extent value in units of Registers.
So, might as well provide it at the source.

  • assembler/MaxFrameExtentForSlowPathCall.h:
2:19 PM Changeset in webkit [160729] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Sanitize skip entries for pop-up menu tests.

Pop-up menus are native controls on Mac, and block test progress when opened.

  • platform/mac/TestExpectations: Combined entries for these tests together, and

updated comments.

1:52 PM Changeset in webkit [160728] by Martin Robinson
  • 10 edits
    2 adds in trunk

[GTK] [CMake] Build the plugin process against GTK+ 2
https://bugs.webkit.org/show_bug.cgi?id=116374

Reviewed by Gustavo Noronha Silva.

.:

  • Source/cmake/FindGDK2.cmake: Added.
  • Source/cmake/FindGTK2.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Look for GTK2 and GDK2.
  • Source/cmake/WebKitMacros.cmake: Abstract WebKit2 IPC generation here so it

can be shared between the WebKit2 library and the plugin process.

Source/WebCore:

  • PlatformGTK.cmake: Split off the GTK+-dependent sources into

libWebCorePlatformGTK and compile libWebCorePlatformGTK2 when
WebKit2 is enabled.

Source/WebKit2:

  • CMakeLists.txt: Use the new GENERATE_WEBKIT2_MESSAGE_SOURCES macro so we

can share messaging file generation with the plugin process.

  • PlatformGTK.cmake: Add more files to the plugin process source list. Properly

generate message sources, add the appropriate include paths, defines, and libraries
for the plugin process.

Tools:

  • TestWebKitAPI/PlatformGTK.cmake: Add WebCorePlatformGTK to the list of

libraries required for WebCore unit tests.

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

Back out r159982
https://bugs.webkit.org/show_bug.cgi?id=125870
<rdar://problem/15598485>

Reviewed by Dan Bernstein.

Looks like r159982 caused intermittent crashes. Back it out for now.

  • UIProcess/WebContextUserMessageCoders.h:

(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):

  • UIProcess/WebPageGroup.cpp:
  • UIProcess/WebPageGroup.h:

(WebKit::WebPageGroup::sendToAllProcessesInGroup):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::initializeWebPage):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::disconnect):

  • UIProcess/WebProcessProxy.h:
1:20 PM Changeset in webkit [160726] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Revise filter-build-webkit to deal with Windows build logs
https://bugs.webkit.org/show_bug.cgi?id=125866

Reviewed by David Kilzer.

Enhance the script to accept a 'platform' argument. When platform
'win' is provided, use processing for the Windows build file format.
Otherwise, process the files as normal.

  • Scripts/filter-build-webkit:

(usageAndExit): Add a 'platform' argument
(shouldIgnoreLine): When platform == 'win' use the new Windows
rules for processing the build file.

1:18 PM Changeset in webkit [160725] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Compile fix for WebGL on Windows without GRAPHICS_SURFACE.
https://bugs.webkit.org/show_bug.cgi?id=125867

Patch by Alex Christensen <achristensen@webkit.org> on 2013-12-17
Reviewed by Martin Robinson.

Source/WebCore:

  • platform/graphics/opengl/GLPlatformSurface.cpp:

(WebCore::GLPlatformSurface::createOffScreenSurface):
Protect reference to EGLOffScreenSurface with USE(GRAPHICS_SURFACE).

Source/WTF:

  • wtf/FeatureDefines.h:

Removed unused ENABLE_GLIB_SUPPORT macro.

  • wtf/Platform.h:

Don't use GRAPHICS_SURFACE for WebGL on Windows.

12:48 PM Changeset in webkit [160724] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed test update for Windows.

  • platform/win/TestExpectations: Exclude a few more media-based

test files.

12:34 PM Changeset in webkit [160723] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test webaudio/delaynode-max-default-delay.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=121646

  • platform/mac/TestExpectations: Marking as such.
12:22 PM Changeset in webkit [160722] by ap@apple.com
  • 3 edits in trunk/Tools

Update style checker now that ENUM_CLASS is gone
https://bugs.webkit.org/show_bug.cgi?id=125864

Reviewed by Anders Carlsson.

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

(_EnumState.process_clean_line):
(check_braces):

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

(NoNonVirtualDestructorsTest.test_enum_casing.Foo):
(NoNonVirtualDestructorsTest.test_enum_casing):
(NoNonVirtualDestructorsTest.test_enum_casing.Enum123):
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.CPP11EnumClass):
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.MyEnum):
(WebKitStyleTest.test_braces.CPP11EnumClass):

12:13 PM Changeset in webkit [160721] by stavila@adobe.com
  • 3 edits
    6 adds in trunk

[CSS Regions] Positioned elements in regions get clipped if they fall outside the region
https://bugs.webkit.org/show_bug.cgi?id=117120

Reviewed by Mihnea Ovidenie.

Source/WebCore:

Fixed the computing of the box decorations clip rect when having statically positioned
elements inside positioned elements. The existing algorithm computed the rect in a loop
running up the containing block chain and only checked for positioned elements before
starting the loop. If a positioned elements was found in the middle of a loop (as would
be the case with a positioned element parenting a non-positioned element), it was not
correctly handled.
Also changed it so the clip is only performed in the fragmentation direction as that was
the original purpose of this method.

Tests: fast/regions/absolute-in-relative-overflow.html

fast/regions/static-in-relative-overflow.html
fast/regions/sticky-border-overflow.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):

LayoutTests:

Added tests for the correct painting of the borders of differently positioned elements overflowing regions.

  • fast/regions/absolute-in-relative-overflow-expected.html: Added.
  • fast/regions/absolute-in-relative-overflow.html: Added.
  • fast/regions/static-in-relative-overflow-expected.html: Added.
  • fast/regions/static-in-relative-overflow.html: Added.
  • fast/regions/sticky-border-overflow-expected.html: Added.
  • fast/regions/sticky-border-overflow.html: Added.
12:11 PM Changeset in webkit [160720] by commit-queue@webkit.org
  • 4 edits
    4 deletes in trunk

Unreviewed, rolling out r160717.
http://trac.webkit.org/changeset/160717
https://bugs.webkit.org/show_bug.cgi?id=125863

New tests are failing, and possibly broke an existing test
(Requested by ap on #webkit).

Source/WebCore:

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::collectFixedPositionedLayers):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):

LayoutTests:

  • fast/regions/repaint/fixed-in-named-flow-cb-changed-expected.txt: Removed.
  • fast/regions/repaint/fixed-in-named-flow-cb-changed.html: Removed.
  • fast/regions/repaint/fixed-in-named-flow-cb-changed2-expected.txt: Removed.
  • fast/regions/repaint/fixed-in-named-flow-cb-changed2.html: Removed.
12:10 PM Changeset in webkit [160719] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

Invalid dir attributes should resolve to ltr
https://bugs.webkit.org/show_bug.cgi?id=125830

Source/WebCore:

Reviewed by Darin Adler.

Merge https://chromium.googlesource.com/chromium/blink/+/2d592d1c998bec9438e421e1ce1ee6caba05a884

The dir attribute should resolve to direction: ltr by default when the attribute value is
"not in a defined state": http://www.w3.org/TR/2013/WD-html51-20130528/dom.html#the-directionality

Test: fast/dom/HTMLElement/set-and-clear-dir-attribute.html

  • html/HTMLElement.cpp:

(WebCore::isLTROrRTLIgnoringCase): Extracted from HTMLElement::directionality.
(WebCore::HTMLElement::collectStyleForPresentationAttribute):
(WebCore::HTMLElement::directionality):

LayoutTests:

Reviewed by Darin Adler.

  • fast/dom/HTMLElement/set-and-clear-dir-attribute-expected.txt: Added.
  • fast/dom/HTMLElement/set-and-clear-dir-attribute.html: Added.
11:46 AM Changeset in webkit [160718] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Fixed an assertion failure seen running some mixed-content tests.
https://bugs.webkit.org/show_bug.cgi?id=125862

Reviewed by Alexey Proskuryakov.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::didDisplayOrRunInsecureContent): Removed an assertion about the URL
of the main frame when dealing with a notification that could have come from any frame.

10:46 AM Changeset in webkit [160717] by mihnea@adobe.com
  • 4 edits
    4 adds in trunk

[CSSRegions] Incorrect repaint of fixed element with transformed parent
https://bugs.webkit.org/show_bug.cgi?id=125756

Reviewed by Darin Adler.

Source/WebCore:

When collecting the layers for fixed positioned elements with named flow
as a containing block, use layers collection at named flow layer level
instead of relying on the positioned elements collection.

Modified also FlowThreadController::collectFixedPositionedLayers function
to always return the layers sorted by z-index, as this operation was always
done at the call sites.

Tests: fast/regions/repaint/fixed-in-named-flow-cb-changed.html

fast/regions/repaint/fixed-in-named-flow-cb-changed2.html

  • rendering/FlowThreadController.cpp:

(WebCore::compareZIndex):
(WebCore::FlowThreadController::collectFixedPositionedLayers):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):

LayoutTests:

Add tests for a fixed positioned element with a parent that:

  1. dynamically gets a transform, in which case the fixed positioned element should be positioned

relative to its parent

  1. dynamically loses its transform, in which case the fixed positioned element should be positioned

relative to the view.

  • fast/regions/repaint/fixed-in-named-flow-cb-changed-expected.txt: Added.
  • fast/regions/repaint/fixed-in-named-flow-cb-changed.html: Added.
  • fast/regions/repaint/fixed-in-named-flow-cb-changed2-expected.txt: Added.
  • fast/regions/repaint/fixed-in-named-flow-cb-changed2.html: Added.
10:45 AM Changeset in webkit [160716] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

[Win] Fixed linker error with GStreamer.
https://bugs.webkit.org/show_bug.cgi?id=124861

Patch by Alex Christensen <achristensen@webkit.org> on 2013-12-17
Reviewed by Martin Robinson.

  • wtf/gobject/GOwnPtr.cpp:

(WTF::GError):

  • wtf/gobject/GOwnPtr.h:

Added WTF_EXPORT_PRIVATE to freeOwnedGPtr<GError> declaration and definition.

10:38 AM Changeset in webkit [160715] by Bem Jones-Bey
  • 5 edits in trunk

REGRESSION(r159166?): fast/block/float/float-with-fractional-height-vertical-lr.html, fast/block/float/float-with-fractional-height.html are failing
https://bugs.webkit.org/show_bug.cgi?id=124506

Reviewed by Dirk Schulze.

Source/WebCore:

Floor the endpoints of the floating object interval to keep the old
behavior until a better fix can be created.

No new tests, fixes regression in existing tests.

  • rendering/FloatingObjects.cpp:

(WebCore::FloatingObjects::intervalForFloatingObject):

LayoutTests:

Remove lines for tests that have been fixed by this patch.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
10:25 AM Changeset in webkit [160714] by msaboff@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix callee frame access in virtualForThunkGenerator when we don't emit prologue code
https://bugs.webkit.org/show_bug.cgi?id=125828

Not yet reviewed.

Added helpers to access the callee frame using the stack pointer taking into account that
the caller frame hasn't been pushed onto the stack.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitPutToCallFrameHeaderBeforePrologue):
(JSC::AssemblyHelpers::emitPutPayloadToCallFrameHeaderBeforePrologue):
(JSC::AssemblyHelpers::emitPutTagToCallFrameHeaderBeforePrologue):

  • jit/ThunkGenerators.cpp:

(JSC::virtualForThunkGenerator):

10:14 AM Changeset in webkit [160713] by alex.christensen@flexsim.com
  • 2 edits in trunk/Source/WebCore

[Win] Visual Studio workaround for compiling WebGL.
https://bugs.webkit.org/show_bug.cgi?id=125808

Reviewed by Darin Adler.

  • platform/graphics/GraphicsContext3D.cpp:

Don't inline outermost function to prevent Visual Studio crash.

10:08 AM Changeset in webkit [160712] by mario.prada@samsung.com
  • 12 edits in trunk

[ATK] Expose accessibility objects for <dl>, <dt> and <dd>
https://bugs.webkit.org/show_bug.cgi?id=125857

Reviewed by Chris Fleizach.

Source/WebCore:

Map description lists to the newly introduced ATK roles
ATK_ROLE_DESCRIPTION_LIST, ATK_ROLE_DESCRIPTION_TERM and
ATK_ROLE_DESCRIPTION_VALUE, introduced in ATK 2.11.4.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole): Do the right mapping.
(webkitAccessibleGetRole): Update call to atkRole, now that it
receives an AccessibilityObject* as parameter.

Tools:

Add mappings to DRT & WKTR for the newly exposed roles, and
increase the version of ATK used by the internal jhbuild.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
  • gtk/jhbuild.modules: Raise version of ATK up to 2.11.4.

LayoutTests:

Update test to update expectations.

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

Updated test expectations for other test using description lists.

  • platform/efl-wk1/accessibility/lists-expected.txt:
  • platform/efl-wk2/accessibility/lists-expected.txt:
  • platform/gtk/accessibility/lists-expected.txt:
9:56 AM Changeset in webkit [160711] by commit-queue@webkit.org
  • 6 edits
    4 adds in trunk

Ensure inferred mrows for msqrt, mstyle, merror, mphantom and math.
https://bugs.webkit.org/show_bug.cgi?id=124841

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-12-17
Reviewed by Darin Adler.

Source/WebCore:

Tests: mathml/presentation/inferred-mrow-baseline.html

mathml/presentation/inferred-mrow-stretchy.html

  • css/mathml.css: make merror, mphantom and mstyle behave like an mrow.

(mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle):
(math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle):

  • mathml/MathMLInlineContainerElement.cpp: ditto

(WebCore::MathMLInlineContainerElement::createRenderer):

  • mathml/mathtags.in: ditto
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::paint): fix failure in mathml/presentation/phantom.html now that phantom can stretch operators.

LayoutTests:

  • mathml/presentation/inferred-mrow-baseline-expected.txt: Added.
  • mathml/presentation/inferred-mrow-baseline.html: Added.
  • mathml/presentation/inferred-mrow-stretchy-expected.txt: Added.
  • mathml/presentation/inferred-mrow-stretchy.html: Added.
9:40 AM Changeset in webkit [160710] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Add properties related to the user agent string
https://bugs.webkit.org/show_bug.cgi?id=125856

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new properties.
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController applicationNameForUserAgent]): Added accessor.
(-[WKBrowsingContextController setApplicationNameForUserAgent:]): Ditto.
(-[WKBrowsingContextController customUserAgent]): Ditto.
(-[WKBrowsingContextController setCustomUserAgent:]): Ditto.

9:27 AM Changeset in webkit [160709] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Temporarily disable mediate tests to get bots green.

  • platform/win/TestExpectations: Turn off additional media-related

tests. These will be reactivated soon.

8:58 AM Changeset in webkit [160708] by mihnea@adobe.com
  • 5 edits
    33 moves
    4 adds
    1 delete in trunk/LayoutTests

[CSS Regions] Move regions tests from fast/repaint into fast/regions
https://bugs.webkit.org/show_bug.cgi?id=78786

Reviewed by Dirk Schulze.

Moved regions repaint tests from fast/repaint into fast/regions/repaint.
Moved regions repaint tests from fast/regions into fast/regions/repaint.
Adjusted paths, TestExpectations.

  • fast/regions/repaint/element-in-named-flow-absolute-from-fixed-expected.txt: Renamed from LayoutTests/fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt.
  • fast/regions/repaint/element-in-named-flow-absolute-from-fixed.html: Renamed from LayoutTests/fast/regions/element-in-named-flow-absolute-from-fixed.html.
  • fast/regions/repaint/element-in-named-flow-fixed-from-absolute-expected.txt: Renamed from LayoutTests/fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt.
  • fast/regions/repaint/element-in-named-flow-fixed-from-absolute.html: Renamed from LayoutTests/fast/regions/element-in-named-flow-fixed-from-absolute.html.
  • fast/regions/repaint/element-inflow-fixed-from-outflow-static-expected.txt: Renamed from LayoutTests/fast/regions/element-inflow-fixed-from-outflow-static-expected.txt.
  • fast/regions/repaint/element-inflow-fixed-from-outflow-static.html: Renamed from LayoutTests/fast/regions/element-inflow-fixed-from-outflow-static.html.
  • fast/regions/repaint/element-outflow-static-from-inflow-fixed-expected.txt: Renamed from LayoutTests/fast/regions/element-outflow-static-from-inflow-fixed-expected.txt.
  • fast/regions/repaint/element-outflow-static-from-inflow-fixed.html: Renamed from LayoutTests/fast/regions/element-outflow-static-from-inflow-fixed.html.
  • fast/regions/repaint/fixed-in-named-flow-scroll-expected.txt: Renamed from LayoutTests/fast/regions/fixed-in-named-flow-scroll-expected.txt.
  • fast/regions/repaint/fixed-in-named-flow-scroll.html: Renamed from LayoutTests/fast/regions/fixed-in-named-flow-scroll.html.
  • fast/regions/repaint/increasing-region-content-height-expected.txt: Renamed from LayoutTests/fast/repaint/increasing-region-content-height-expected.txt.
  • fast/regions/repaint/increasing-region-content-height.html: Renamed from LayoutTests/fast/repaint/increasing-region-content-height.html.
  • fast/regions/repaint/japanese-rl-selection-repaint-in-regions.html: Renamed from LayoutTests/fast/repaint/japanese-rl-selection-repaint-in-regions.html.
  • fast/regions/repaint/line-flow-with-floats-in-regions.html: Added.
  • fast/regions/repaint/overflow-flipped-writing-mode-block-in-regions.html: Renamed from LayoutTests/fast/repaint/overflow-flipped-writing-mode-block-in-regions.html.
  • fast/regions/repaint/region-painting-composited-element-expected.html: Renamed from LayoutTests/fast/repaint/region-painting-composited-element-expected.html.
  • fast/regions/repaint/region-painting-composited-element.html: Renamed from LayoutTests/fast/repaint/region-painting-composited-element.html.
  • fast/regions/repaint/region-painting-in-composited-view-expected.html: Renamed from LayoutTests/fast/repaint/region-painting-in-composited-view-expected.html.
  • fast/regions/repaint/region-painting-in-composited-view.html: Renamed from LayoutTests/fast/repaint/region-painting-in-composited-view.html.
  • fast/regions/repaint/region-painting-invalidation.html: Renamed from LayoutTests/fast/repaint/region-painting-invalidation.html.
  • fast/regions/repaint/region-painting-via-layout.html: Renamed from LayoutTests/fast/repaint/region-painting-via-layout.html.
  • fast/regions/repaint/repaint-regions-overflow-expected.txt: Renamed from LayoutTests/fast/repaint/repaint-regions-overflow-expected.txt.
  • fast/regions/repaint/repaint-regions-overflow.html: Renamed from LayoutTests/fast/repaint/repaint-regions-overflow.html.
  • fast/repaint/line-flow-with-floats-in-regions.html: Removed.
  • platform/efl/TestExpectations:
  • platform/efl/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Renamed from LayoutTests/platform/efl/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt.
  • platform/gtk/TestExpectations:
  • platform/mac/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Renamed from LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png.
  • platform/mac/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Renamed from LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt.
  • platform/mac/fast/regions/repaint/line-flow-with-floats-in-regions-expected.png: Renamed from LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.png.
  • platform/mac/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt: Renamed from LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.txt.
  • platform/mac/fast/regions/repaint/overflow-flipped-writing-mode-block-in-regions-expected.png: Renamed from LayoutTests/platform/mac/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.png.
  • platform/mac/fast/regions/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt: Renamed from LayoutTests/platform/mac/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt.
  • platform/mac/fast/regions/repaint/region-painting-invalidation-expected.png: Renamed from LayoutTests/platform/mac/fast/repaint/region-painting-invalidation-expected.png.
  • platform/mac/fast/regions/repaint/region-painting-invalidation-expected.txt: Renamed from LayoutTests/platform/mac/fast/repaint/region-painting-invalidation-expected.txt.
  • platform/mac/fast/regions/repaint/region-painting-via-layout-expected.png: Renamed from LayoutTests/platform/mac/fast/repaint/region-painting-via-layout-expected.png.
  • platform/mac/fast/regions/repaint/region-painting-via-layout-expected.txt: Renamed from LayoutTests/platform/mac/fast/repaint/region-painting-via-layout-expected.txt.
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
8:55 AM Changeset in webkit [160707] by commit-queue@webkit.org
  • 4 edits in trunk

Source/WebKit/win: [WinCairo] Compile fixes for GStreamer on Windows.
https://bugs.webkit.org/show_bug.cgi?id=124867

Patch by Alex Christensen <achristensen@webkit.org> on 2013-12-17
Reviewed by Philippe Normand.

  • WebView.cpp:

(WebView::enterFullscreenForNode):
(WebView::exitFullscreen):
GStreamer in WebKit does not support fullscreen, so
I added #if !USE(GSTREAMER) to the fullscreen code to get it to compile.

Tools: [WinCairo] Adding support for GStreamer and GLib.
https://bugs.webkit.org/show_bug.cgi?id=124867

Patch by Alex Christensen <achristensen@webkit.org> on 2013-12-17
Reviewed by Philippe Normand.

  • WinLauncher/WinLauncher.cpp:

(wWinMain):
Added g_main_context_iteration in main event loop.

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

Fix for C++ should have the & or * beside the type not the variable name check.
https://bugs.webkit.org/show_bug.cgi?id=125846

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-17
Reviewed by Darin Adler.

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

(check_spacing):

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

(CppStyleTest.test_pointer_reference_marker_location):

7:22 AM Changeset in webkit [160705] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[GTK] Some ANGLE headers missing from dist
https://bugs.webkit.org/show_bug.cgi?id=125782

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-12-17
Reviewed by Carlos Garcia Campos.

  • GNUmakefile.am: add a few headers that were missing from the build,

causing build failures when the system headers were incompatible.

7:06 AM Changeset in webkit [160704] by simon.pena@samsung.com
  • 4 edits in trunk

[NIX] Enable full debug builds by having ar creating thin archives
https://bugs.webkit.org/show_bug.cgi?id=125850

Reviewed by Csaba Osztrogonác.

By default, CMake uses ar to generate libWebCore.a with cr parameters
(do not warn if the library has to be created, and replace existing
files in the archive). That results in a very large file, and ar fails
with sizes over 4GB.

.:

Previously, debug builds on NIX were overriding CFLAGS in order to reduce
the size of the WebCore library. Once that ar creates thin archives, overriding
CFLAGS is no longer needed.

  • Source/cmake/OptionsNix.cmake: Remove CFLAGS override for debug builds.

Source/WebCore:

By using thin archives (the T option of ar), the generated
libWebCore.a is much smaller, and can be successfully archived. As a
result, we can generate a full debug build. This patch is based on Xan
López's webkit.org/b/110580.

  • PlatformNix.cmake: Instruct cmake to invoke ar with T option.
5:30 AM Changeset in webkit [160703] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Fix armv7 and sh4 builds.
https://bugs.webkit.org/show_bug.cgi?id=125848

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-12-17
Reviewed by Csaba Osztrogonác.

  • assembler/ARMv7Assembler.h: Include limits.h for INT_MIN.
  • assembler/SH4Assembler.h: Include limits.h for INT_MIN.
5:30 AM Changeset in webkit [160702] by mario.prada@samsung.com
  • 3 edits in trunk/LayoutTests

[GTK][WK2] rowAtIndex is not implemented in DRT/WKTR
https://bugs.webkit.org/show_bug.cgi?id=116971

Unreviewed. Moving test expectation to the right place, as this is
an issue that actually affects both to Webkit1 and Webkit2.

  • platform/gtk-wk2/TestExpectations: Removed expectation.
  • platform/gtk/TestExpectations: Added expectation.
4:26 AM Changeset in webkit [160701] by mihnea@adobe.com
  • 1 edit
    6 deletes in trunk/LayoutTests

[CSSRegions] Remove left-over test expectations in fast/regions/layers
https://bugs.webkit.org/show_bug.cgi?id=125841

Reviewed by Dirk Schulze.

The original tests were removed part of https://bugs.webkit.org/show_bug.cgi?id=121828
and added back as expectations only when https://bugs.webkit.org/show_bug.cgi?id=118665
landed.
They should be removed.

  • fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Removed.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Removed.
4:03 AM Changeset in webkit [160700] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r160336.

  • bindings/gobject/webkitdom.symbols: Add new methods exposed for

VideoPlaybackQuality.

2:43 AM Changeset in webkit [160699] by commit-queue@webkit.org
  • 3 edits
    6 adds in trunk

Fix hit testing for divs with a hierarchy of css transformed and non-transformed elements
https://bugs.webkit.org/show_bug.cgi?id=124777

Patch by Mihai Maerean <Mihai Maerean> on 2013-12-17
Reviewed by Darin Adler.

Source/WebCore:

After bug #124647, the hit test will still behave incorrectly for transformed divs with non
transformed siblings that are all inside a transformed element (tested by the
hover-rotated-with-children-negative-z.html layout test).

The fix is to not take zOffset into account during hit-testing when child layers are in the
same 3D rendering context. Only when preserve3d is true, should hit-testing compute the
zOffset of the layers with transformations and, when two layers overlap, to return the layer
with the highest zOffset.

The patch includes the work of a.renevier from https://codereview.chromium.org/79943002/

Tests: transforms/3d/hit-testing/hover-rotated-with-children-negative-z.html

transforms/3d/hit-testing/negative-zoffset-hit-test.html
transforms/3d/hit-testing/overlapping-layers-hit-test.html

  • rendering/RenderLayer.cpp:

(WebCore::computeZOffset):
(WebCore::RenderLayer::hitTestLayer):

LayoutTests:

  • transforms/3d/hit-testing/hover-rotated-with-children-negative-z.html: Added.
  • transforms/3d/hit-testing/hover-rotated-with-children-negative-z-expected.txt: Added.
  • transforms/3d/hit-testing/negative-zoffset-hit-test.html: Added.
  • transforms/3d/hit-testing/negative-zoffset-hit-test-expected.txt: Added.
  • transforms/3d/hit-testing/overlapping-layers-hit-test.html: Added.
  • transforms/3d/hit-testing/overlapping-layers-hit-test-expected.txt: Added.
2:41 AM Changeset in webkit [160698] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Remove a few more guards mistakenly added in r160367

Reviewed by Martin Robinson.

r160367 was too liberal in hiding APIs from the GObject DOM bindings.

  • Modules/battery/NavigatorBattery.idl: Expose NavigatorBattery.
2:39 AM Changeset in webkit [160697] by benjamin@webkit.org
  • 4 edits
    2 adds in trunk/Source

Add a simple register allocator to WebCore for x86_64
https://bugs.webkit.org/show_bug.cgi?id=125771

Reviewed by Geoffrey Garen.

Source/WebCore:

Add a brain dead register allocator to simplify the use of registers
when writting code generators.

RegisterAllocator has two purposes:
-make it easy to name registers properly.
-make it hard to reuse a register accidentally.

A helper class LocalRegister is also defined to provide an easy
way to work with registers within a C++ scope. For example:

LocalRegister elementPointer(allocator);
assembler.load(address, elementPointer);

RegisterAllocator makes no attempt at optimizing register allocations, but it reduces
implicit dependencies by returning used register at the end of the queue, making it less
likely they will be reused before their last instruction is executed.

The current implementation only support unix x86_64, it only uses caller saved registers.

  • WebCore.xcodeproj/project.pbxproj:
  • cssjit/RegisterAllocator.h: Added.

(WebCore::RegisterAllocator::allocateRegister): Provides any available register.
To restrict runtime exploitation of compiler bugs, the method crashes in release
if the register pool is empty.

(WebCore::RegisterAllocator::reserveRegister): Reserve a particular register.
(WebCore::RegisterAllocator::returnRegister): Return a previously allocated or reserved register.

(WebCore::RegisterAllocator::allocatedRegisters):
(WebCore::LocalRegister::LocalRegister):
(WebCore::LocalRegister::~LocalRegister):
(WebCore::LocalRegister::operator JSC::MacroAssembler::RegisterID):
(WebCore::RegisterAllocator::RegisterAllocator):

Source/WTF:

  • wtf/Platform.h: Add a new flag "CSS_SELECTOR_JIT" to guard

an experimental JIT compiler in WebCore.

Dec 16, 2013:

11:48 PM Changeset in webkit [160696] by barraclough@apple.com
  • 20 edits in trunk/Source/WebKit2

Add layer hosting mode to ViewState
https://bugs.webkit.org/show_bug.cgi?id=125803

Unreviewed - reverting last commit - might have broken tests. :-(

  • Shared/ViewState.h:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

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

(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
(WebKit::PageClientImpl::viewLayerHostingMode):

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::layerHostingModeDidChange):

  • UIProcess/PageClient.h:

(WebKit::PageClient::viewLayerHostingMode):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::updateViewState):
(WebKit::WebPageProxy::viewStateDidChange):
(WebKit::WebPageProxy::initializeCreationParameters):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::layerHostingMode):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::resumePainting):
(WebKit::DrawingArea::setLayerHostingMode):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::scalePage):
(WebKit::WebPage::setDeviceScaleFactor):
(WebKit::WebPage::setActive):
(WebKit::WebPage::setViewState):
(WebKit::WebPage::setWindowIsVisible):
(WebKit::WebPage::windowAndViewFramesChanged):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::layerHostingMode):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setLayerHostingMode):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::sendComplexTextInputToPlugin):
(WebKit::WebPage::setLayerHostingMode):

11:46 PM Changeset in webkit [160695] by barraclough@apple.com
  • 20 edits in trunk/Source/WebKit2

Add layer hosting mode to ViewState
https://bugs.webkit.org/show_bug.cgi?id=125803

Reviewed by Anders Carlsson.

When the view state of the page is updated the layer mode may also
change. Currently this is passed by a separate message, remove this
and fold it into ViewState.

Previously the setLayerHostingMode message would be passed to the
DrawingArea, which would inform the WebPage. Since the WebPage is
passed the SetVisibilityState messgae reverse this.

WebPageProxy had a policy of only updating the hosting mode when
visible - the value is sticky whilst the view is not visible. Make
this policy explicit in the PageClientImpl, rather then implicit
from the flow control.

  • Shared/ViewState.h:
    • Added ViewState::IsLayerWindowServerHosted.
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
    • removed layerHostingMode.
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::isLayerWindowServerHosted):
(WebKit::PageClientImpl::viewWillMoveToAnotherWindow):

  • viewLayerHostingMode -> isLayerWindowServerHosted, added m_layerHostingMode.
  • UIProcess/DrawingAreaProxy.h:
    • removed layerHostingModeDidChange.
  • UIProcess/PageClient.h:
    • viewLayerHostingMode -> isLayerWindowServerHosted.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • removed m_layerHostingMode.

(WebKit::WebPageProxy::updateViewState):

  • added IsLayerWindowServerHosted.

(WebKit::WebPageProxy::viewStateDidChange):

  • changes to ViewState::IsInWindow implies ViewState::IsLayerWindowServerHosted may change too.
  • remove special handling (separate message) for LayerHostingMode.

(WebKit::WebPageProxy::initializeCreationParameters):

  • removed m_layerHostingMode.
  • UIProcess/WebPageProxy.h:
    • removed m_layerHostingMode.
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
    • removed layerHostingModeDidChange.
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::setLayerHostingMode):
(WebKit::DrawingArea::didUpdate):

  • setLayerHostingMode takes a LayerHostingMode.
  • WebProcess/WebPage/DrawingArea.messages.in:
    • SetLayerHostingMode is no longer a message.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • removed m_layerHostingMode.

(WebKit::WebPage::setViewState):

  • handle ViewState::IsLayerWindowServerHosted.

(WebKit::WebPage::setLayerHostingMode):

  • moved from ~Mac.mm (matching other ViewState setters), calls to DrawingArea.
  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::layerHostingMode):

  • layerHostingMode queries m_viewState, removed m_layerHostingMode.
  • WebProcess/WebPage/ios/WebPageIOS.mm:
    • removed setLayerHostingMode.
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):

  • setLayerHostingMode takes a LayerHostingMode, WebPage now calls to DrawingArea.
  • WebProcess/WebPage/mac/WebPageMac.mm:
    • removed setLayerHostingMode.
10:09 PM Changeset in webkit [160694] by msaboff@apple.com
  • 9 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Need an implementation of sanitizeStack for C stack
https://bugs.webkit.org/show_bug.cgi?id=125719

Reviewed by Geoffrey Garen.

Implemented sanitizeStackForVM() as a LLInt stub. It clears memory beyond
the top of stack through the last stack top, which is stored in the VM.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • heap/Heap.cpp:

(JSC::Heap::markRoots):

  • interpreter/JSStack.cpp:

(JSC::JSStack::sanitizeStack):

  • llint/LowLevelInterpreter.asm:
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::sanitizeStackForVM):

  • runtime/VM.h:

(JSC::VM::lastStackTop):
(JSC::VM::setLastStackTop):

  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):

  • runtime/VMEntryScope.h:
8:12 PM Changeset in webkit [160693] by thiago.lacerda@openbossa.org
  • 10 edits
    11 adds in trunk

Checking RTCPeerConnection signalingState before setting local/remoteDescription
https://bugs.webkit.org/show_bug.cgi?id=125655

Reviewed by Eric Carlson.

Before setting a session description RTCPeerConnection must check if it is in valid state for that SDP type.

Source/WebCore:

New tests: fast/mediastream/RTCPeerConnection-have-local-answer.html

fast/mediastream/RTCPeerConnection-have-local-offer.html
fast/mediastream/RTCPeerConnection-have-local-pranswer.html
fast/mediastream/RTCPeerConnection-have-remote-offer.html
fast/mediastream/RTCPeerConnection-have-remote-pranswer.html
fast/mediastream/RTCPeerConnection-stable.html

Modified: fast/mediastream/RTCPeerConnection-remoteDescription.html

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::checkStateForLocalDescription): Checks if the current state of RTCPeerConnection is
valid for the local SDP that is being set.
(WebCore::RTCPeerConnection::checkStateForRemoteDescription): Checks if the current state of RTCPeerConnection
is valid for the remote SDP that is being set.
(WebCore::RTCPeerConnection::setLocalDescription): Now calls checkStateForLocalDescription prior to set the
local SDP.
(WebCore::RTCPeerConnection::setRemoteDescription): Now Calls checkStateForRemoteDescription prior to set the
remote SDP.

  • Modules/mediastream/RTCPeerConnection.h:
  • platform/mock/RTCNotifiersMock.cpp: Adding new class to notify RTCPeerConnection about a signaling state

change: SignalingStateNotifier.
(WebCore::SignalingStateNotifier::SignalingStateNotifier):
(WebCore::SignalingStateNotifier::fire):

  • platform/mock/RTCNotifiersMock.h:
  • platform/mock/RTCPeerConnectionHandlerMock.cpp:

(WebCore::RTCPeerConnectionHandlerMock::signalingStateFromSDP): Defines the new state that RTCPeerConnection
should be, according the SDP that is being set.
(WebCore::RTCPeerConnectionHandlerMock::setLocalDescription): Calls signalingStateFromSDP, in order to get the
new signaling state and notify RTCPeerConnection object.
(WebCore::RTCPeerConnectionHandlerMock::setRemoteDescription): Ditto.

  • platform/mock/RTCPeerConnectionHandlerMock.h:

LayoutTests:

  • fast/mediastream/RTCPeerConnection-have-local-answer.html: Added.
  • fast/mediastream/RTCPeerConnection-have-local-offer-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-have-local-offer.html: Added.
  • fast/mediastream/RTCPeerConnection-have-local-pranswer-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-have-local-pranswer.html: Added.
  • fast/mediastream/RTCPeerConnection-have-remote-offer-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-have-remote-offer.html: Added.
  • fast/mediastream/RTCPeerConnection-have-remote-pranswer-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-have-remote-pranswer.html: Added.
  • fast/mediastream/RTCPeerConnection-remoteDescription-expected.txt:
  • fast/mediastream/RTCPeerConnection-remoteDescription.html:
  • fast/mediastream/RTCPeerConnection-stable-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-stable.html: Added.
7:48 PM Changeset in webkit [160692] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Remove unused contentAnchor SPI from WKView
https://bugs.webkit.org/show_bug.cgi?id=125826

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView setFrameSize:]):
(-[WKView _setDrawingAreaSize:]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]):
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):

7:06 PM Changeset in webkit [160691] by alex.christensen@flexsim.com
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix for 64-bit.

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

Corrected 64-bit linker symbols.

6:56 PM Changeset in webkit [160690] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Revert a mysterious and inexplicable part of http://trac.webkit.org/changeset/160685

  • platform/KeyedCoding.h:

(WebCore::KeyedEncoder::encodeEnum):
(WebCore::KeyedEncoder::encodeObject):
(WebCore::KeyedEncoder::encodeConditionalObject):
(WebCore::KeyedEncoder::encodeObjects):

6:43 PM Changeset in webkit [160689] by rwlbuis@webkit.org
  • 2 edits in trunk/Tools

Add my Samsung email address.

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
6:43 PM Changeset in webkit [160688] by oliver@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Avoid indirect function calls for custom getters
https://bugs.webkit.org/show_bug.cgi?id=125821

Reviewed by Mark Hahnenberg.

Rather than invoking a helper function to perform an indirect call
through a function pointer, just have the JIT call the function directly.

Unfortunately this only works in JSVALUE64 at the moment as there
is not an obvious way to pass two EncodedJSValues uniformly over
the various effected JITs.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArguments):

  • jit/Repatch.cpp:

(JSC::generateProtoChainAccessStub):
(JSC::tryBuildGetByIDList):

6:27 PM Changeset in webkit [160687] by andersca@apple.com
  • 19 edits
    1 delete in trunk/Source

Remove EnumClass.h from WTF
https://bugs.webkit.org/show_bug.cgi?id=125820

Reviewed by Darin Adler.

Source/WebCore:

Replace uses of ENUM_CLASS with real enum class declarations.

  • Modules/webdatabase/DatabaseBasicTypes.h:
  • Modules/webdatabase/DatabaseError.h:
  • Modules/webdatabase/SQLTransactionState.h:
  • bindings/js/JSSubtleCryptoCustom.cpp:
  • bindings/js/SerializedScriptValue.cpp:
  • crypto/CryptoAlgorithmIdentifier.h:
  • crypto/CryptoAlgorithmParameters.h:
  • crypto/CryptoKey.h:
  • crypto/CryptoKeyData.h:
  • crypto/CryptoKeyType.h:
  • crypto/keys/CryptoKeyDataRSAComponents.h:
  • inspector/InspectorTimelineAgent.h:

Source/WTF:

All compilers we build on now support real strongly typed enums, so we can remove the ENUM_CLASS version.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CheckedArithmetic.h:
  • wtf/EnumClass.h: Removed.
6:16 PM Changeset in webkit [160686] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
https://bugs.webkit.org/show_bug.cgi?id=125750

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Remove some accidentally included commented out code.

6:12 PM Changeset in webkit [160685] by timothy_horton@apple.com
  • 7 edits in trunk/Source

WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
https://bugs.webkit.org/show_bug.cgi?id=125750

Reviewed by Simon Fraser.

When you let go of a pinch where you exceeded the maximum or minimum scale,
the view should animate back to the limit instead of snapping back.

  • UIProcess/mac/ViewGestureController.cpp:

(WebKit::ViewGestureController::endMagnificationGesture):
Unscrolling the scaled origin here is wrong; we should send the same
value for 'origin' for commitTransientZoom that we do for adjustTransientZoom.
The drawing area can deal with transforming that however it needs to call scalePage().

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::beginTransientZoom):
Drive-by use WebPage::mainFrameView().

(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
Update the shadow layer's bounds, position, and shadow path while zooming,
instead of hiding it.

(WebKit::transientZoomSnapAnimationForKeyPath):
Create a CABasicAnimation that stays applied to its target when it finishes,
lasts for a quarter second, and uses the ease-in-ease-out timing function.

(WebKit::constrainZoomOriginForFrameView):
When we land a transient zoom, there may be overhang areas (linen, in the case of Mac)
visible. During the commit animation, we should move the RenderView layer appropriately
so that the page covers the entire view and there are no overhang areas visible.
Adapt some code from ScrollableArea to constrain the zoom origin to do so.

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Animate the RenderView layer's transform, and the shadow layer's bounds, position, and path.
When they complete, apply the zoom via scalePage() and flush the layer tree (otherwise there
can be a flash between removing the animations and the next flush with the new scale).

(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
Move the code to land the transient zoom (via scalePage) and to put the shadow back
in the state WebCore left it out into its own function, so it can be called both from the
animation completion callback and from the short-circuit in the case where we don't need to animate.

  • WebCore.exp.in:

Export a few things so WebKit2 can use them.

6:02 PM Changeset in webkit [160684] by ryuan.choi@samsung.com
  • 5 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build after r160653.

Renamed WebData to API::Data

  • GNUmakefile.list.am: Added APIData.cpp and APIData.h
  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback):

  • UIProcess/API/gtk/WebKitWebResource.cpp:
  • UIProcess/API/gtk/WebKitWebView.cpp:
6:00 PM Changeset in webkit [160683] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Fix some whitespace issues in inspector code
https://bugs.webkit.org/show_bug.cgi?id=125814

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

Source/JavaScriptCore:

  • inspector/protocol/Debugger.json:
  • inspector/protocol/Runtime.json:
  • inspector/scripts/CodeGeneratorInspector.py:

(Generator.process_command):

Source/WebCore:

  • inspector/protocol/DOM.json:
  • inspector/protocol/DOMStorage.json:
  • inspector/protocol/Timeline.json:
5:36 PM Changeset in webkit [160682] by commit-queue@webkit.org
  • 10 edits
    2 deletes in trunk/Source/WebCore

Web Inspector: Use JSC::SourceID and JSC::BreakpointID instead of WebCore dups
https://bugs.webkit.org/show_bug.cgi?id=125818

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-16
Reviewed by Mark Lam.

Remove the WebCore typedefs of JSC types. Prefer JSC namespace
prefixed types throughout WebCore's Inspector code.

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/BreakpointID.h: Removed.
  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
(WebCore::ScriptDebugServer::dispatchDidParseSource):

  • bindings/js/ScriptDebugServer.h:
  • bindings/js/SourceID.h: Removed.
  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::parseLocation):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::continueToLocation):
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
(WebCore::InspectorDebuggerAgent::searchInContent):
(WebCore::InspectorDebuggerAgent::getScriptSource):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::clear):

  • inspector/InspectorDebuggerAgent.h:
  • inspector/ScriptDebugListener.h:
5:35 PM Changeset in webkit [160681] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] WKView sends unscaled scroll position to WKContentView
https://bugs.webkit.org/show_bug.cgi?id=125819

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-16
Reviewed by Anders Carlsson.

WKView was sending untransformed scroll coordinates to WKContentView. The scroll position
seen by WebKit was wrong when the content is scaled.

  • UIProcess/API/ios/WKView.mm:

(-[WKView _didScroll]):
(-[WKView scrollViewDidEndDragging:willDecelerate:]):
(-[WKView scrollViewDidEndDecelerating:]):
(-[WKView scrollViewDidScrollToTop:]):

5:33 PM Changeset in webkit [160680] by mhahnenberg@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Add some missing functions to MacroAssembler
https://bugs.webkit.org/show_bug.cgi?id=125809

Reviewed by Oliver Hunt.

  • assembler/AbstractMacroAssembler.h:
  • assembler/AssemblerBuffer.h:
  • assembler/LinkBuffer.cpp:
  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::storePtr):
(JSC::MacroAssembler::andPtr):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::and64):
(JSC::MacroAssemblerARM64::branchTest8):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::branchTest8):

  • assembler/X86Assembler.h:
5:32 PM Changeset in webkit [160679] by dbates@webkit.org
  • 40 edits in trunk/Source/WebCore

[iOS] Upstream WebCore/dom changes
https://bugs.webkit.org/show_bug.cgi?id=125646

Reviewed by David Kilzer.

  • WebCore.exp.in: Added symbol ZN7WebCore8Settings17setLayoutIntervalEi and removed symbol

ZN7WebCore24cLayoutScheduleThresholdE.

  • dom/ActiveDOMObject.h: Add suspension reason DocumentWillBePaused.
  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument): Opt-out of ENABLE(VIDEO) logic when
building for iOS.

  • dom/DeviceMotionClient.h: Made class non-copyable.

(WebCore::DeviceMotionClient::DeviceMotionClient): Added;

  • dom/DeviceMotionController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.

(WebCore::DeviceMotionController::suspendUpdates): Added; guarded by PLATFORM(IOS).
(WebCore::DeviceMotionController::resumeUpdates): Added; guarded by PLATFORM(IOS).

  • dom/DeviceMotionController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
  • dom/DeviceOrientationClient.h: Made class non-copyable.

(WebCore::DeviceOrientationClient::DeviceOrientationClient): Added.

  • dom/DeviceOrientationController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.

(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::suspendUpdates): Added; guarded by PLATFORM(IOS).
(WebCore::DeviceOrientationController::resumeUpdates): Added; guarded by PLATFORM(IOS).

  • dom/DeviceOrientationController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
  • dom/DeviceOrientationData.cpp:

(WebCore::DeviceOrientationData::create): Added; iOS-specific. Added FIXME comment.
(WebCore::DeviceOrientationData::DeviceOrientationData): Added iOS-specific code.
(WebCore::DeviceOrientationData::compassHeading): Added; guarded by PLATFORM(IOS).
(WebCore::DeviceOrientationData::compassAccuracy): Added; guarded by PLATFORM(IOS).
(WebCore::DeviceOrientationData::canProvideCompassHeading): Added; guarded by PLATFORM(IOS).
(WebCore::DeviceOrientationData::canProvideCompassAccuracy): Added; guarded by PLATFORM(IOS).

  • dom/DeviceOrientationData.h:
  • dom/DeviceOrientationEvent.idl: Added iOS-specific code.
  • dom/Document.cpp: Moved constant cLayoutScheduleThreshold to Settings.cpp and renamed it

layoutScheduleThreshold towards allowing a port to configure the layout interval.
(WebCore::Document::Document): Added optional argument isSynthesized, defaults false.
(WebCore::Document::~Document): Added iOS-specific code to destroy the device motion
and device orientation controllers.
(WebCore::Document::didBecomeCurrentDocumentInFrame): Added iOS-specific code with FIXME comment.
(WebCore::Document::prepareForDestruction): Added iOS-specific touch event code.
(WebCore::Document::removeAllEventListeners): Ditto.
(WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added; compiles to an empty function on
non-iOS port.
(WebCore::Document::suspendActiveDOMObjects): Modified to call platformSuspendOrStopActiveDOMObjects().
(WebCore::Document::resumeActiveDOMObjects): Ditto.
(WebCore::Document::stopActiveDOMObjects): Added.
(WebCore::Document::implicitClose): Modified to query Settings::layoutInterval().
(WebCore::Document::minimumLayoutDelay): Ditto.
(WebCore::Document::processViewport): Added iOS-specific code.
(WebCore::Document::updateViewportArguments): Ditto.
(WebCore::setParserFeature): Added; guarded by PLATFORM(IOS).
(WebCore::Document::processFormatDetection): Added; guarded by PLATFORM(IOS).
(WebCore::Document::processWebAppOrientations): Added; guarded by PLATFORM(IOS).
(WebCore::Document::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
(WebCore::Document::setIsTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
(WebCore::Document::isTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
(WebCore::Document::initSecurityContext): Added iOS-specific code.
(WebCore::Document::suspendScheduledTasks): Added; guarded by PLATFORM(IOS).
(WebCore::Document::deviceMotionController): Added; iOS-specific.
(WebCore::Document::deviceOrientationController): Added; iOS-specific.
(WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
(WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.

  • dom/Document.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).

(WebCore::Document::isSynthesized): Added.
(WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added.

  • dom/Document.idl:
  • dom/DocumentMarker.h: Added iOS-specific changes. We should look to reconcile the differences between

iOS and OpenSource. See <rdar://problem/11306422>.
(WebCore::DocumentMarker::AllMarkers::AllMarkers):
(WebCore::DocumentMarker::DocumentMarker): Added; iOS-specific.
(WebCore::DocumentMarker::alternatives): Added; iOS-specific.
(WebCore::DocumentMarker::setAlternative): Added; iOS-specific.
(WebCore::DocumentMarker::metadata): Added; iOS-specific.
(WebCore::DocumentMarker::setMetadata): Added; iOS-specific.

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addMarker):
(WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
(WebCore::DocumentMarkerController::addDictationResultMarker):
(WebCore::DocumentMarkerController::shiftMarkers):

  • dom/DocumentMarkerController.h:
  • dom/Element.cpp:

(WebCore::Element::focus): Add iOS-specific workaround for <rdar://problem/6699741>.

  • dom/Element.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
  • dom/EventContext.cpp: Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
  • dom/EventContext.h: Ditto.
  • dom/EventDispatcher.cpp:

(WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Ditto.
(WebCore::EventDispatcher::dispatchEvent): Ditto.
(WebCore::EventPath::EventPath): Ditto.

  • dom/EventNames.h: Added events webkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}

and gesture{change, end, start}.

  • dom/EventNames.in: Added event names GestureEvent and WebKitPlaybackTargetAvailabilityEvent conditioned on

the macro defines ENABLE_IOS_GESTURE_EVENTS and ENABLE_IOS_AIRPLAY.

  • dom/MouseRelatedEvent.cpp:

(WebCore::contentsScrollOffset): Added iOS-specific code.
(WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.

  • dom/Node.cpp:

(WebCore::Node::willBeDeletedFrom): Ditto.
(WebCore::Node::isDescendantOf): Fixed style issue in function prototype; moved '*' to the left side.
(WebCore::Node::isDescendantOrShadowDescendantOf): Added.
(WebCore::tryAddEventListener): Added iOS-specific code; also added FIXME comment.
(WebCore::tryRemoveEventListener): Ditto.
(WebCore::Node::dispatchEvent): Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
(WebCore::Node::defaultEventHandler): Added iOS-specific code.
(WebCore::Node::willRespondToMouseMoveEvents): Added iOS-specific code; also added FIXME comment.
(WebCore::Node::willRespondToMouseClickEvents): Added iOS-specific code; also added FIXME comment.
(WebCore::Node::willRespondToMouseWheelEvents): Added.

  • dom/Node.h:
  • dom/Position.h:

(WebCore::operator<): Added.
(WebCore::operator>): Added.
(WebCore::operator>=): Added.
(WebCore::operator<=): Added.

  • dom/Range.cpp:

(WebCore::Range::create): Added iOS-specific code; also added FIXME comment.
(WebCore::intervalsSufficientlyOverlap): Added; guarded by PLATFORM(IOS).
(WebCore::printRects): Added; guarded by PLATFORM(IOS).
(WebCore::adjustLineHeightOfSelectionRects): Added; guarded by PLATFORM(IOS).
(WebCore::coalesceSelectionRects): Added; guarded by PLATFORM(IOS).
(WebCore::Range::collectSelectionRects): Added; guarded by PLATFORM(IOS).

  • dom/Range.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Added iOS-specific code.
(WebCore::ScriptExecutionContext::dispatchErrorEvent): Ditto.

  • dom/TreeScope.cpp:

(WebCore::nodeFromPoint): Ditto.

  • dom/ViewportArguments.cpp:

(WebCore::computeViewportAttributes): Ditto.
(WebCore::setViewportFeature): Added iOS-specific code.
(WebCore::finalizeViewportArguments): Added; iOS-specific.

  • dom/ViewportArguments.h:
  • dom/make_names.pl: Added support to find the path to gcc with respect to the environment

variable SDKROOT.

  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::suspend):

  • page/Settings.cpp:

(WebCore::Settings::Settings): Initialize setting m_layoutInterval to layoutScheduleThreshold.
(WebCore::Settings::setLayoutInterval): Added.

  • page/Settings.h:

(WebCore::Settings::layoutInterval): Added.

5:12 PM Changeset in webkit [160678] by beidson@apple.com
  • 14 edits in trunk/Source/WebKit2

DatabaseProcess: Plumb through messaging for the 4 basic transaction operations
https://bugs.webkit.org/show_bug.cgi?id=125816

Reviewed by Alexey Proskuryakov.

The messaging begins and ends in the WebProcess:

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::beginTransaction):
(WebKit::WebIDBServerConnection::didBeginTransaction):
(WebKit::WebIDBServerConnection::commitTransaction):
(WebKit::WebIDBServerConnection::didCommitTransaction):
(WebKit::WebIDBServerConnection::resetTransaction):
(WebKit::WebIDBServerConnection::didResetTransaction):
(WebKit::WebIDBServerConnection::rollbackTransaction):
(WebKit::WebIDBServerConnection::didRollbackTransaction):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

It travels from the WebProcess to the DatabaseProcess connection:

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::beginTransaction):
(WebKit::DatabaseProcessIDBConnection::commitTransaction):
(WebKit::DatabaseProcessIDBConnection::resetTransaction):
(WebKit::DatabaseProcessIDBConnection::rollbackTransaction):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

It travels from the connection to the appropriate UniqueIDBDatabase:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::openTransaction):
(WebKit::UniqueIDBDatabase::beginTransaction):
(WebKit::UniqueIDBDatabase::commitTransaction):
(WebKit::UniqueIDBDatabase::resetTransaction):
(WebKit::UniqueIDBDatabase::rollbackTransaction):
(WebKit::UniqueIDBDatabase::postTransactionOperation):
(WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
(WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

The UniqueIDBDatabase object performs the operation with the backing store:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

And the SQLite backing store calls the appropriate method on the SQLite transaction:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:

(WebKit::SQLiteIDBTransaction::begin): Stubbed for now.
(WebKit::SQLiteIDBTransaction::commit): Ditto.
(WebKit::SQLiteIDBTransaction::reset): Ditto.
(WebKit::SQLiteIDBTransaction::rollback): Ditto.

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
4:55 PM Changeset in webkit [160677] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Attempt to fix the Windows build after r160672.

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::PlatformCALayerWin):

  • platform/graphics/ca/win/PlatformCALayerWin.h:
4:44 PM Changeset in webkit [160676] by ryuan.choi@samsung.com
  • 5 edits in trunk/Source/WebKit2

Unreviewed build fix on EFL port after r160653

Rename WebData to API::Data

  • CMakeLists.txt: Added APIData.cpp to include list.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::sessionStateData):
(WebKit::WebPageProxy::restoreFromSessionStateData):

  • UIProcess/soup/WebSoupRequestManagerProxy.cpp:

(WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest):

  • UIProcess/soup/WebSoupRequestManagerProxy.h:
4:35 PM Changeset in webkit [160675] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

WKView.magnification should include magnification due to the active gesture
https://bugs.webkit.org/show_bug.cgi?id=125813

Reviewed by Simon Fraser.

Make WKView.magnification respect active pinch-zoom gestures.

  • UIProcess/API/mac/WKView.mm:

(-[WKView magnification]):
If we have a ViewGestureController, defer to it for the current magnification.

  • UIProcess/mac/ViewGestureController.cpp:

(WebKit::ViewGestureController::magnification):
Return either the current pinch-zoom magnification, if we're in the middle of a gesture,
or the pageScaleFactor, if we're not.

  • UIProcess/mac/ViewGestureController.h:
4:29 PM Changeset in webkit [160674] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Correct typo that added a '\' at the

end of a line of the file.

4:24 PM Changeset in webkit [160673] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Remove the constraint that highlight rects must be smaller than the scrollview bounds
https://bugs.webkit.org/show_bug.cgi?id=125812

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-16
Reviewed by Dan Bernstein.

Currently, _scrollView is never set on WKInteractionView and all highlight rects are discarded.

Eventually, the constraint rect should be computed from the useful area of ScrollView and the scale
of the document. In the meantime, the constraint code is just causing troubles.

The issue is tracked by <rdar://problem/15673655>.

  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):

4:13 PM Changeset in webkit [160672] by Simon Fraser
  • 19 edits in trunk/Source

Apply overhang shadow and linen to UI-side layers
https://bugs.webkit.org/show_bug.cgi?id=125807

Source/WebCore:

Reviewed by Tim Horton.

With UI-side compositing, we need to apply the overhang shadow and linen
background to layers in the UI process. Achieve this by setting a "custom
appearance" flag on layers that need a shadow or linen background, and
migrating this flag to the UI process. Static functions on ScrollbarThemeMac
are exposed to do the actual setting.

  • WebCore.exp.in: Export ScrollbarThemeMac and GraphicsLayerCA functions.
  • WebCore.xcodeproj/project.pbxproj: ScrollbarThemeMac.h and ScrollbarThemeComposite.h

need to be Private.

  • platform/graphics/GraphicsLayer.cpp: Initialize m_customAppearance.

(WebCore::GraphicsLayer::GraphicsLayer):

  • platform/graphics/GraphicsLayer.h: Getter/setter for CustomAppearance.

(WebCore::GraphicsLayer::setCustomAppearance):
(WebCore::GraphicsLayer::customAppearance):

  • platform/graphics/ca/GraphicsLayerCA.cpp: Update CustomAppearanceChanged as

we do other properties.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateCustomAppearance):
(WebCore::GraphicsLayerCA::setCustomAppearance):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm: When we have a custom

appearance, use ScrollbarThemeMac functions to update the layer. Ensure
that if the bounds change, we update the shadow (whose path depends on the bounds).
(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::clone):
(PlatformCALayerMac::setBounds):
(PlatformCALayerMac::requiresCustomAppearanceUpdateOnBoundsChange):
(PlatformCALayerMac::updateCustomAppearance):

  • platform/mac/ScrollbarThemeMac.h: Export some static functions.
  • platform/mac/ScrollbarThemeMac.mm: Change code to use static functions.

(WebCore::ScrollbarThemeMac::setUpOverhangAreaBackground):
(WebCore::ScrollbarThemeMac::removeOverhangAreaBackground):
(WebCore::ScrollbarThemeMac::setUpOverhangAreaShadow):
(WebCore::ScrollbarThemeMac::removeOverhangAreaShadow):
(WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
(WebCore::ScrollbarThemeMac::setUpContentShadowLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateRootLayerPosition): No need to call
setUpContentShadowLayer() now when size changes; PlatformCALayer takes
care of that.
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Now set
custom appearance via GraphicsLayer.

Source/WebKit2:

Reviewed by Tim Horton.

With UI-side compositing, we need to apply the overhang shadow and linen
background to layers in the UI process. Achieve this by setting a "custom
appearance" flag on layers that need a shadow or linen background, and
migrating this flag to the UI process. Static functions on ScrollbarThemeMac
are exposed to do the actual setting.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::updateCustomAppearance): Use ScrollbarThemeMac to update the
appearance.
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):

  • Shared/mac/RemoteLayerTreeTransaction.h:
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::setBounds): If the bounds change, also set the
CustomAppearanceChanged bit so that the UI side updates the shadow bounds
(done here because the UI side is not stateful).
(PlatformCALayerRemote::requiresCustomAppearanceUpdateOnBoundsChange):
(PlatformCALayerRemote::customAppearance):
(PlatformCALayerRemote::updateCustomAppearance):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
4:06 PM Changeset in webkit [160671] by Brent Fulgham
  • 18 edits in trunk/Source

Source/JavaScriptCore: [Win] Remove dead code after conversion to VS2013
https://bugs.webkit.org/show_bug.cgi?id=125795

Reviewed by Darin Adler.

  • API/tests/testapi.c: Remove local nan implementation

Source/WebCore: [Win] Remove dead code after converstion to VS2013
https://bugs.webkit.org/show_bug.cgi?id=125795

Reviewed by Darin Adler.

  • WebCorePrefix.h: Remove VS2012 include kludge.
  • loader/FTPDirectoryParser.cpp: Remove gmtime workaround code.
  • page/DOMWindow.cpp: Remove older pointer-based open implementation.
  • page/DOMWindow.h: Ditto
  • platform/text/TextEncodingRegistry.cpp:

(WebCore::TextEncodingNameHash::equal): Remove optimization bug workaround

  • testing/Internals.cpp:

(WebCore::Internals::openDummyInspectorFrontend): Remove compiler workaround

Source/WebKit: [Win] Remove dead code after conversion to VS2013
https://bugs.webkit.org/show_bug.cgi?id=125795

Reviewed by Darin Adler.

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

Remove unused function exports.

Source/WTF: [Win] Remove dead code after conversion to VS2013
https://bugs.webkit.org/show_bug.cgi?id=125795

Reviewed by Darin Adler.

  • wtf/Assertions.h: Include <inttypes.h> now that it exists.
  • wtf/Compiler.h: Update compiler checks for VS2013, and

enable support for NEVER_INLINE

  • wtf/HashFunctions.h:

(WTF::PtrHash::hash): Remove compiler workaround.

  • wtf/MathExtras.h: Remove C99 functions that are now supplied

by the MS runtime library.

  • wtf/Platform.h: Remove old MSVC support flags.
  • wtf/StdLibExtras.h: Remove old MSVC workaround code.
4:01 PM Changeset in webkit [160670] by oliver@apple.com
  • 7 edits
    18 adds in trunk

Cache getters and custom accessors on the prototype chain
https://bugs.webkit.org/show_bug.cgi?id=125602

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Support caching of custom getters and accessors on the prototype chain.
This is relatively trivial and just requires a little work compared to
the direct access mode as we're under more register pressure.

  • bytecode/StructureStubInfo.h: Removed the unsued initGetByIdProto as it was confusing to still have it present.
  • jit/Repatch.cpp:

(JSC::generateProtoChainAccessStub):
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):

Tools:

Make sure bencher scripts also make noInline exist

  • Scripts/bencher:

LayoutTests:

Added a bunch of new tests

  • js/regress/chain-custom-getter-expected.txt: Added.
  • js/regress/chain-custom-getter.html: Added.
  • js/regress/chain-getter-access-expected.txt: Added.
  • js/regress/chain-getter-access.html: Added.
  • js/regress/proto-custom-getter-expected.txt: Added.
  • js/regress/proto-custom-getter.html: Added.
  • js/regress/proto-getter-access-expected.txt: Added.
  • js/regress/proto-getter-access.html: Added.
  • js/regress/resources/regress-pre.js: Made sure that noInline always exists (either using testRunner.neverInlineFunction or a no-op function if nothing else is available)
  • js/regress/script-tests/chain-custom-getter.js: Added.

(foo):

  • js/regress/script-tests/chain-getter-access.js: Added.

(o.get value):
(foo):

  • js/regress/script-tests/proto-custom-getter.js: Added.

(foo):

  • js/regress/script-tests/proto-getter-access.js: Added.

(o.get value):
(foo):

  • js/regress/script-tests/simple-custom-getter.js: Added.

(cycles.30000.numberObject.Number.foo):

  • js/regress/script-tests/simple-getter-access.js: Added.

(o.get value):
(foo):

  • js/regress/simple-custom-getter-expected.txt: Added.
  • js/regress/simple-custom-getter.html: Added.
  • js/regress/simple-getter-access-expected.txt: Added.
  • js/regress/simple-getter-access.html: Added.
3:54 PM Changeset in webkit [160669] by dbates@webkit.org
  • 10 edits in trunk/Source/WebCore

[iOS] Upstream WebCore/history changes
https://bugs.webkit.org/show_bug.cgi?id=125769

Reviewed by Darin Adler.

  • history/BackForwardClient.h:
  • history/BackForwardList.cpp:

(WebCore::BackForwardList::current): Added; guard by PLATFORM(IOS). Also added FIXME comment.
(WebCore::BackForwardList::setCurrent): Added; guard by PLATFORM(IOS). Also added FIXME comment.
(WebCore::BackForwardList::clearAllPageCaches): Added; guarded by PLATFORM(IOS).

  • history/BackForwardList.h:
  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore): Added iOS-specific code.
(WebCore::CachedFrame::CachedFrame): Ditto.

  • history/CachedPage.cpp:

(WebCore::CachedPage::restore): Ditto.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::HistoryItem): Ditto.

  • history/HistoryItem.h:

(WebCore::HistoryItem::scale): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::scaleIsInitial): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::setScale): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::viewportArguments): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::setViewportArguments): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::bookmarkID): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::setBookmarkID): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::sharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
(WebCore::HistoryItem::setSharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision): Added iOS-specific code.
(WebCore::logCanCachePageDecision): Ditto.
(WebCore::PageCache::canCachePageContainingThisFrame): Ditto.
(WebCore::PageCache::canCache): Ditto.
(WebCore::PageCache::pruneToCapacityNow): Added.

  • history/PageCache.h:
3:25 PM Changeset in webkit [160668] by dbates@webkit.org
  • 4 edits in trunk/Source/WebCore

[iOS] Upstream WebCore/svg changes
https://bugs.webkit.org/show_bug.cgi?id=125784

Reviewed by Darin Adler.

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::willRespondToMouseClickEvents): Added.

  • svg/SVGAElement.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::parseAttribute): Added attribute listeners for touch{cancel, end, move, start},
and gesture{change, end, start}.

3:23 PM Changeset in webkit [160667] by beidson@apple.com
  • 15 edits
    2 copies
    1 add in trunk/Source/WebKit2

DatabaseProcess: Implement openTransaction()
https://bugs.webkit.org/show_bug.cgi?id=125794

Reviewed by Darin Adler.

This patch hooks up all of the necessary infrastructure to open a uniquely
identified transaction in the DatabaseProcess backing store.

The transaction itself is not yet functional.

Add openTransaction messaging to the WebProcess side:

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::isClosed):
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::openTransaction):
(WebKit::WebIDBServerConnection::didOpenTransaction):
(WebKit::WebIDBServerConnection::deleteObjectStore):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

Add openTransaction messaging to the DatabaseProcess side:

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::openTransaction):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

Add a hashable identifier that represents a connection/transactionID pair:

  • DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h: Added.

(WebKit::IDBTransactionIdentifier::IDBTransactionIdentifier):
(WebKit::IDBTransactionIdentifier::isolatedCopy):
(WebKit::IDBTransactionIdentifier::isEmpty):
(WebKit::IDBTransactionIdentifier::hash):
(WebKit::IDBTransactionIdentifier::operator==):
(WebKit::IDBTransactionIdentifier::isHashTableDeletedValue):
(WebKit::IDBTransactionIdentifierHash::hash):
(WebKit::IDBTransactionIdentifierHash::equal):
(WebKit::IDBTransactionIdentifierHashTraits::isEmptyValue):

Allow that identifier to be cross-thread copied:

  • Shared/WebCrossThreadCopier.cpp:

(WebCore::::copy):

  • Shared/WebCrossThreadCopier.h:

Ask the backing store to open this uniquely identified transaction:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::openTransaction):
(WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::didOpenBackingStoreTransaction):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

Add the backing store implementation for opening a transaction:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

Object to represent the backing store transaction itself, to be used in future patches:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:

(WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction):

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:

(WebKit::SQLiteIDBTransaction::create):
(WebKit::SQLiteIDBTransaction::identifier):

  • WebKit2.xcodeproj/project.pbxproj:
2:59 PM Changeset in webkit [160666] by mark.lam@apple.com
  • 4 edits in branches/jsCStack/Source

Merged r160665 from trunk.

2013-12-16 Mark Lam <mark.lam@apple.com>

Change slow path result to take a void* instead of a ExecState*.
https://bugs.webkit.org/show_bug.cgi?id=125802.

Reviewed by Filip Pizlo.

This is in preparation for C Stack OSR entry work that is coming soon.
In the OSR entry case, we'll be returning a topOfFrame pointer value
instead of the ExecState*.

  • offlineasm/cloop.rb:
  • runtime/CommonSlowPaths.h: (JSC::encodeResult): (JSC::decodeResult):
2:52 PM Changeset in webkit [160665] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Change slow path result to take a void* instead of a ExecState*.
https://bugs.webkit.org/show_bug.cgi?id=125802.

Reviewed by Filip Pizlo.

This is in preparation for C Stack OSR entry work that is coming soon.
In the OSR entry case, we'll be returning a topOfFrame pointer value
instead of the ExecState*.

  • offlineasm/cloop.rb:
  • runtime/CommonSlowPaths.h:

(JSC::encodeResult):
(JSC::decodeResult):

2:51 PM Changeset in webkit [160664] by andersca@apple.com
  • 4 edits in trunk

Fix crash when trying to load a null HTML string
https://bugs.webkit.org/show_bug.cgi?id=125801

Reviewed by Dan Bernstein.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadString):
Check that the string is not null before calling is8Bit(). Also, Use the latin1 encoding for
8-bit strings, since Latin 1 strings are not necessarily valid UTF-8 strings.

Tools:

  • TestWebKitAPI/Tests/WebKit2/WillLoad.cpp:

(TestWebKitAPI::TEST_F):
Update test results.

2:41 PM Changeset in webkit [160663] by jpfau@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Cache partitioning asserts when associated NSURLRequest is nil
https://bugs.webkit.org/show_bug.cgi?id=125716

Reviewed by Darin Adler.

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::ResourceRequest::doUpdateResourceRequest):

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

[Cocoa] Expose whether the page contains only secure content
https://bugs.webkit.org/show_bug.cgi?id=125758

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController hasOnlySecureContent]): Added a getter that calls
PageLoadState::hasOnlySecureContent.

  • UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Declared new property.
  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::commitChanges): Notify observers of hasOnlySecureContent() changes.
(WebKit::PageLoadState::reset): Reset hasInsecureContent in the uncommitted state.
(WebKit::PageLoadState::hasOnlySecureContent): Added. Returns true if there is no insecure
content and the URL is an HTTPS URL.
(WebKit::PageLoadState::didCommitLoad): Set hasInsecureContent to false in the uncommitted
state.
(WebKit::PageLoadState::didDisplayOrRunInsecureContent): Set hasInsecureContent to true in
the uncommitted state.

  • UIProcess/PageLoadState.h:

(WebKit::PageLoadState::Data::Data): Added hasInsecureContent member.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didDisplayInsecureContentForFrame): Call
PageLoadState::didDisplayOrRunInsecureContent and commit the change before calling out to
the client.
(WebKit::WebPageProxy::didRunInsecureContentForFrame): Ditto.

2:07 PM Changeset in webkit [160661] by benjamin@webkit.org
  • 3 edits
    2 adds
    1 delete in trunk/Source/WebKit2

[WK2] The NetworkProcess tries to load SecItemShim.dylib on iOS
https://bugs.webkit.org/show_bug.cgi?id=125800

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-16
Reviewed by Dan Bernstein.

Give the NetworkService its own Info.plist configured without the Shim.

  • Configurations/NetworkService.xcconfig:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Renamed from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
  • WebKit2.xcodeproj/project.pbxproj:
1:31 PM Changeset in webkit [160660] by msaboff@apple.com
  • 7 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Eliminate topOfStack parameter from callToJavaScript() and callToNativeFunction()
https://bugs.webkit.org/show_bug.cgi?id=125791

Reviewed by Geoffrey Garen.

Eliminated topOfStack from the callToJavaScript() and callToNativeFunction() calling chains.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):

  • jit/JITCode.cpp:

(JSC::JITCode::execute):

  • jit/JITCode.h:
  • jit/JITStubs.h:
  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter.asm:
1:26 PM Changeset in webkit [160659] by beidson@apple.com
  • 4 edits in trunk/Source

DatabaseProcess: Fix a few bugs with opening an IDB connection
https://bugs.webkit.org/show_bug.cgi?id=125798

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::processPendingCalls): As the comment says, we should only

early return when there *are* pending delete calls. The logic here was backwards,
preventing the backend from ever getting to processPendingOpenCalls().

Source/WebKit2:

Database metadata always needs a non-zero database identifier, unique at runtime.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::generateDatabaseId):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):

1:23 PM Changeset in webkit [160658] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: REGRESSION(r160600) ASSERT failure in Heap::collect()
https://bugs.webkit.org/show_bug.cgi?id=125789

Reviewed by Geoffrey Garen.

Restored the shouldCollect() check so we don't collect on start up.
Eliminated the Options::disableGC() check since it is part of the
isDeferred() check.

  • heap/Heap.cpp:

(JSC::Heap::collectIfNecessaryOrDefer):

12:47 PM Changeset in webkit [160657] by andersca@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit2

UserData should encode and decode API::Data objects
https://bugs.webkit.org/show_bug.cgi?id=125799

Reviewed by Beth Dakin.

  • Shared/APIData.cpp: Added.

(API::Data::encode):
(API::Data::decode):

  • Shared/APIData.h:
  • Shared/UserData.cpp:

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

  • WebKit2.xcodeproj/project.pbxproj:
12:46 PM Changeset in webkit [160656] by mark.lam@apple.com
  • 7 edits in branches/jsCStack/Source/JavaScriptCore

Fix exception handling for the baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=125736.

Reviewed by Geoffrey Garen.

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):
Removed some unneeded code.

  1. Removed use of the oldCodeBlock variable which is only a copy of the codeBlock variable. There is no longer any reason to use a copy. Just use codeBlock directly instead.
  2. There's no need to set VM::topCallFrame. The UnwindFunctor automatically updates the incoming callFrame pointer reference to the frame that should be catching / handling the exception, and that is adequate for what we need.
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • Restored sp.
  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall):
(JSC::JIT::emit_op_catch):

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):
Fixed 2 issues:

  1. After returning from a native / host function, the thunk did not pop the native / host frame before executing exception handling code. This resulted in the VM trying to "unwind" the native / host frame which is not possible, and crashes ensue.
  2. After returning from a native / host function and discovering the need to handle an exception, the thunk was wrongly popping a non-existant return address off the stack. This caused the callerFrame pointer of the current frame to be popped off the stack, and havoc ensues.
  • llint/LowLevelInterpreter32_64.asm:
  • Updated to match exception handling code in LowLevelInterpreter64.asm.
  • runtime/VM.h:
  • Removed dead code.
12:44 PM Changeset in webkit [160655] by commit-queue@webkit.org
  • 43 edits in trunk

Fixed Win64 build on VS2013.
https://bugs.webkit.org/show_bug.cgi?id=125753

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

Source/JavaScriptCore:

Added correct PlatformToolset for 64-bit builds.

Source/ThirdParty/ANGLE:

  • ANGLE.vcxproj/libGLESv2.vcxproj:
  • ANGLE.vcxproj/preprocessor.vcxproj:
  • ANGLE.vcxproj/translator_common.vcxproj:
  • ANGLE.vcxproj/translator_glsl.vcxproj:
  • ANGLE.vcxproj/translator_hlsl.vcxproj:

Added correct PlatformToolset for 64-bit builds.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj:

Added correct PlatformToolset for 64-bit builds.

Source/WebInspectorUI:

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:

Added 64-bit configuration.

Source/WebKit:

  • WebKit.vcxproj/WebKit.sln:

Use new 64-bit WebInspectorUI configurations.

  • WebKit.vcxproj/Interfaces/Interfaces.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj:
  • WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj:

Added correct PlatformToolset for 64-bit builds.

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj:

Added correct PlatformToolset for 64-bit builds.

Tools:

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTree.vcxproj:
  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncher.vcxproj:
  • DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiff.vcxproj:
  • DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiffLauncher.vcxproj:
  • DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePlugin.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • WinLauncher/WinLauncher.vcxproj/WinLauncher.vcxproj:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
  • win/record-memory/record-memory.vcxproj:

Added correct PlatformToolset for 64-bit builds.

12:41 PM Changeset in webkit [160654] by Simon Fraser
  • 4 edits in trunk/Tools

Add a menu option to MiniBrowser to enable UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=125793

Reviewed by Anders Carlsson.

Make it possible to test UI-side compositing in MiniBrowser WK2 windows.

  • MiniBrowser/mac/BrowserWindowController.h: Add optional protocol method

to toggle UI-side compositing.

  • MiniBrowser/mac/MainMenu.xib: Add menu item to Debug menu.
  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController isUISideCompositingEnabled]):
(-[WK2BrowserWindowController toggleUISideCompositing:]):
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]):
Adjust the window title to indicate whether the window is using UI-side compositing.

12:21 PM Changeset in webkit [160653] by andersca@apple.com
  • 31 edits
    1 move in trunk/Source/WebKit2

Rename WebData to API::Data
https://bugs.webkit.org/show_bug.cgi?id=125797

Reviewed by Beth Dakin.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
(-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):

  • Shared/API/c/WKData.cpp:

(WKDataGetTypeID):
(WKDataCreate):

  • Shared/API/c/WKSharedAPICast.h:
  • Shared/API/c/mac/WKWebArchive.cpp:

(WKWebArchiveCopyData):

  • Shared/API/c/mac/WKWebArchiveResource.cpp:

(WKWebArchiveResourceCopyData):

  • Shared/APIData.h: Renamed from Source/WebKit2/Shared/WebData.h.

(API::Data::createWithoutCopying):
(API::Data::create):
(API::Data::~Data):
(API::Data::bytes):
(API::Data::size):
(API::Data::dataReference):
(API::Data::Data):
(API::Data::fastFreeBytes):

  • Shared/Cocoa/WKNSData.h:

(WebKit::wrapper):

  • Shared/Cocoa/WKNSData.mm:

(-[WKNSData dealloc]):

  • Shared/UserMessageCoders.h:

(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):

  • Shared/WebArchive.cpp:

(WebKit::WebArchive::create):
(WebKit::WebArchive::WebArchive):
(WebKit::WebArchive::data):

  • Shared/WebArchive.h:
  • Shared/WebArchiveResource.cpp:

(WebKit::WebArchiveResource::create):
(WebKit::WebArchiveResource::WebArchiveResource):
(WebKit::WebArchiveResource::data):

  • Shared/WebArchiveResource.h:
  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):

  • UIProcess/API/mac/WKPrintingView.mm:

(pageDidDrawToPDF):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::createData):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):

  • UIProcess/Downloads/DownloadProxy.h:

(WebKit::DownloadProxy::resumeData):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadWebArchiveData):
(WebKit::WebPageProxy::dataCallback):
(WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::saveDataToFileInDownloadsFolder):

  • UIProcess/WebUIClient.h:
  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::sessionStateData):
(WebKit::WebPageProxy::restoreFromSessionStateData):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleCreateWKDataFromUInt8Array):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::createWebDataFromUint8Array):

  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:

(WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:

(WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadDataImpl):

11:57 AM Changeset in webkit [160652] by Simon Fraser
  • 8 edits in trunk/Source/WebCore

Package up some data about scrollability into a struct for use in the scrolling tree
https://bugs.webkit.org/show_bug.cgi?id=125792

Reviewed by Beth Dakin.

Both scrolling state nodes and scrolling nodes share a set of parameters
relating to scrollability and rubberbanding, so package them into a struct
for re-use. Send the struct wholesale to the scrolling thread.

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollableAreaParameters::ScrollableAreaParameters): New struct.
(WebCore::ScrollableAreaParameters::operator==):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): Reordering.
(WebCore::ScrollingStateScrollingNode::setScrollOrigin): Moved.
(WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters): Set the parameters all at once.
(WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):

  • page/scrolling/ScrollingStateScrollingNode.h: Getters access the struct. Reorder member variables.
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::scrollOrigin):
(WebCore::ScrollingTreeScrollingNode::horizontalScrollElasticity):
(WebCore::ScrollingTreeScrollingNode::verticalScrollElasticity):
(WebCore::ScrollingTreeScrollingNode::hasEnabledHorizontalScrollbar):
(WebCore::ScrollingTreeScrollingNode::hasEnabledVerticalScrollbar):
(WebCore::ScrollingTreeScrollingNode::canHaveScrollbars):

  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm: Removed setScrollParametersForNode().

(WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated): Set the params in this
function. Reordering.

11:23 AM Changeset in webkit [160651] by commit-queue@webkit.org
  • 45 edits in trunk/Source/WebCore

CTTE: Convert more of SVG to use references
https://bugs.webkit.org/show_bug.cgi?id=125762

Patch by Sam Weinig <sam@webkit.org> on 2013-12-16
Reviewed by Darin Adler.

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::imageChanged):

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::removeFromCacheAndInvalidateDependencies):
(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):

  • rendering/svg/RenderSVGResource.h:
  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::removeClientFromCache):

  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
(WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
(WebCore::RenderSVGResourceContainer::markClientForInvalidation):
(WebCore::RenderSVGResourceContainer::removeClient):

  • rendering/svg/RenderSVGResourceContainer.h:
  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::removeClientFromCache):
(WebCore::RenderSVGResourceFilter::postApplyResource):
(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):

  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::removeClientFromCache):

  • rendering/svg/RenderSVGResourceGradient.h:
  • rendering/svg/RenderSVGResourceMarker.cpp:

(WebCore::RenderSVGResourceMarker::removeClientFromCache):

  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::removeClientFromCache):

  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::removeClientFromCache):

  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGResourceSolidColor.h:

(WebCore::RenderSVGResourceSolidColor::removeClientFromCache):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::invalidateResourcesOfChildren):

  • rendering/svg/SVGResources.cpp:

(WebCore::SVGResources::removeClientFromCache):

  • rendering/svg/SVGResources.h:
  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::clientLayoutChanged):
(WebCore::SVGResourcesCache::clientStyleChanged):
(WebCore::SVGResourcesCache::clientWasAddedToTree):
(WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
(WebCore::SVGResourcesCache::clientDestroyed):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::applyResultsToTarget):

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::svgAttributeChanged):

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::svgAttributeChanged):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::notifyFinished):

  • svg/SVGFELightElement.cpp:

(WebCore::SVGFELightElement::childrenChanged):

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::invalidateFilterPrimitiveParent):

  • svg/SVGFilterPrimitiveStandardAttributes.h:

(WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
(WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::svgAttributeChanged):

  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::svgAttributeChanged):

  • svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::svgAttributeChanged):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::svgAttributeChanged):

  • svg/SVGLineElement.cpp:

(WebCore::SVGLineElement::svgAttributeChanged):

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::invalidateMPathDependencies):
(WebCore::SVGPathElement::pathSegListChanged):

  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::svgAttributeChanged):

  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::svgAttributeChanged):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::setupInitialView):

  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::svgAttributeChanged):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::svgAttributeChanged):

  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::svgAttributeChanged):

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::svgAttributeChanged):

  • svg/SVGTextPositioningElement.cpp:

(WebCore::SVGTextPositioningElement::svgAttributeChanged):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::svgAttributeChanged):

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

Unreviewed, rolling out r160645.
http://trac.webkit.org/changeset/160645
https://bugs.webkit.org/show_bug.cgi?id=125787

Change breaks test-webkitpy (Requested by bfulgham on
#webkit).

  • Scripts/prepare-ChangeLog:

(get_selector_line_ranges_for_css):

10:17 AM Changeset in webkit [160649] by dfarler@apple.com
  • 3 edits in trunk/Tools

[ASAN] WebKitLauncher: Include libasancrashreporter.dylib in DYLD_INSERT_LIBRARIES if it exists
https://bugs.webkit.org/show_bug.cgi?id=124610

Reviewed by Mark Rowe.

  • WebKitLauncher/WebKitNightlyEnabler.m:

(enableWebKitNightlyBehaviour):
Add libasancrashreporter.dylib to DYLD_INSERT_LIBRARIES.

  • WebKitLauncher/main.m:

(main):
Include both libasancrashreporter and the nightly enabler to
the list of libraries to insert.

10:15 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
(diff)
10:10 AM Changeset in webkit [160648] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Delete RVCT related code parts.
https://bugs.webkit.org/show_bug.cgi?id=125626

Patch by Peter Szanka <h868064@stud.u-szeged.hu> on 2013-12-16
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • assembler/ARMAssembler.cpp:
  • assembler/ARMAssembler.h:

(JSC::ARMAssembler::cacheFlush):

  • assembler/MacroAssemblerARM.cpp:

(JSC::isVFPPresent):

  • jit/JITStubsARM.h:
  • jit/JITStubsARMv7.h:

Source/WebKit/blackberry:

  • WebKitSupport/AboutData.cpp:

(BlackBerry::WebKit::configPage):

Source/WTF:

  • wtf/Assertions.h:
  • wtf/Compiler.h:
  • wtf/FastMalloc.h:
  • wtf/Platform.h:
10:04 AM Changeset in webkit [160647] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Resolve inconsistant style warning caused by r160319.
https://bugs.webkit.org/show_bug.cgi?id=125772

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-16
Reviewed by Darin Adler.

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

(check_for_extra_new_line_at_eof):

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

(CppStyleTest.test_newline_at_eof):
(CppStyleTest.test_extra_newlines_at_eof):

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

Remove mock_drt.py: parse_options() - --test-shell and --pixel-tests=<path>
https://bugs.webkit.org/show_bug.cgi?id=125780

Patch by Eva Balazsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2013-12-16
Reviewed by Darin Adler.

  • Scripts/webkitpy/port/mock_drt.py:

(main):
(parse_options):
(MockDRT.write_test_output):

  • Scripts/webkitpy/port/mock_drt_unittest.py:

(MockDRTTest.assertTest):
(MockDRTTest.test_reftest_mismatch):

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

prepare-Changelog treats CSS keyframes as mismatched parentheses.
https://bugs.webkit.org/show_bug.cgi?id=125435

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-16
Reviewed by Darin Adler.

  • Scripts/prepare-ChangeLog:

(get_selector_line_ranges_for_css):

9:55 AM Changeset in webkit [160644] by hmuller@adobe.com
  • 6 edits
    2 adds in trunk

[CSS Shapes] Add support for the computing the included intervals for a BoxShape
https://bugs.webkit.org/show_bug.cgi?id=124605

Reviewed by Andreas Kling.

Source/WebCore:

Setting shape-inside to content-box now works.

Changed FloatRoundedRect::xInterceptsAtY() to include the bottom edge of
the rectangle and to check for the special cases where any or all of the
corner radii are empty.

Test: fast/shapes/shape-inside/shape-inside-content-box.html

  • platform/graphics/FloatRoundedRect.cpp:

(WebCore::FloatRoundedRect::xInterceptsAtY):

  • rendering/shapes/BoxShape.cpp:

(WebCore::BoxShape::getIncludedIntervals): Replaced the stub implementation with logic that's similar to getExcludedIntervals().

  • rendering/shapes/ShapeInfo.cpp:

(WebCore::::computedShape): Removed a meaningless assert.

  • rendering/shapes/ShapeInsideInfo.cpp:

(WebCore::ShapeInsideInfo::isEnabledFor):

LayoutTests:

Check that shape-inside:content-box works with and without border radii.

  • fast/shapes/shape-inside/shape-inside-content-box-expected.html: Added.
  • fast/shapes/shape-inside/shape-inside-content-box.html: Added.
9:01 AM Changeset in webkit [160643] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Source/WebKit2

Fix build warning in files including DrawingAreaProxy.h
https://bugs.webkit.org/show_bug.cgi?id=125778

Reviewed by Anders Carlsson.

Remove unused parameters from method declaration.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::adjustTransientZoom):
(WebKit::DrawingAreaProxy::commitTransientZoom):

8:45 AM Changeset in webkit [160642] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/bugs.webkit.org

PrettyPatch.rb doesn't handle diffs where lines matching /--/ are missing properly
https://bugs.webkit.org/show_bug.cgi?id=54928

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-16
Reviewed by Adam Roben.

PrettyPatch will now check if the next line after /--- / matches /+++ /, and if not,
then it's just a normal line

  • PrettyPatch/PrettyPatch.rb:
8:18 AM Changeset in webkit [160641] by mario.prada@samsung.com
  • 8 edits in trunk

[ATK] Expose accessibility objects for more WAI-ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=125596

Reviewed by Chris Fleizach.

Source/WebCore:

Exposed accessibility objects with the proper AtkRoles, some of
them to be provided by the next stable release of ATK.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

Tools:

Add mappings to DRT & WKTR for the newly exposed roles.

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

LayoutTests:

Update test to update expectations.

  • platform/gtk/accessibility/roles-exposed-expected.txt:
  • platform/gtk/accessibility/roles-exposed.html:
8:04 AM Changeset in webkit [160640] by eric.carlson@apple.com
  • 5 edits
    1 add in trunk

Fix QuickTime plug-in replacement scripting bugs
https://bugs.webkit.org/show_bug.cgi?id=125717

Reviewed by Sam Weinig.

Source/WebCore:

No new tests, existing test updated.

  • Modules/plugins/QuickTimePluginReplacement.js:

(Replacement): Change to "" to avoid "Empty character constant" warning when creating

Derived Sources.

(Replacement.prototype.createVideoElement): Handle qtsrc attribute. Remember base url.
(Replacement.prototype.setURL): Resolve urls relative to base.

LayoutTests:

  • plugins/quicktime-plugin-replacement-expected.txt:
  • plugins/quicktime-plugin-replacement.html: Update to test 'qtsrc' attribute, and to check

that relative urls are resolved correctly.

  • plugins/resources/yellow.mov: Added.
8:00 AM Changeset in webkit [160639] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Catch callers who forget to use initializeStyle
https://bugs.webkit.org/show_bug.cgi?id=125763

Reviewed by Andreas Kling.

A recent fix was because a caller used setStyle first rather than using
initializeStyle. This patch adds an assertion to catch cases where we do
that so we see the mistake right away instead of indirectly later.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::initializeStyle): Simplified an assertion.
(WebCore::RenderElement::setStyle): Added an assertion that m_hasInitializedStyle
is true, with an exception for RenderView, which needs to be created before we
have the correct style computed for it (at least for now). Also broke out an
assertion that was using &&, since we would prefer to know which clause failed,
making separate assertions more useful than a combined assertion.

7:58 AM Changeset in webkit [160638] by mario.prada@samsung.com
  • 8 edits in trunk

[ATK] Expose accessibility objects with ATK_ROLE_CHECK_MENU_ITEM
https://bugs.webkit.org/show_bug.cgi?id=125594

Reviewed by Chris Fleizach.

Source/WebCore:

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

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

Tools:

Add mappings to DRT & WKTR for checkmenuitem role.

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

LayoutTests:

Update test to update expectations.

  • platform/gtk/accessibility/roles-exposed-expected.txt:
  • platform/gtk/accessibility/roles-exposed.html:
7:17 AM Changeset in webkit [160637] by mario.prada@samsung.com
  • 9 edits in trunk

[ATK] Expose accessibility objects with ATK_ROLE_ARTICLE
https://bugs.webkit.org/show_bug.cgi?id=125587

Reviewed by Chris Fleizach.

Source/WebCore:

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

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

Tools:

Add mappings to DRT & WKTR for article roles.

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

LayoutTests:

Update test to unskip article objects and update expectations.

  • accessibility/aria-mappings-expected.txt:
  • platform/gtk/accessibility/roles-exposed-expected.txt:
  • platform/gtk/accessibility/roles-exposed.html:
7:08 AM Changeset in webkit [160636] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[FTL] Allow EFL to build FTL with the build-jsc script.
https://bugs.webkit.org/show_bug.cgi?id=125774

Patch by Dániel Bátyai <Dániel Bátyai> on 2013-12-16
Reviewed by Zoltan Herczeg.

  • Scripts/build-jsc:
6:56 AM Changeset in webkit [160635] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build after r160549.

  • GNUmakefile.am: Fix the include paths to make sure we include

the WebKit2 config.h file when building libWebKit2Platform.

5:19 AM Changeset in webkit [160634] by k.czech@samsung.com
  • 2 edits in trunk/Tools

Add myself as a committer

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
4:08 AM Changeset in webkit [160633] by svillar@igalia.com
  • 6 edits in trunk

[CSS Grid Layout] Fix the preferred logical widths code to work with spanning grid items
https://bugs.webkit.org/show_bug.cgi?id=123994

Reviewed by Andreas Kling.

From Blink r159189 by <jchaffraix@chromium.org>

Source/WebCore:

There was no definition in the specs for the intrinsic / preferred
logical widths on the grid element. The following was proposed to
the WG and later accepted:

  • The sum of the grid tracks' UsedBreadth is the minimum logical width
  • The sum of the grid tracks' MaxBreadth is the maximum logical width

http://lists.w3.org/Archives/Public/www-style/2013Oct/0054.html
for more information.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
(WebCore::RenderGrid::minContentForChild):
(WebCore::RenderGrid::maxContentForChild):

  • rendering/RenderGrid.h:

LayoutTests:

Extended the test case to include spanning grid items.

  • fast/css-grid-layout/grid-preferred-logical-widths-expected.txt:
  • fast/css-grid-layout/grid-preferred-logical-widths.html:
3:15 AM Changeset in webkit [160632] by svillar@igalia.com
  • 7 edits in trunk/Source/WebKit2

[GTK] can't build from trunk: WebKitCookieManager: 'WebString' was not declared in this scope
https://bugs.webkit.org/show_bug.cgi?id=125759

Reviewed by Carlos Garcia Campos.

Renamed WebString to API::String after r160608.

  • UIProcess/API/gtk/WebKitCookieManager.cpp:

(webkitCookieManagerGetDomainsWithCookiesCallback):

  • UIProcess/API/gtk/WebKitFileChooserRequest.cpp:

(webkit_file_chooser_request_get_mime_types):
(webkit_file_chooser_request_get_mime_types_filter):
(webkit_file_chooser_request_get_selected_files):

  • UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:

(webkit_form_submission_request_get_text_fields):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_set_web_extensions_directory):
(webkit_web_context_prefetch_dns):

  • UIProcess/API/gtk/WebKitWebViewGroup.cpp:

(toAPIArray):

  • WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:

(webkitWebExtensionDidReceiveMessage):

Dec 15, 2013:

10:53 PM Changeset in webkit [160631] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Add support for maction@toggle
https://bugs.webkit.org/show_bug.cgi?id=120059

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-12-15
Reviewed by Chris Fleizach.

Source/WebCore:

Test: mathml/presentation/maction-toggle.html

  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::getSelectedChildAndIndex):
(WebCore::MathMLSelectElement::updateSelectedChild):
(WebCore::MathMLSelectElement::defaultEventHandler):
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents):
(WebCore::MathMLSelectElement::toggle):

  • mathml/MathMLSelectElement.h:

LayoutTests:

  • mathml/presentation/maction-toggle-expected.html: Added.
  • mathml/presentation/maction-toggle.html: Added.
10:39 PM Changeset in webkit [160630] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

WebKit2 View Gestures: Can't pinch in past the maximum scale
https://bugs.webkit.org/show_bug.cgi?id=125749

Reviewed by Anders Carlsson.

Pinching in past the maximum scale should result in the zoom resisting, but continuing.

  • UIProcess/mac/ViewGestureController.cpp:

(WebKit::resistanceForDelta):
Clean up the logic and apply resistance to pinching in past the maximum.

(WebKit::ViewGestureController::handleMagnificationGesture):
(WebKit::ViewGestureController::endMagnificationGesture):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):

10:34 PM Changeset in webkit [160629] by Darin Adler
  • 2 edits in trunk/Source/WebCore

More nullptr in RenderElement
https://bugs.webkit.org/show_bug.cgi?id=125764

Reviewed by Andreas Kling.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::uncachedFirstLineStyle):
(WebCore::RenderElement::updateShapeImage):
(WebCore::RenderElement::destroyLeftoverChildren):
(WebCore::RenderElement::findNextLayer):
Use nullptr in a few more places.

9:56 PM Changeset in webkit [160628] by rniwa@webkit.org
  • 20 edits
    17 adds
    1 delete in trunk

REGRESSION: 2x regression on Dromaeo DOM query tests
https://bugs.webkit.org/show_bug.cgi?id=125377

Reviewed by Filip Pizlo.

PerformanceTests:

Added a micro-benchmark for updating a named property on document.

  • Bindings/update-name-getter.html: Added.
  • Skipped:

Source/JavaScriptCore:

The bug was caused by JSC not JIT'ing property access on "document" due to its type info having
HasImpureGetOwnPropertySlot flag.

Fixed the bug by new type info flag NewImpurePropertyFiresWatchpoints, which allows the baseline
JIT to generate byte code for access properties on an object with named properties (a.k.a.
custom name getter) in DOM. When a new named property appears on the object, VM is notified via
VM::addImpureProperty and fires StructureStubClearingWatchpoint added during the repatch.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt): Take the slow path if we have any object with impure
properties in the prototype chain.
(JSC::GetByIdStatus::computeForChain): Ditto.

  • jit/Repatch.cpp:

(JSC::repatchByIdSelfAccess): Throw away the byte code when a new impure property is added on any
object in the prototype chain via StructureStubClearingWatchpoint.
(JSC::generateProtoChainAccessStub): Ditto.
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::tryRepatchIn): Ditto.

  • runtime/JSTypeInfo.h: Added NewImpurePropertyFiresWatchpoints.

(JSC::TypeInfo::newImpurePropertyFiresWatchpoints): Added.

  • runtime/Operations.h:

(JSC::normalizePrototypeChainForChainAccess): Don't exit early if VM will be notified of new
impure property even if the object had impure properties.

  • runtime/Structure.h:

(JSC::Structure::takesSlowPathInDFGForImpureProperty): Added. Wraps hasImpureGetOwnPropertySlot and
asserts that newImpurePropertyFiresWatchpoints is true whenever hasImpureGetOwnPropertySlot is true.

  • runtime/VM.cpp:

(JSC::VM::registerWatchpointForImpureProperty): Added.
(JSC::VM::addImpureProperty): Added. HTMLDocument calls it to notify JSC of a new impure property.

  • runtime/VM.h:

Source/WebCore:

The bug was caused by JSC not JIT'ing property accesses on document because of its having
custom named getter (named properties). This resulted in resolution of methods on document
such as getElementById to happen inside the interpreter.

Fixed the bug by using the new JSC type info flag which tells JSC to JIT property access on
document, and then notifying JSC whenever a new named property appeared on document.

Tests: js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html

js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html

  • bindings/js/JSDOMBinding.cpp:

(WebCore::addImpureProperty): Wraps VM::addImpureProperty.

  • bindings/js/JSDOMBinding.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Added the support for NewImpurePropertyFiresWatchpoints.

  • bindings/scripts/IDLAttributes.txt: Ditto.
  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::addDocumentNamedItem): Calls addImpureProperty.

  • html/HTMLDocument.idl: Added NewImpurePropertyFiresWatchpoints.

LayoutTests:

Added more regression tests for throwing away byte code when a new named property appears.

  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-expected: Rebaselined.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.html: Fixed the test to use dfgShouldBe.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2-expected.txt: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3-expected.txt: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4-expected.txt: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-5-expected.txt: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2-expected.txt: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3-expected.txt: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4-expected.txt: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5-expected.txt: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html: Added.
  • js/dom/script-tests/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.js: Removed.
8:58 PM Changeset in webkit [160627] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk/Tools

Refactor option handling in WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=123185

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-15
Reviewed by Darin Adler.

Option handling is refactored (according to the FIXME) that allows
to automatically generate the help message.

  • WebKitTestRunner/CMakeLists.txt:
  • WebKitTestRunner/GNUmakefile.am:
  • WebKitTestRunner/Options.cpp: Added.

(WTR::Options::Options):
(WTR::handleOptionTimeout):
(WTR::handleOptionNoTimeout):
(WTR::handleOptionNoTimeoutAtAll):
(WTR::handleOptionVerbose):
(WTR::handleOptionGcBetweenTests):
(WTR::handleOptionPixelTests):
(WTR::handleOptionPrintSupportedFeatures):
(WTR::handleOptionComplexText):
(WTR::handleOptionAcceleratedDrawing):
(WTR::handleOptionRemoteLayerTree):
(WTR::handleOptionUnmatched):
(WTR::OptionsHandler::OptionsHandler):
(WTR::Option::Option):
(WTR::Option::matches):
(WTR::OptionsHandler::parse):
(WTR::OptionsHandler::printHelp):

  • WebKitTestRunner/Options.h: Added.
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
8:04 PM Changeset in webkit [160626] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Expose the certificate chain for the main frame
https://bugs.webkit.org/show_bug.cgi?id=125760

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared certificateChain property.
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController certificateChain]): Added this getter, which calls through
to WebFrameProxy::certificateInfo.

7:28 PM Changeset in webkit [160625] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WIn] Unreviewed build fix after r160599

  • rendering/RenderMediaControls.cpp:

(WebCore::determineState): RenderObject::theme now returns
a reference.

6:28 PM Changeset in webkit [160624] by Brent Fulgham
  • 3 edits
    2 deletes in trunk/Source

Source/WebCore: [Win] Unreviewed build fix

The build system continues to attempt to build QTMovieWin, even
though it is excluded from the build solution. I'm actually
removing the project files to prevent this.

  • WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Removed.
  • WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.filters: Removed.

Source/WebKit: [Win] Unreviewed build fix.

  • WebKit.vcxproj/WebKit.sln: Remove reference to QTMovieWin,

which we do not wish to build.

2:34 PM Changeset in webkit [160623] by rwlbuis@webkit.org
  • 5 edits in trunk

[CSS Shapes] shape-outside animation does not handle 'auto' well
https://bugs.webkit.org/show_bug.cgi?id=125700

Reviewed by Dirk Schulze.

Source/WebCore:

Handle the case where we are blending/animating with a null ShapeValue due to 'auto'.

Adapted LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html for testing this.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

LayoutTests:

Test a shape-outside animation where one keyframe uses 'auto'.

  • fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
  • fast/shapes/shape-outside-floats/shape-outside-animation.html:
1:13 PM Changeset in webkit [160622] by aestes@apple.com
  • 57 edits in trunk/Source/WebKit/mac

[iOS] Upstream changes to WebKit Public and Private headers
https://bugs.webkit.org/show_bug.cgi?id=125745

Reviewed by Dan Bernstein.

  • Configurations/WebKit.xcconfig: Ignore headers that are completely

excluded on iOS. This prevents empty headers from being installed into
the iOS SDK.

  • DOM/WebDOMOperationsPrivate.h: Upstream iOS changes.
  • History/WebBackForwardListPrivate.h: Ditto.
  • History/WebHistoryItem.h: Ditto.
  • History/WebHistoryItemPrivate.h: Ditto.
  • Misc/WebCache.h: Ditto.
  • Misc/WebIconDatabase.h: Ditto.
  • Misc/WebIconDatabasePrivate.h: Ditto.
  • Misc/WebKitNSStringExtras.h: Ditto.
  • Misc/WebLocalizableStrings.h: Ditto.
  • Misc/WebNSEventExtras.h: Ditto.
  • Misc/WebNSFileManagerExtras.h: Ditto.
  • Misc/WebNSPasteboardExtras.h: Ditto.
  • Misc/WebNSURLExtras.h: Ditto.
  • Misc/WebNSViewExtras.h: Ditto.
  • Misc/WebNSWindowExtras.h: Ditto.
  • Panels/WebPanelAuthenticationHandler.h: Ditto.
  • Plugins/WebPlugin.h: Ditto.
  • Plugins/WebPluginContainer.h: Ditto.
  • Plugins/WebPluginContainerPrivate.h: Ditto.
  • Plugins/WebPluginDatabase.h: Ditto.
  • Plugins/WebPluginPrivate.h: Ditto.
  • Plugins/WebPluginViewFactory.h: Ditto.
  • Plugins/WebPluginsPrivate.h: Ditto.
  • Storage/WebDatabaseManagerPrivate.h: Ditto.
  • WebCoreSupport/WebApplicationCache.h: Ditto.
  • WebCoreSupport/WebJavaScriptTextInputPanel.h: Ditto.
  • WebCoreSupport/WebKeyGenerator.h: Ditto.
  • WebCoreSupport/WebSecurityOriginPrivate.h: Ditto.
  • WebView/WebDashboardRegion.h: Ditto.
  • WebView/WebDataSource.h: Ditto.
  • WebView/WebDataSourcePrivate.h: Ditto.
  • WebView/WebDocument.h: Ditto.
  • WebView/WebDocumentPrivate.h: Ditto.
  • WebView/WebDynamicScrollBarsView.h: Ditto.
  • WebView/WebEditingDelegate.h: Ditto.
  • WebView/WebEditingDelegatePrivate.h: Ditto.
  • WebView/WebFormDelegate.h: Ditto.
  • WebView/WebFrameLoadDelegate.h: Ditto.
  • WebView/WebFramePrivate.h: Ditto.
  • WebView/WebFrameView.h: Ditto.
  • WebView/WebFrameViewPrivate.h: Ditto.
  • WebView/WebHTMLRepresentation.h: Ditto.
  • WebView/WebHTMLView.h: Ditto.
  • WebView/WebHTMLViewPrivate.h: Ditto.
  • WebView/WebPolicyDelegate.h: Ditto.
  • WebView/WebPreferenceKeysPrivate.h: Ditto.
  • WebView/WebPreferences.h: Ditto.
  • WebView/WebPreferencesPrivate.h: Ditto.
  • WebView/WebRenderLayer.h: Ditto.
  • WebView/WebResourceLoadDelegatePrivate.h: Ditto.
  • WebView/WebResourcePrivate.h: Ditto.
  • WebView/WebUIDelegate.h: Ditto.
  • WebView/WebUIDelegatePrivate.h: Ditto.
  • WebView/WebView.h: Ditto.
  • WebView/WebViewPrivate.h: Ditto.
1:08 PM Changeset in webkit [160621] by aestes@apple.com
  • 8 edits in trunk/Source

[iOS] Upstream changes to FeatureDefines.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=125742

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
10:27 AM Changeset in webkit [160620] by mitz@apple.com
  • 3 edits in trunk/Tools

32-bit build fix.

  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.h:
  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.mm:
10:16 AM Changeset in webkit [160619] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix for 32-bit clients.

  • UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h:
8:40 AM Changeset in webkit [160618] by Darin Adler
  • 4 edits
    2 adds in trunk

Crash in CSSImageGeneratorValue and RenderScrollbar
https://bugs.webkit.org/show_bug.cgi?id=125702

Reviewed by Alexey Proskuryakov.

Source/WebCore:

This crash had two causes at two different levels. The crash fixes both.

At the RenderScrollbar level, we were setting up a new renderer, a
RenderScrollbarPart, and never calling initializeStyle. This meant that
we did not do proper style setup, which meant we did not end up calling
CSSImageGeneratorValue::addClient and so had a removeClient that was not
properly balanced by an addClient. This is the primary bug.

At the CSSImageGeneratorValue level, the addClient and removeClient
functions were not properly handling possibly-mismatched calls. It was
easy to fix the functions to work even if the calls are not perfectly
matched up, which makes the consequences of a missed addClient call
much less dire, no longer messing up reference counting. Fixing this
mitigates the risk if we made this same mistake elsewhere, although I
could not find any other places with some quick searches.

Test: fast/css/scrollbar-image-crash.html

  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::addClient): Only call ref if this will
add the first client.
(WebCore::CSSImageGeneratorValue::removeClient): Only call deref if this
removes the last client. Also added an assertion that can fire if we call
removeClient without first calling addClient, which is illegal. However,
the function handles that case without over-deref'ing itself.

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::updateScrollbarPart): Simplify the logic for
needRenderer a bit. Use initializeStyle rather than setStyle when first
creating the RenderScrollbarPart. Also use add and take properly so we
don't do extra hash lookups the old code did with get/set and get/remove.

LayoutTests:

  • fast/css/scrollbar-image-crash-expected.txt: Added.
  • fast/css/scrollbar-image-crash.html: Added.
4:48 AM Changeset in webkit [160617] by Michał Pakuła vel Rutka
  • 3 edits in trunk/Source/WebKit2

Unreviewed EFL build fix after r160608.

  • UIProcess/WebGrammarDetail.cpp:

(WebKit::WebGrammarDetail::WebGrammarDetail):
(WebKit::WebGrammarDetail::guesses):

  • UIProcess/WebTextCheckerClient.cpp:

(WebKit::WebTextCheckerClient::guessesForWord):

Dec 14, 2013:

10:32 PM Changeset in webkit [160616] by commit-queue@webkit.org
  • 4 edits
    1 copy in trunk/Source/WebKit2

Add page load delegate for WebProcessPlugInBrowsingContextController.
https://bugs.webkit.org/show_bug.cgi?id=125697

Add page load delegate for WebProcessPlugInBrowsingContextController so that a
WebProcess injected bundle can listen to page load events.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-12-14
Reviewed by Sam Weinig.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Added.
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didStartProvisionalLoadForFrame):
(didFinishLoadForFrame):
(globalObjectIsAvailableForFrame):
(setUpPageLoaderClient):
(-[WKWebProcessPlugInBrowserContextController loadDelegate]):
(-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]):

10:20 PM Changeset in webkit [160615] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

CTTE: SVGResourcesCache::cachedResourcesForRenderObject() should take a reference
https://bugs.webkit.org/show_bug.cgi?id=125743

Patch by Sam Weinig <sam@webkit.org> on 2013-12-14
Reviewed by Dan Bernstein.

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::selfWillPaint):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::imageChanged):

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::requestPaintingResource):
(WebCore::removeFromCacheAndInvalidateDependencies):
(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
(WebCore::RenderSVGShape::markerRect):
(WebCore::RenderSVGShape::drawMarkers):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::invalidateResourcesOfChildren):
(WebCore::SVGRenderSupport::layoutChildren):
(WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
(WebCore::SVGRenderSupport::filtersForceContainerLayout):
(WebCore::SVGRenderSupport::pointInClippingArea):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
(WebCore::SVGResourcesCache::clientLayoutChanged):
(WebCore::SVGResourcesCache::clientDestroyed):

  • rendering/svg/SVGResourcesCache.h:
  • rendering/svg/SVGResourcesCycleSolver.cpp:

(WebCore::SVGResourcesCycleSolver::resourceContainsCycles):

9:56 PM Changeset in webkit [160614] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix

QTMovieWin should not be build at the moment, but some builders
are continuing to attempt it. This change marks the project
file as excluded from building.

  • WebKit.vcxproj/WebKit.sln: Mark QTMovieWin as excluded from build.
9:41 PM Changeset in webkit [160613] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

FTL should *really* know when things are flushed
https://bugs.webkit.org/show_bug.cgi?id=125747

Reviewed by Sam Weinig.

Fix more codegen badness. This makes V8v7's crypto am3() function run faster in the FTL
than in DFG. This means that even if we just compile those functions in V8v7 that don't
make calls, the FTL gives us a 2% speed-up over the DFG. That's pretty good considering
that we have still more optimizations to fix and we can make calls work.

  • dfg/DFGSSAConversionPhase.cpp:

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

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

9:29 PM Changeset in webkit [160612] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Disable media tests while we sort out QTSDK issues.
Unreviewed patch to get test bots green

  • platform/win/TestExpectations
8:47 PM Changeset in webkit [160611] by timothy_horton@apple.com
  • 2 edits
    1 add in trunk/Tools

stylebot should warn when FeatureDefines differ
https://bugs.webkit.org/show_bug.cgi?id=125748

Reviewed by Dan Bernstein.

Add a stylebot checker that ensures that FeatureDefines.xcconfig files
are always exactly equal (and warns people adding new FeatureDefines.xcconfig files,
an unlikely occurrance, to add them to the list).

It's a bit nontraditional for stylebot because it will warn on existing errors in the tree,
but that is the most straightforward way to implement it (and we're at zero diffs right now).

  • Scripts/webkitpy/style/checker.py:

(_all_categories):
(FileType):
(CheckerDispatcher._file_type):
(CheckerDispatcher._create_checker):

  • Scripts/webkitpy/style/checkers/featuredefines.py: Added.

(FeatureDefinesChecker):
(FeatureDefinesChecker.init):
(FeatureDefinesChecker.check):

7:08 PM Changeset in webkit [160610] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

FTL should *really* know when things are flushed
https://bugs.webkit.org/show_bug.cgi?id=125747

Not yet reviewed.

Fix more codegen badness. This makes V8v7's crypto am3() function run faster in the FTL
than in DFG. This means that even if we just compile those functions in V8v7 that don't
make calls, the FTL gives us a 2% speed-up over the DFG. That's pretty good considering
that we have still more optimizations to fix and we can make calls work.

  • dfg/DFGSSAConversionPhase.cpp:

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

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

5:16 PM Changeset in webkit [160609] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
https://bugs.webkit.org/show_bug.cgi?id=125744

Reviewed by Sam Weinig.

  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): Implemented by calling
+[NSURLRequest setAllowsSpecificHTTPSCertificate:forHost:].

5:09 PM Changeset in webkit [160608] by weinig@apple.com
  • 43 edits
    1 move in trunk/Source/WebKit2

[WK2] Rename WebString to API::String
https://bugs.webkit.org/show_bug.cgi?id=125726

Reviewed by Anders Carlsson.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:
  • Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
  • Shared/API/c/WKPluginInformation.cpp:
  • Shared/API/c/WKSharedAPICast.h:
  • Shared/API/c/WKString.cpp:
  • Shared/API/c/cf/WKStringCF.mm:
  • Shared/APIArray.cpp:
  • Shared/APIArray.h:
  • Shared/APIString.h: Copied from Source/WebKit2/Shared/WebString.h.
  • Shared/Cocoa/WKNSString.h:
  • Shared/Cocoa/WKNSString.mm:
  • Shared/ImmutableDictionary.cpp:
  • Shared/Plugins/Netscape/PluginInformation.cpp:
  • Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
  • Shared/UserData.cpp:
  • Shared/UserMessageCoders.h:
  • Shared/WebArchiveResource.h:
  • Shared/WebOpenPanelParameters.cpp:
  • Shared/WebRenderLayer.cpp:
  • Shared/WebRenderObject.cpp:
  • Shared/WebString.h: Removed.
  • UIProcess/API/C/WKCredential.cpp:
  • UIProcess/API/C/WKDatabaseManager.cpp:
  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:
  • UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
  • UIProcess/APINavigationData.h:
  • UIProcess/Authentication/WebCredential.h:
  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  • UIProcess/Plugins/PlugInAutoStartProvider.cpp:
  • UIProcess/Plugins/WebPluginSiteDataManager.cpp:
  • UIProcess/WebContext.cpp:
  • UIProcess/WebDatabaseManagerProxy.cpp:
  • UIProcess/WebFormClient.cpp:
  • UIProcess/WebLoaderClient.cpp:
  • UIProcess/WebPageGroup.cpp:
  • UIProcess/WebUIClient.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
4:43 PM Changeset in webkit [160607] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Unreviewed, revert r156746, "FTL: split overflow checks into non-overflow arithmetic and an additional call to the overflow intrinsic check."

This introduces redundancies that LLVM can't handle. Reverting this change brings the
FTL up to being on-par with the DFG on V8v7/encrypt.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileAddSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):

4:21 PM Changeset in webkit [160606] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Clean up the project after r160487

  • WebCore.xcodeproj/project.pbxproj: Moved reference to Security.framework from the top

level of the project to the Frameworks group, and made it SDK-relative.

4:11 PM Changeset in webkit [160605] by aestes@apple.com
  • 6 edits in trunk/Source

Unify FeatureDefines.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=125741

Rubber-stamped by Dan Bernstein.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Enable ENABLE_MEDIA_SOURCE.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Remove a stray space in

FEATURE_DEFINES.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Remove a space in

FEATURE_DEFINES and fix a typo in ENABLE_CSS3_TEXT_DECORATION.

3:57 PM Changeset in webkit [160604] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

  • UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared

observedRenderingProgressEvents as nonatomic.

3:28 PM Changeset in webkit [160603] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Expose WebContext::allowSpecificHTTPSCertificateForHost
https://bugs.webkit.org/show_bug.cgi?id=125738

Reviewed by Mark Rowe.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Added. Calls through to
WebContext::allowSpecificHTTPSCertificateForHost.

  • UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Declared new method.
3:24 PM Changeset in webkit [160602] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

[Cocoa] Expose some layout milestones
https://bugs.webkit.org/show_bug.cgi?id=125721

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKBrowsingContextController.h:

(WKRenderingProgressEvents): Declared new enum.
(@interface WKBrowsingContextController): Declared new observedRenderingProgressEvents
property.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(layoutMilestones): Added helper to translate rendering progress events into layout
milestones.
(-[WKBrowsingContextController setObservedRenderingProgressEvents:]): Added this setter.
Sets the ivar and calls WebPageProxy::listenForLayoutMilestones.
(renderingProgressEvents): Added helper to translate layout milestones into rendering
progress events.
(didLayout): Implemented this WKPageLoaderClient callback by calling the load delegate.
(setUpPageLoaderClient): Set the above callback in the client structure.

  • UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Declared new delegate method.
1:49 PM Changeset in webkit [160601] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Clarify Owners’ role
https://bugs.webkit.org/show_bug.cgi?id=125739

Reviewed by Anders Carlsson.

  • Owners: Clarify that a patch authored by an Owner does not have to be reviewed by one, as

decided during the 2013 WebKit Contributors Meeting.

1:38 PM Changeset in webkit [160600] by fpizlo@apple.com
  • 31 edits in branches/jsCStack

cStack: Calling into FTL-generated code should be fast
https://bugs.webkit.org/show_bug.cgi?id=125649

Not yet reviewed.

  • assembler/AbstractMacroAssembler.h:
  • bytecode/StructureStubInfo.h:
  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):

  • ftl/FTLAbbreviations.h:

(JSC::FTL::arrayType):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

  • ftl/FTLExitValue.h:

(JSC::FTL::ExitValue::withVirtualRegister):

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

(JSC::FTL::JITCode::initializeEntrypoint):
(JSC::FTL::JITCode::initializeAddressForCall):
(JSC::FTL::JITCode::addressForCall):
(JSC::FTL::JITCode::executableAddressAtOffset):

  • ftl/FTLJITCode.h:
  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::payloadFor):
(JSC::FTL::LowerDFGToLLVM::tagFor):
(JSC::FTL::LowerDFGToLLVM::addressFor):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::ptrToInt):

  • ftl/FTLSlowPathCall.cpp:

(JSC::FTL::callOperation):

  • ftl/FTLSlowPathCall.h:
  • ftl/FTLState.h:
  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationThunkGenerator):

  • ftl/FTLThunks.h:
  • heap/Heap.cpp:

(JSC::Heap::collectIfNecessaryOrDefer):

  • heap/Heap.h:

(JSC::Heap::isDeferred):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::tagFor):
(JSC::AssemblyHelpers::payloadFor):

  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):

  • jit/JITInlineCacheGenerator.h:

(JSC::JITGetByIdGenerator::JITGetByIdGenerator):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):

  • jit/Repatch.cpp:

(JSC::tryBuildGetByIDList):
(JSC::emitPutTransitionStub):

  • runtime/JSCJSValue.h:
  • runtime/Options.h:
10:58 AM Changeset in webkit [160599] by akling@apple.com
  • 42 edits in trunk/Source

Page::theme() should return a reference.
<https://webkit.org/b/125737>

There's always a RenderTheme, and not a single call site was checking
for null pointers anyway. Updated RenderObject::theme() as well.

Reviewed by Antti Koivisto.

10:05 AM Changeset in webkit [160598] by weinig@apple.com
  • 53 edits in trunk/Source/WebCore

CTTE: Convert Element and RenderObject iterator usage to use range-based for loops
https://bugs.webkit.org/show_bug.cgi?id=125731

Reviewed by Andreas Kling.

Perform straight forward conversions. A few stragglers that do odd things remain.

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

Small string improvements to JSInjectedScriptHost::type and other bindings
https://bugs.webkit.org/show_bug.cgi?id=125722

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

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::JSInjectedScriptHost::type):
Use SmallStrings, jsNontrivialString and ASCIILiteral.

  • bindings/js/JSJavaScriptCallFrameCustom.cpp:

(WebCore::JSJavaScriptCallFrame::type):
Use jsNontrivialString.

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::stringValue):
Use jsNontrivialString and ASCIILiteral.

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

Move a couple of inlines from RenderObject to RenderElement.
<https://webkit.org/b/125734>

Take most of the inline functions on RenderObject that call style()
and move them over to RenderElement where style() is branchless.

Reviewed by Antti Koivisto.

4:39 AM Changeset in webkit [160595] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

RenderElement::rendererForRootBackground() should return a reference.
<https://webkit.org/b/125735>

This function always finds a renderer to return.

Reviewed by Antti Koivisto.

2:13 AM Changeset in webkit [160594] by mrowe@apple.com
  • 4 edits in trunk/Source

Build fix after r160557.

Source/JavaScriptCore:

r160557 added the first generated header to JavaScriptCore that needs to be installed in to
the framework wrapper. Sadly JavaScriptCore's Derived Sources target was not set to generate
headers when invoked as part of the installhdrs action. This resulted in the build failing
due to Xcode being unable to find the header file to install. The fix for this is to configure
the Derived Sources target to use JavaScriptCore.xcconfig, which sets INSTALLHDRS_SCRIPT_PHASE
to YES and allows Xcode to generate derived sources during the installhdrs action.

Enabling INSTALLHDRS_SCRIPT_PHASE required tweaking the Generate Derived Sources script build
phase to skip running code related to offlineasm that depends on JSCLLIntOffsetExtractor
having been compiled, which isn't the case at installhdrs time.

Source/WebCore:

  • Configurations/WebCore.xcconfig: Find JavaScriptCore.framework below SDKROOT so that we'll pick

up the built version in production builds rather than the system version.

1:03 AM Changeset in webkit [160593] by b.long@cablelabs.com
  • 3 edits in trunk/Source/WebCore

[GStreamer] Use GMutexLocker instead of g_mutex_lock
https://bugs.webkit.org/show_bug.cgi?id=125588

Reviewed by Philippe Normand.

No new tests because this is just code simplification.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockBufferMutex):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStart):

Dec 13, 2013:

11:53 PM Changeset in webkit [160592] by commit-queue@webkit.org
  • 8 edits in trunk

Some Set and Map prototype functions have incorrect function lengths
https://bugs.webkit.org/show_bug.cgi?id=125732

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-13
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

  • runtime/MapPrototype.cpp:

(JSC::MapPrototype::finishCreation):

  • runtime/SetPrototype.cpp:

(JSC::SetPrototype::finishCreation):

LayoutTests:

  • js/basic-map-expected.txt:
  • js/basic-set-expected.txt:
  • js/script-tests/basic-map.js:
  • js/script-tests/basic-set.js:
11:43 PM Changeset in webkit [160591] by msaboff@apple.com
  • 10 edits in branches/jsCStack/Source

CStack Branch: Remove WTF_USE_SEPARATE_C_AND_JS_STACK
https://bugs.webkit.org/show_bug.cgi?id=125733

Reviewed by Mark Lam.

WTF_USE_SEPARATE_C_AND_JS_STACK is only set for ENABLE(LLINT_C_LOOP) and is
therefore not needed. Replaced #if USE(SEPARATE_C_AND_JS_STACK) with
#if ENABLE(LLINT_C_LOOP) and eliminated WTF_USE_SEPARATE_C_AND_JS_STACK.

Source/JavaScriptCore:

  • assembler/MaxFrameExtentForSlowPathCall.h:
  • heap/Heap.cpp:

(JSC::Heap::markRoots):

  • interpreter/JSStack.cpp:

(JSC::JSStack::gatherConservativeRoots):

  • interpreter/JSStackInlines.h:

(JSC::JSStack::updateStackLimit):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::arityCheckFor):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WTF:

  • wtf/Platform.h:
11:29 PM Changeset in webkit [160590] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Move RenderObject::repaintAfterLayoutIfNeeded() to RenderElement.
<https://webkit.org/b/125712>

This function is only ever called on RenderElements, so move it there.
Removes some RenderObject::style() branchiness.

Reviewed by Darin Adler.

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

cStack: Crypto crashes in GC
https://bugs.webkit.org/show_bug.cgi?id=125730

Reviewed by Filip Pizlo.

Need to disable visiting the JSStack when we are on the C stack.
Made visiting the JSStack conditional on USE(SEPARATE_C_AND_JS_STACK)
and then turned off WTF_USE_SEPARATE_C_AND_JS_STACK in platform.h.

Source/JavaScriptCore:

  • heap/Heap.cpp:

(JSC::Heap::markRoots):

  • interpreter/JSStack.cpp:

(JSC::JSStack::gatherConservativeRoots):

Source/WTF:

  • wtf/Platform.h:
10:50 PM Changeset in webkit [160588] by Joseph Pecoraro
  • 26 edits
    2 moves
    1 add in trunk

Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=125707

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:
  • inspector/protocol/Debugger.json: Renamed from Source/WebCore/inspector/protocol/Debugger.json.
  • inspector/protocol/GenericTypes.json: Added.
  • inspector/protocol/InspectorDomain.json: Renamed from Source/WebCore/inspector/protocol/InspectorDomain.json.

Add new files to inspector generation.

  • inspector/scripts/CodeGeneratorInspector.py:

(Generator.go):
Only build TypeBuilder output if the domain only has types. Avoid
backend/frontend dispatchers and backend commands.

(TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
(format_setter_value_expression):
(Generator.process_command):
(Generator.generate_send_method):

  • inspector/scripts/CodeGeneratorInspectorStrings.py:

Export and name the get{JS,Web}EnumConstant function.

Source/WebCore:

  • Switch TypeBuilder::Page::SearchMatch to TypeBuilder::GenericTypes::SearchMatch which comes from InspectorJSTypeBuilders.
  • Remove domains that moved to JavaScriptCore.

No new tests, this only moves code around. There are no functional changes.

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:

Add new files.

  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::buildObjectForSearchMatch):
(WebCore::ContentSearchUtils::searchInTextByLines):

  • inspector/ContentSearchUtils.h:
  • inspector/InspectorAgent.cpp:
  • inspector/InspectorAgent.h:
  • inspector/InspectorDebuggerAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::searchInResource):

  • inspector/InspectorPageAgent.h:
  • inspector/protocol/Page.json:

Update includes and type builder type names.

  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::breakpointActionTypeForString):
(WebCore::InspectorDebuggerAgent::searchInContent):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
Use the new getEnum function names.

Source/WebInspectorUI:

  • UserInterface/InspectorJSBackendCommands.js:
  • UserInterface/InspectorWebBackendCommands.js:

Regenerate now that domains have moved around.

LayoutTests:

  • http/tests/inspector-protocol/resources/InspectorTest.js:

(InspectorTest.checkForError):
Since having a protocol error is likely wrong, make the output
for it as detailed as possible.

10:33 PM Changeset in webkit [160587] by fpizlo@apple.com
  • 32 edits in trunk/Source/JavaScriptCore

Get rid of forward exit on UInt32ToNumber by adding an op_unsigned bytecode instruction
https://bugs.webkit.org/show_bug.cgi?id=125553

Reviewed by Oliver Hunt.

UInt32ToNumber was a super complicated node because it had to do a speculation, but it
would do it after we already had computed the urshift. It couldn't just back to the
beginning of the urshift because the inputs to the urshift weren't necessarily live
anymore. We couldn't jump forward to the beginning of the next instruction because the
result of the urshift was not yet unsigned-converted.

For a while we solved this by forward-exiting in UInt32ToNumber. But that's really
gross and I want to get rid of all forward exits. They cause a lot of bugs.

We could also have turned UInt32ToNumber to a backwards exit by forcing the inputs to
the urshift to be live. I figure that this might be a bit too extreme.

So, I just created a new place that we can exit to: I split op_urshift into op_urshift
followed by op_unsigned. op_unsigned is an "unsigned cast" along the lines of what
UInt32ToNumber does. This allows me to get rid of all of the nastyness in the DFG for
forward exiting in UInt32ToNumber.

This patch enables massive code carnage in the DFG and FTL, and brings us closer to
eliminating one of the DFG's most confusing concepts. On the flipside, it does make the
bytecode slightly more complex (one new instruction). This is a profitable trade. We
want the DFG and FTL to trend towards simplicity, since they are both currently too
complicated.

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecode/ValueRecovery.cpp:

(JSC::ValueRecovery::dumpInContext):

  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::gpr):

  • bytecompiler/NodesCodegen.cpp:

(JSC::BinaryOpNode::emitBytecode):
(JSC::emitReadModifyAssignment):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::toInt32):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

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

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):

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

(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild1):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild2):

  • ftl/FTLFormattedValue.h:

(JSC::FTL::int32Value):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileUInt32ToNumber):

  • ftl/FTLValueFormat.cpp:

(JSC::FTL::reboxAccordingToFormat):
(WTF::printInternal):

  • ftl/FTLValueFormat.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_urshift):
(JSC::JIT::emitSlow_op_urshift):
(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emitSlow_op_unsigned):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emitRightShift):
(JSC::JIT::emitRightShiftSlowCase):
(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emitSlow_op_unsigned):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
10:25 PM Changeset in webkit [160586] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

cStack: Crypto doesn't work at all unless LLInt is disabled
https://bugs.webkit.org/show_bug.cgi?id=125729

Reviewed by Filip Pizlo.

At the end of the functionArityCheck() macro, updated the stack pointer with the
amount the frame moved. This change has already been made in the
arityFixup thunk generator.

  • llint/LowLevelInterpreter64.asm:
8:55 PM Changeset in webkit [160585] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Exception: TypeError: undefined is not a function (evaluating 'marker.find()')
https://bugs.webkit.org/show_bug.cgi?id=125724

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

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype.):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
The callback changed to returning WebInspector.TextMarkers, however
this class expected a raw CodeMirror marker. Since this class knows
about CodeMirror and expects to access these markers later go
directly to the CodeMirror marker.

8:42 PM Changeset in webkit [160584] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebKit2

[WK2] Fix the build and enable the NetworkProcess by default on iOS
https://bugs.webkit.org/show_bug.cgi?id=125723

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-13
Reviewed by Sam Weinig.

  • Configurations/WebKit2.xcconfig:

Fix the list of excluded file to get the processes building.

  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHosAt):
Update PlatformCertificateInfo->CertificateInfo match the new name after r159647.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup initWithInjectedBundleURL:]):
Enable the NetworkProcess by default.

  • UIProcess/Network/mac/NetworkProcessProxyMac.mm:

(WebKit::shouldUseXPC):
Use the right macro.

  • WebKit2Prefix.h:

Eanble the flags NETWORK_PROCESS and CUSTOM_PROTOCOLS.

7:41 PM Changeset in webkit [160583] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Demoted ActivityAssertion.h to a project header.

Rubber-stamped by Sam Weinig.

  • WebKit2.xcodeproj/project.pbxproj:
7:16 PM Changeset in webkit [160582] by weinig@apple.com
  • 2 edits in trunk/Tools

Fix API tests.

  • TestWebKitAPI/Tests/WebKit2/WillLoad.cpp:

(TestWebKitAPI::TEST_F):

7:14 PM Changeset in webkit [160581] by Brent Fulgham
  • 10 edits in trunk

Source/WebCore: [Win] Remove pre-VS2013 support code.
https://bugs.webkit.org/show_bug.cgi?id=125693

Reviewed by Darin Adler.

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::setQuota): Use C99 format arguments

  • loader/FTPDirectoryParser.cpp:

(WebCore::parseOneFTPLine): Ditto

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::pruneUnretainedIcons): Ditto

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::setMaximumSize): Ditto

Source/WTF: [Win] Remove Pre-VS2013 support code.
https://bugs.webkit.org/show_bug.cgi?id=125693

Reviewed by Darin Adler.

  • wtf/StringPrintStream.cpp:

(WTF::StringPrintStream::vprintf): Use va_copy, like a civilized person.

Tools: [Win] Remove Pre-VS2013 support code.
https://bugs.webkit.org/show_bug.cgi?id=125693

Reviewed by Darin Adler.

  • DumpRenderTree/cg/ImageDiffCG.cpp: Remove strtof stub now supplied by

the math library.

  • DumpRenderTree/win/ImageDiffCairo.cpp: Ditto.
6:53 PM Changeset in webkit [160580] by Darin Adler
  • 2 edits in trunk/Source/WTF

Incorrect handling of non-ASCII characters in WTF::base64DecodeInternal
https://bugs.webkit.org/show_bug.cgi?id=125658

Reviewed by Alexey Proskuryakov.

  • wtf/text/Base64.cpp:

(WTF::base64EncodeInternal): Use a reference to an array instead of a pointer
for the table argument type so we check the size of the array at the call site.
(WTF::base64DecodeInternal): Ditto. Also added an bounds check before using the
table so we don't load some random value for non-ASCII characters.

6:02 PM Changeset in webkit [160579] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[Win] Unreviewed build fix for VS2013

  • win/lib32/WebKitSystemInterface.lib: Updated to use VS2013 _MSC_VER symbols

for linking.

5:53 PM Changeset in webkit [160578] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

SVG bindings are improperly being generated with "fastGetAttribute"
https://bugs.webkit.org/show_bug.cgi?id=125670

Reviewed by Darin Adler.

A bug was introduced in r152845 that improperly called the
IsSVGAnimatedType using the $attribute hash, rather than the
expected $attribute->signature->type.

  • bindings/scripts/CodeGenerator.pm:

(GetterExpression): Clean up attribute type confusion.

5:43 PM Changeset in webkit [160577] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r160548

  • WebCore.vcxproj/WebCore.vcxproj: Exclude MediaPlayerPrivateQuickTimeVisualContext from

Windows build.

  • platform/graphics/MediaPlayer.cpp: Don't use QuickTime as the PlatformMediaEngine.
5:23 PM Changeset in webkit [160576] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Unreviewed build correction after r160548.

  • WebKit.vcxproj/WebKit/WebKitApple.props: Exclude linking with QTMoveWin, which does

not build with VS2013.

5:16 PM Changeset in webkit [160575] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Unreviewed build correction after r160548

  • WebKit.vcxproj/WebKit.sln: Revise build order to avoid errors with ANGLE included.
5:01 PM Changeset in webkit [160574] by Brent Fulgham
  • 9 edits in trunk/Source

[Win] Unreviewed build fix after r160548

Source/ThirdParty/ANGLE:

I missed the ANGLE files, since we aren't building these
on the Apple Windows port at the moment.

  • ANGLE.vcxproj/libEGL.vcxproj: Update to VS2013
  • ANGLE.vcxproj/libGLESv2.vcxproj: Ditto
  • ANGLE.vcxproj/preprocessor.vcxproj: Ditto
  • ANGLE.vcxproj/translator_common.vcxproj: Ditto
  • ANGLE.vcxproj/translator_glsl.vcxproj: Ditto
  • ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto

Source/WebKit:

  • WebKit.vcxproj/WebKit.sln: Revised to build under VS2013.
4:39 PM Changeset in webkit [160573] by mark.lam@apple.com
  • 7 edits in branches/jsCStack/Source/JavaScriptCore

Fix exception handling for the LLINT.
https://bugs.webkit.org/show_bug.cgi?id=125672.

Reviewed by Geoffrey Garen.

The baseline JIT exception handling is still broken.

  • JavaScriptCore.order:
  • llint/LLIntSlowPaths.cpp:
  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • updated the 32bit file with some of the changes to keep track with the 64bit one though it doesn't build yet. The build failure will clearly tell us some of the things that need to be fixed later.
  • llint/LowLevelInterpreter64.asm:
  • Called restoreStackPointerAfterCall() in op_catch and nativeCallTrampoline to restore the appropriate stack pointer.
  • Renamed the restoreStackPointerAfterJSCall() macro to restoreStackPointerAfterCall because we also need to call it after a call to a native / host function.
  • Removed llint_throw_from_native_call because it no longer does anything useful.
  • Moved call to functionEpilogue() in nativeCallTrampoline before the exception check because we should have returned from the native / host function already.

The Interpreter::unwind() code also relies on this. The VM will unwind and "pop"
JS frames, but will stop at host frames. The host frame should pop itself. Then,
we call Interpreter::unwind() again to continue for caller frames further up
the stack.

  • Removed the check for the sentinel frame in handleUncaughtException because we're guaranteed to be at the frame above the sentinel frame.
3:59 PM Changeset in webkit [160572] by weinig@apple.com
  • 9 edits in trunk/Source/WebKit2

[WK2] Start removing calls to String::characters()
https://bugs.webkit.org/show_bug.cgi?id=125699

Reviewed by Anders Carlsson.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(CoreIPC::::decodePlatformData):

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
(WebKit::PluginInfoStore::findPlugin):

  • UIProcess/Plugins/PluginInfoStore.h:
  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::PluginInfoStore::pluginsDirectories):
(WebKit::PluginInfoStore::pluginPathsInDirectory):

  • UIProcess/cf/WebPreferencesCF.cpp:

(WebKit::makeKey):

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::load):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadStringImpl):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):

  • WebProcess/WebPage/WebPage.h:
3:57 PM Changeset in webkit [160571] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

LLInt should not conditionally branch to to labels outside of its function
https://bugs.webkit.org/show_bug.cgi?id=125713

Reviewed by Geoffrey Garen.

Conditional branches are insufficient for jumping to out-of-function labels.
The fix is to use an unconditional jmp to the label combined with a conditional branch around the jmp.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
3:56 PM Changeset in webkit [160570] by roger_fong@apple.com
  • 2 edits in trunk/Websites/webkit.org

Update build instructions for Windows following upgrade to VS2013.

  • building/tools.html:
3:29 PM Changeset in webkit [160569] by Lucas Forschler
  • 2 edits in trunk/Tools

Update Webkit bots.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
3:28 PM Changeset in webkit [160568] by Joseph Pecoraro
  • 6 edits in trunk

[GTK] Remove Warnings in building about duplicate INSPECTOR variables
https://bugs.webkit.org/show_bug.cgi?id=125710

Reviewed by Tim Horton.

  • GNUmakefile.am:

Source/JavaScriptCore:

  • GNUmakefile.am:

Source/WebCore:

  • GNUmakefile.am:
3:04 PM Changeset in webkit [160567] by roger_fong@apple.com
  • 6 edits in trunk

[WebGL] Check for global variable precision mismatch between vertex and fragment shaders.
https://bugs.webkit.org/show_bug.cgi?id=125546.
<rdar://problem/15203364>

Reviewed by Brent Fulgham.

Covered Khronos conformances tests:
webgl/1.0.2/glsl/misc/shader-with-global-variable-precision-mismatch.html

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::linkProgram):

  • platform/graphics/GraphicsContext3D.h: Rename areProgramSymbolsValid since it currently only serves one purpose.
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::precisionsMatch):

  • platform/mac/TestExpectations:

Unskip webgl/1.0.2/glsl/misc/shader-with-global-variable-precision-mismatch.html

2:09 PM Changeset in webkit [160566] by enrica@apple.com
  • 13 edits in trunk/Source/WebKit2

WK2: Add support for inline candidates on iOS.
https://bugs.webkit.org/show_bug.cgi?id=125667

Reviewed by Benjamin Poulain.

The state required to support inline candidates is cached in the UI process.
Asynchronous messages are used to set and confirm the composition.

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:
  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView textFirstRect]):
(-[WKInteractionView textLastRect]):
(-[WKInteractionView hasMarkedText]):
(-[WKInteractionView markedText]):
(-[WKInteractionView setMarkedText:selectedRange:]):
(-[WKInteractionView unmarkText]):
(-[WKInteractionView _selectionChanged]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::editorStateChanged):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::notifyRevealedSelection):

  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::notifyRevealedSelectionByScrollingFrame):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setComposition):
(WebKit::WebPage::confirmComposition):

1:57 PM Changeset in webkit [160565] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Cleanup CodeGeneratorInspectorStrings a bit
https://bugs.webkit.org/show_bug.cgi?id=125705

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

  • inspector/scripts/CodeGeneratorInspectorStrings.py:

Use ${foo} variable syntax and add an ASCIILiteral.

1:52 PM Changeset in webkit [160564] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed build fix after r160563

  • JavaScriptCore.vcxproj/JavaScriptCoreGenerated.vcxproj: Missed the Debug

target in my last patch.

1:49 PM Changeset in webkit [160563] by Brent Fulgham
  • 10 edits in trunk

[Win] Unreviewed build fix after r160548

Source/JavaScriptCore:

that we are using the vs12_xp target for Makefile-based projects.

  • JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.vcxproj: Ditto
  • JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.vcxproj: Ditto.

Source/WebCore:

  • WebCore.vcxproj/WebCoreGenerated.vcxproj: Specify that we are

using the vs120_xp build target for Makefile-based projects.

Source/WTF:

  • WTF.vcxproj/WTFGenerated.vcxproj: Specify that we are using

the vs12_xp target for Makefile-based projects.

Tools:

  • win/AssembleBuildLogs/AssembleBuildLogs.vcxproj: Specify

we are using vs12_xp target for Makefile-based projects.

1:36 PM Changeset in webkit [160562] by msaboff@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

jsCStack:REGRESSION: "print(“My object: “ + { });” crashes LLINT in op_call
https://bugs.webkit.org/show_bug.cgi?id=125694

Reviewed by Filip Pizlo.

We were clobbering the rbx value saved on the stack at the top of callToJavaScript
and callToNativeFunction. This is due to a difference between the JSStack's notion
of top of stack being the first usable location and the stack pointer register
pointing to the last used location. I changed the allocation of the sentinel frame
accordingly.

In the process I cleaned up the rounding of paddedArgsCount in ProtoCallFrame::init
to use WTF::roundUpToMultipleOf<> since the rounding had to change to keep the stack
pointer aligned.

  • interpreter/ProtoCallFrame.cpp:

(JSC::ProtoCallFrame::init):

  • llint/LowLevelInterpreter64.asm:
1:36 PM Changeset in webkit [160561] by andersca@apple.com
  • 5 edits in trunk/Source/WTF

Require variadic templates to build WebKit
https://bugs.webkit.org/show_bug.cgi?id=125701

Reviewed by Andreas Kling.

  • wtf/Compiler.h:

Add an #error if variadic templates are disabled.

  • wtf/NeverDestroyed.h:
  • wtf/PassRef.h:
  • wtf/StdLibExtras.h:

Remove a bunch of COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES) #ifdefs.

1:26 PM Changeset in webkit [160560] by Lucas Forschler
  • 2 edits in trunk/Tools

Update Apple Webkit Bots

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
1:18 PM Changeset in webkit [160559] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit

Post-process exported WebKit headers based on PLATFORM_NAME
https://bugs.webkit.org/show_bug.cgi?id=125682

Reviewed by Dan Bernstein.

Added a build phase that calls unifdef(1) on each of WebKit's Public
and Private headers, defining TARGET_OS_EMBEDDED, TARGET_OS_IPHONE, and
TARGET_IPHONE_SIMULATOR based on the value of PLATFORM_NAME. This has
the effect of stripping out bits not needed by the SDK being built for.

  • WebKit.xcodeproj/project.pbxproj:
1:08 PM Changeset in webkit [160558] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Make inspector folder groups smarter in JavaScriptCore.xcodeproj
https://bugs.webkit.org/show_bug.cgi?id=125663

Reviewed by Darin Adler.

1:07 PM Changeset in webkit [160557] by Joseph Pecoraro
  • 78 edits
    7 moves
    6 adds in trunk

Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
https://bugs.webkit.org/show_bug.cgi?id=125595

Reviewed by Timothy Hatcher.

  • GNUmakefile.am:

Source/JavaScriptCore:

  • Move CodeGeneration scripts from WebCore into JavaScriptCore/inspector/scripts
  • For ports that build WebKit frameworks separately, export the scripts as PrivateHeaders
  • Update CodeGeneratorInspector.py in a few ways:
    • output dynamic filenames, so JavaScriptCore generates InspectorJSFoo.* and WebCore generates InspectorWebFoo.*
    • take in more then one protocol JSON file. The first contains domains to generate, the others are dependencies that are generated elsewhere that we can depend on for Types.
  • Add DerivedSources build step to generate the Inspector Interfaces

Add scripts and code generation.

  • inspector/protocol/Runtime.json: Renamed from Source/WebCore/inspector/protocol/Runtime.json.

Move protocol file into JavaScriptCore so its types will be generated in JavaScriptCore.

  • inspector/scripts/CodeGeneratorInspector.py: Renamed from Source/WebCore/inspector/CodeGeneratorInspector.py.

Updates to the script as listed above.

  • inspector/scripts/CodeGeneratorInspectorStrings.py: Renamed from Source/WebCore/inspector/CodeGeneratorInspectorStrings.py.
  • inspector/scripts/generate-combined-inspector-json.py: Renamed from Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py.

Moved from WebCore into JavaScriptCore for code generation.

Source/WebCore:

  • CodeGeneration changed to output Frontend and Backend dispatchers in namespace Inspector. So update all the agent's appropriately.
  • Update Derived Sources code generation to use the Scripts that had moved to JavaScriptCore. Some ports just use JSC/inspector/scripts directly, but others have to use the Scripts exported by JSC in JavaScriptCore's PrivateHeaders.
  • Add ForwardingHeaders for the files generated in JavaScriptCore.
  • Update the names of Inspector DerivedSources files, since they were renamed to InspectorWeb*.

No new tests, this only moves code around. There are no functional changes.

  • CMakeLists.txt:
  • DerivedSources.make:
  • ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Added.
  • ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Added.
  • ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Added.
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/build-generated-files.sh:
  • WebCore.xcodeproj/project.pbxproj:

Remove files, rename files, update code generation.

  • make-generated-sources.sh:

Update this standalone developer script to fill in the new InspectorScripts variable.

  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp:
  • inspector/InspectorAgent.cpp:
  • inspector/InspectorAgent.h:
  • inspector/InspectorApplicationCacheAgent.cpp:
  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorCanvasAgent.cpp:
  • inspector/InspectorCanvasAgent.h:
  • inspector/InspectorConsoleAgent.cpp:
  • inspector/InspectorConsoleAgent.h:
  • inspector/InspectorController.cpp:
  • inspector/InspectorDOMAgent.cpp:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseResource.cpp:
  • inspector/InspectorDatabaseResource.h:
  • inspector/InspectorDebuggerAgent.cpp:
  • inspector/InspectorDebuggerAgent.h:
  • inspector/InspectorFrontendClientLocal.cpp:
  • inspector/InspectorHeapProfilerAgent.h:
  • inspector/InspectorIndexedDBAgent.cpp:
  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInputAgent.h:
  • inspector/InspectorLayerTreeAgent.cpp:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorMemoryAgent.cpp:
  • inspector/InspectorMemoryAgent.h:
  • inspector/InspectorPageAgent.cpp:
  • inspector/InspectorPageAgent.h:
  • inspector/InspectorProfilerAgent.cpp:
  • inspector/InspectorProfilerAgent.h:
  • inspector/InspectorResourceAgent.cpp:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorRuntimeAgent.h:
  • inspector/InspectorTimelineAgent.cpp:
  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:
  • inspector/InspectorWorkerAgent.h:
  • inspector/PageRuntimeAgent.h:
  • inspector/ScriptCallFrame.cpp:
  • inspector/WorkerInspectorController.cpp:
  • inspector/WorkerRuntimeAgent.h:

Updates header names and class namespace changes.

Source/WebInspectorUI:

  • Scripts/copy-user-interface-resources.sh:

Copy all the different backend commands files.

  • Scripts/update-InspectorBackendCommands.rb:

Update with respect to new script location and new file names.

  • WebInspectorUI.xcodeproj/project.pbxproj:

Remove Inputs and Outputs of build phase, which were wrong.
Now this build phase always runs, and not by accident.

  • UserInterface/InspectorJSBackendCommands.js: Added.
  • UserInterface/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js.
  • UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js.
  • UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js.
  • UserInterface/LoadInspectorBackendCommands.js:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

LayoutTests:

  • http/tests/inspector-protocol/resources/InspectorTest.js:

(InspectorTest.importInspectorScripts):
Update for the new backend commands files.

12:54 PM Changeset in webkit [160556] by Brent Fulgham
  • 2 edits in trunk/Tools

Unreviewed build fix after r160548.

  • Scripts/webkitdirs.pm:

(setupCygwinEnv): VCExpress.exe is now called WDExpress.exe.

12:43 PM Changeset in webkit [160555] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build.

Work around a problem in Functional.h by making the DatabaseProcess destructor public.

  • DatabaseProcess/DatabaseProcess.h:
12:15 PM Changeset in webkit [160554] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[wk2] Handle pinch-to-zoom gesture
https://bugs.webkit.org/show_bug.cgi?id=125604

Reviewed by Sam Weinig.

  • UIProcess/API/mac/WKView.mm:

(-[WKView magnifyWithEvent:]):
(-[WKView endGestureWithEvent:]):
Forward the event up the chain if we're not going to handle it.

12:04 PM Changeset in webkit [160553] by thiago.lacerda@openbossa.org
  • 22 edits
    2 moves in trunk

Adding RTCPeerConnectionErrorCallback
https://bugs.webkit.org/show_bug.cgi?id=125574

Reviewed by Eric Carlson.

According to the spec there should be a RTCPeerConnectionErrorCallback function type for createOffer/Answer,
setLocal/RemoteDescription and updateIce function calls. This callback must handle a DOMError object.

Source/WebCore:

Existing tests were updated.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::addIceCandidate):

  • Modules/mediastream/RTCErrorCallback.h: Removed.
  • Modules/mediastream/RTCErrorCallback.idl: Removed.
  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/RTCPeerConnectionErrorCallback.h: Added.
  • Modules/mediastream/RTCPeerConnectionErrorCallback.idl: Added.
  • Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:

(WebCore::RTCSessionDescriptionRequestImpl::create):
(WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
(WebCore::RTCSessionDescriptionRequestImpl::requestFailed):

  • Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
  • Modules/mediastream/RTCVoidRequestImpl.cpp:

(WebCore::RTCVoidRequestImpl::create):
(WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
(WebCore::RTCVoidRequestImpl::requestFailed):

  • Modules/mediastream/RTCVoidRequestImpl.h:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/RTCPeerConnectionHandler.cpp:

(WebCore::RTCPeerConnectionHandler::incompatibleConstraintsErrorName):
(WebCore::RTCPeerConnectionHandler::invalidSessionDescriptionErrorName):
(WebCore::RTCPeerConnectionHandler::incompatibleSessionDescriptionErrorName):
(WebCore::RTCPeerConnectionHandler::internalErrorName):

  • platform/mediastream/RTCPeerConnectionHandler.h:
  • platform/mock/RTCNotifiersMock.cpp:

(WebCore::SessionRequestNotifier::SessionRequestNotifier):
(WebCore::SessionRequestNotifier::fire):
(WebCore::VoidRequestNotifier::VoidRequestNotifier):
(WebCore::VoidRequestNotifier::fire):

  • platform/mock/RTCNotifiersMock.h:
  • platform/mock/RTCPeerConnectionHandlerMock.cpp:

(WebCore::RTCPeerConnectionHandlerMock::createOffer):
(WebCore::RTCPeerConnectionHandlerMock::createAnswer):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
  • fast/mediastream/RTCPeerConnection-createAnswer.html:
  • fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
  • fast/mediastream/RTCPeerConnection-createOffer.html:
11:32 AM Changeset in webkit [160552] by Antoine Quint
  • 7 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: provide an abstraction for CodeMirror's TextMarker
https://bugs.webkit.org/show_bug.cgi?id=125695

Reviewed by Timothy Hatcher.

Introduce a new WebInspector.TextMarker class which is used by code with CodeMirror knowledge
to return information related to text markers to objects that should have no direct knowledge
of CodeMirror. Start using this class in TextEditor and SourceCodeTextEditor to remove the
last remaining pieces of CodeMirror knowledge added to SourceCodeTextEditor to fix
https://webkit.org/b/124364.

  • UserInterface/CodeMirrorAdditions.js:

Stop using markedColor to identify a color marker and instead use the type on the matching
WebInspector.TextMarker. Additionally, create a WebInspector.TextMarker with type
WebInspector.TextMarker.Type.Color in createColorMarkers().

  • UserInterface/CodeMirrorColorEditingController.js:

(WebInspector.CodeMirrorColorEditingController):
Use a WebInspector.TextRange to track the edited range and obtain it directly from the
WebInspector.TextMaker used to instantiate the object. We also use the new "text" public
property to create the color.

(WebInspector.CodeMirrorColorEditingController.prototype.set color):
Simply assing the serialized color to the new "text" public property.

(WebInspector.CodeMirrorColorEditingController.prototype.get text):
(WebInspector.CodeMirrorColorEditingController.prototype.set text):
New public property to set get and set the text for the edited range, automatically updating
the range upon setting to a new text.

(WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu):
Obtain the bounds directly from the WebInspector.TextMarker object.

  • UserInterface/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
Since we're now tracking the hoveredMarker as a WebInspector.TextMarker, get the CodeMirror
TextMarker from that object to check if it's contained within the text markers at the
hovered position.

  • UserInterface/Main.html:

Add the new TextMarker class source.

  • UserInterface/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers):
Use the WebInspector.TextMarker type to identify a given text marker is marking a color.

(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
Use the renamed markersAtPosition() method from TextEditor.

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
Use the WebInspector.TextMarker type to identify a given text marker is marking a color.

(WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing):
Since the CodeMirrorColorEditingController is now using a WebInspector.TextRange for its range,
update to use a WebInspector.TextRange API to get the range's start line.

  • UserInterface/TextEditor.js:

(WebInspector.TextEditor.prototype.get markers):
Return WebInspector.TextMarker objects instead of CodeMirror TextRange objects.

(WebInspector.TextEditor.prototype.markersAtPosition):
Rename method to a better name instead of using the CodeMirror-influenced name. Also, return
WebInspector.TextMarker objects instead of CodeMirror TextRange objects.

  • UserInterface/TextMarker.js: Added.

(WebInspector.TextMarker):
Create a WebInspector.TextMarker with a CodeMirror TextMarker and an optional type.

(WebInspector.TextMarker.textMarkerForCodeMirrorTextMarker):
Static method to either obtain the existing WebInspector.TextMarker for a given CodeMirror
TextMarker, or create a new WebInspector.TextMarker.

(WebInspector.TextMarker.prototype.get codeMirrorTextMarker):
Public property to access the CodeMirror TextMarker objects for classes that have direct
knowledge of CodeMirror.

(WebInspector.TextMarker.prototype.get type):
Public property to access the type used to create this text marker.

(WebInspector.TextMarker.prototype.get range):
(WebInspector.TextMarker.prototype.get bounds):
Public properties allowing easy access to generally useful information related to marked text.

(WebInspector.TextMarker.prototype.clear):
Wrapper for the CodeMirror TextMarker clear() method.

11:27 AM Changeset in webkit [160551] by Lucas Forschler
  • 2 edits in trunk/Tools

Update Apple bots.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
11:24 AM Changeset in webkit [160550] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Delete INTEL C compiler related code parts.
https://bugs.webkit.org/show_bug.cgi?id=125625

Patch by Peter Szanka <h868064@stud.u-szeged.hu> on 2013-12-13
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • jsc.cpp:
  • testRegExp.cpp:

Source/WTF:

  • wtf/Assertions.h:
  • wtf/Compiler.h:
11:21 AM Changeset in webkit [160549] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Put classes in the IPC directory in the IPC namespace
https://bugs.webkit.org/show_bug.cgi?id=125665

Reviewed by Sam Weinig.

Also add a hack to config.h that lets us use CoreIPC and IPC interchangeably.

  • Platform/IPC/DataReference.cpp:
  • Platform/IPC/DataReference.h:
  • Platform/IPC/MessageSender.cpp:
  • Platform/IPC/MessageSender.h:
  • Platform/IPC/StringReference.cpp:
  • Platform/IPC/StringReference.h:
  • config.h:
11:17 AM Changeset in webkit [160548] by Brent Fulgham
  • 34 edits in trunk

[Win] Switch WebKit solution to Visual Studio 2013
https://bugs.webkit.org/show_bug.cgi?id=125192

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Update for VS2013
  • JavaScriptCore.vcxproj/LLInt/LLIntOffsetsExtractor/LLIntOffsetsExtractor.vcxproj:

Ditto

Source/ThirdParty:

  • gtest/msvc/gtest-md.vcxproj: Update for VS2013

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj: Update for VS2013
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj: Ditto

Source/WebInspectorUI:

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Update for VS2013

Source/WebKit:

  • WebKit.vcxproj/Interfaces/Interfaces.vcxproj: Update for VS2013
  • WebKit.vcxproj/WebKit.sln: Ditto
  • WebKit.vcxproj/WebKit/WebKit.vcxproj: Ditto
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj: Ditto
  • WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj: Ditto

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj: Update for VS2013
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto

Tools:

Project files must reference vs12_xp for 32-bit builds.

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTree.vcxproj:

Update for VS2013

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncher.vcxproj:

Ditto

  • DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiff.vcxproj:

Ditto

  • DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiffLauncher.vcxproj:

Ditto

  • DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePlugin.vcxproj:

Ditto

  • Scripts/webkitdirs.pm:

(visualStudioInstallDir): Specify VS2013
(visualStudioVersion): Ditto.
(setupAppleWinEnv): Use VS2013 in messages
(setupCygwinEnv): Ditto

  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:

Update for VS2013

  • WinLauncher/WinLauncher.vcxproj/WinLauncher.vcxproj:

Ditto

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:

Ditto

  • win/record-memory/record-memory.vcxproj:

Ditto

11:10 AM Changeset in webkit [160547] by ap@apple.com
  • 32 edits in trunk

WebCrypto Key.usages should be ordered alphabetically
https://bugs.webkit.org/show_bug.cgi?id=125696

Reviewed by Darin Adler.

Source/WebCore:

  • crypto/CryptoKey.cpp: (WebCore::CryptoKey::usages): Do it.

LayoutTests:

  • crypto/subtle/aes-cbc-192-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-192-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-generate-key-expected.txt:
  • crypto/subtle/aes-cbc-generate-key.html:
  • crypto/subtle/aes-cbc-invalid-length-expected.txt:
  • crypto/subtle/aes-cbc-invalid-length.html:
  • crypto/subtle/aes-kw-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/aes-kw-wrap-unwrap-aes.html:
  • crypto/subtle/aes-postMessage-expected.txt:
  • crypto/subtle/aes-postMessage.html:
  • crypto/subtle/hmac-postMessage-expected.txt:
  • crypto/subtle/hmac-postMessage.html:
  • crypto/subtle/jwk-import-use-values-expected.txt:
  • crypto/subtle/jwk-import-use-values.html:
  • crypto/subtle/postMessage-worker-expected.txt:
  • crypto/subtle/postMessage-worker.html:
  • crypto/subtle/resources/postMessage-worker.js:

(onmessage):

  • crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
  • crypto/subtle/rsa-oaep-key-manipulation.html:
  • crypto/subtle/rsa-oaep-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/rsa-oaep-wrap-unwrap-aes.html:
  • crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html:
8:27 AM Changeset in webkit [160546] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Make some optimizations for DOM bindings involving vectors
https://bugs.webkit.org/show_bug.cgi?id=125680

Reviewed by Andreas Kling.

  • bindings/js/JSDOMBinding.h:

(WebCore::toJS): Removed unnecessary copying of vectors when converting them
to JavaScript values.
(WebCore::toRefPtrNativeArray): Use reserveInitialCapacity and uncheckedAppend.
(WebCore::toNativeArray): Ditto.
(WebCore::toNativeArguments): Ditto.

7:41 AM Changeset in webkit [160545] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

REGRESSION(r155784): [GTK] Some methods incorrectly removed in r155784 and deprecated in r158662
https://bugs.webkit.org/show_bug.cgi?id=125692

Reviewed by Martin Robinson.

In r155784 the build was fixed by skipping Console::profile() and
Console::profileEnd(), but the patch also skipped other methods
containing the profile method name. Those were incorrectly
deprecated in r158662 thinking that the property had been removed
in the idl.

  • bindings/gobject/WebKitDOMDeprecated.cpp: Undeprecate

webkit_dom_html_head_element_get_profile and
webkit_dom_html_head_element_set_profile.

  • bindings/gobject/WebKitDOMDeprecated.h: Ditto.
  • bindings/gobject/WebKitDOMDeprecated.symbols: Ditto.
  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Skip webkit_dom_console_profile and
webkit_dom_console_profile_end.

6:13 AM Changeset in webkit [160544] by rwlbuis@webkit.org
  • 5 edits
    2 adds in trunk

Clean up SVGScriptElement
https://bugs.webkit.org/show_bug.cgi?id=125527

Reviewed by Darin Adler.

Source/WebCore:

From the Blink port of this bug it becomes clear that svg/dom/SVGScriptElement/script-set-href.svg and
svg/dom/svg-element-attribute-js-null.xhtml still hit an assert in Debug because SVGNames::typeAttr can't
be used with fastGetAttribute in all cases, because it can be animatable. However for SVGScriptElement
it is not animatable, so make isAnimatableAttribute virtual (note Debug only method) and allow typeAttr
in the SVGScriptElement case to be useable for fastGetAttribute.

Test: svg/dom/SVGScriptElement/script-type-attribute.svg

  • svg/SVGElement.h:
  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::isAnimatableAttribute):

  • svg/SVGScriptElement.h:

LayoutTests:

Add test to verify the new type getter/setter behavior on SVScriptElement.
Specifically, the old behavior was setting the JS type property did not reflect in
the actual content attribute being set, the new behavior is to do set the content
attribute when setting the JS type property.

  • svg/dom/SVGScriptElement/script-type-attribute-expected.txt: Added.
  • svg/dom/SVGScriptElement/script-type-attribute.svg: Added.
4:40 AM Changeset in webkit [160543] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GTK] Expose also webkit_dom_document_get_url
https://bugs.webkit.org/show_bug.cgi?id=125691

Reviewed by Martin Robinson.

For some reason we expose the URL property, so it can be accessed
with g_object_get(), but we have a special case to not provide a
public getter.

  • bindings/gobject/webkitdom.symbols: Add new symbol.
  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunctions): Remove the special case of URL property.

4:36 AM Changeset in webkit [160542] by Michał Pakuła vel Rutka
  • 1 edit
    2 deletes in trunk/LayoutTests

Unreviewed EFL gardening

Remove wrong http baselines.

  • platform/efl/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: Removed.
  • platform/efl/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Removed.
  • platform/efl/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Removed.
2:32 AM Changeset in webkit [160541] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

CSSFilterImageValue constructor should require both image and filter.
<https://webkit.org/b/125056>

Make the CSSFilterImageValue::create() helper take both the image and
filter CSSValues by PassRef since they should never be null.

Tweaked ComputedStyleExtractor::valueForFilter() to return a PassRef
for this to work.

Reviewed by Anders Carlsson.

2:24 AM Changeset in webkit [160540] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Add a unit tests to WebKit2 to test node names
https://bugs.webkit.org/show_bug.cgi?id=125686

Reviewed by Gustavo Noronha Silva.

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

(WebKitDOMNodeTest::testTagNames):
(WebKitDOMNodeTest::runTest):
(registerTests):

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

(testWebKitDOMNodeTagNames):
(beforeAll):

1:56 AM Changeset in webkit [160539] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

StyleResolver::adjustRenderStyle() should take RenderStyle references.
<https://webkit.org/b/125623>

This function doesn't handle null styles being passed, so prevent
it at compile time.

Reviewed by Anders Carlsson.

1:41 AM Changeset in webkit [160538] by zandobersek@gmail.com
  • 2 edits in trunk

[GTK] Remove the -Wno-c++11-extensions compiler option for Clang builds
https://bugs.webkit.org/show_bug.cgi?id=125639

Reviewed by Anders Carlsson.

  • Source/autotools/SetupCompilerFlags.m4: The -Wno-c++11-extensions compiler option was in use

when building with Clang. It is now removed as the C++11 standard is enabled throughout the project.

1:16 AM Changeset in webkit [160537] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed. Further GTK WK2 build fixes after r160504.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_get_snapshot):

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(didInitiateLoadForResource):
(willSendRequestForFrame):
(didReceiveResponseForResource):
(didReceiveContentLengthForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(webkitWebPageDidReceiveMessage):

1:14 AM Changeset in webkit [160536] by Darin Adler
  • 7 edits in trunk/Source/WebCore

Eliminate awkward virtualComputedStyle construction
https://bugs.webkit.org/show_bug.cgi?id=125681

Reviewed by Andreas Kling.

  • dom/Element.cpp:

(WebCore::Element::computedStyle): Tweak coding style a bit.

  • dom/Element.h: Marked computedStyle virtual and got rid of virtualComputedStyle.

This fixes a bug that we would not call SVGElement::computedStyle if we called
it through an Element pointer or reference. Not sure how to get test coverage for this.

  • dom/Node.cpp:

(WebCore::Node::computedStyle): Use a loop instead of recursive virtual calls.

  • dom/Node.h: Made computedStyle virtual and got rid of virtualComputedStyle.
  • svg/SVGElement.cpp:

(WebCore::SVGElement::computedStyle): Tweak coding style a bit.

  • svg/SVGElement.h: Made computedStyle virtual (and FINAL) and got rid fo

virtualComputedStyle.

1:10 AM Changeset in webkit [160535] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix a couple stray uses of RefPtr that should release
https://bugs.webkit.org/show_bug.cgi?id=125679

Reviewed by Andreas Kling.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFilter): Add calls to release, in
one case rearranging the order of operations slightly so we
don't release the pointer before using it.

12:56 AM Changeset in webkit [160534] by ap@apple.com
  • 3 edits
    4 adds in trunk

WebCrypto wrapKey operation doesn't check key usage
https://bugs.webkit.org/show_bug.cgi?id=125675

Reviewed by Darin Adler.

Source/WebCore:

Tests: crypto/subtle/unwrapKey-check-usage.html

crypto/subtle/wrapKey-check-usage.html

  • bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):

Added accidentally omitted code. Other operations are fine.

LayoutTests:

  • crypto/subtle/unwrapKey-check-usage-expected.txt: Added.
  • crypto/subtle/unwrapKey-check-usage.html: Added.
  • crypto/subtle/wrapKey-check-usage-expected.txt: Added.
  • crypto/subtle/wrapKey-check-usage.html: Added.
12:35 AM Changeset in webkit [160533] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r160509.

  • GNUmakefile.list.am: MessageSender.(cpp|h) files were moved to Platform/IPC.
12:24 AM Changeset in webkit [160532] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

GTK buildfix after r160504.

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

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_prefetch_dns):

12:16 AM Changeset in webkit [160531] by Martin Robinson
  • 4 edits
    1 add in trunk

Adding a .ycm_extra_conf file for webkitGtk
https://bugs.webkit.org/show_bug.cgi?id=119618

Patch by Martin Robinson <mrobinson@igalia.com> and Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2013-12-11
Reviewed by Gustavo Noronha Silva.

Added a YouCompleteMe flag discovery script for Vim and the GTK+ port. The script
read the GTK+ build files to determine dynamically what flags to compile a source
file with. This allows Vim to provide auto-complete for C++/C language. See
https://github.com/Valloric/YouCompleteMe for how to use this file.

.:

  • .gitignore: Ignore the YCM symlinks in the tree.

Tools:

  • gtk/common.py:

(get_build_path): Added a fatal argument to build_path to avoid crashing YCM on failure.

  • gtk/ycm_extra_conf.py: Added.

Dec 12, 2013:

11:22 PM Changeset in webkit [160530] by commit-queue@webkit.org
  • 3 edits
    13 adds in trunk/Source/WebKit2

Need ObjC APIs for some InjectedBundle classes.
https://bugs.webkit.org/show_bug.cgi?id=125600

Add ObjC API classes for WebFrame, InjectedBundleScriptWorld, InjectedBundleHitTestResult and InjectedBundleNodeHandle.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-12-12
Reviewed by Dan Bernstein.

  • Shared/Cocoa/APIObject.mm: creates API wrapper for WebFrame, InjectedBundleScriptWorld, InjectedBundleHitTestResult

and InjectedBundleNodeHandle.

(API::Object::newObject):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: Added.

(-[WKWebProcessPlugInFrame dealloc]):
(-[WKWebProcessPlugInFrame jsContextForWorld:]): returns the JSContextRef for a ScriptWorld in frame.
(-[WKWebProcessPlugInFrame hitTest:]): returns hitTestResult (with API type) from a hitTest.
(-[WKWebProcessPlugInFrame jsWrapperForNodeHandle:inWorld:]):
(-[WKWebProcessPlugInFrame API::]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h: Added.

(WebKit::wrapper):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.h: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm: Added.

(-[WKWebProcessPlugInHitTestResult dealloc]):
(-[WKWebProcessPlugInHitTestResult nodeHandle]):
(-[WKWebProcessPlugInHitTestResult API::]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResultInternal.h: Added.

(WebKit::wrapper):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: Added.

(-[WKWebProcessPlugInNodeHandle dealloc]):
(-[WKWebProcessPlugInNodeHandle API::]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h: Added.

(WebKit::wrapper):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: Added.

(+[WKWebProcessPlugInScriptWorld world]): returns a new isolated world.
(+[WKWebProcessPlugInScriptWorld normalWorld]): returns the mainThread normal world.
(-[WKWebProcessPlugInScriptWorld dealloc]):
(-[WKWebProcessPlugInScriptWorld API::]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h: Added.

(WebKit::wrapper):

11:04 PM Changeset in webkit [160529] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

Fix unsafe memory load/store from the argument encoder/decoder affecting ARM
https://bugs.webkit.org/show_bug.cgi?id=125674

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-12
Reviewed by Darin Adler.

Depending on the CPU and CPU config, load and store may have to be aligned.
The argument buffer has no particular alignment which can cause problems.

In this case, on ARMv7, strd and ldrd can have alignment restriction on 16 bytes.
The code encoding double and 64 bits integers was causing bugs.

To avoid problems, the encoders/decoders are modified to just use memcpy. The compiler optimizes
it away for the right instructions (clang uses two ldr/str in the case of 64bits values on ARMv7).

  • Platform/CoreIPC/ArgumentDecoder.cpp:

(CoreIPC::decodeValueFromBuffer):
(CoreIPC::ArgumentDecoder::decode):

  • Platform/CoreIPC/ArgumentEncoder.cpp:

(CoreIPC::copyValueToBuffer):
(CoreIPC::ArgumentEncoder::encode):

10:52 PM Changeset in webkit [160528] by Darin Adler
  • 11 edits in trunk/Source/WebCore

Make some improvements in CSSImageGeneratorValue code
https://bugs.webkit.org/show_bug.cgi?id=125676

Reviewed by Simon Fraser.

  • css/CSSCrossfadeValue.cpp:

(WebCore::subimageKnownToBeOpaque): Take a reference to the CSSValue, since
it's known not to be null. Used checked cast.
(WebCore::CSSCrossfadeValue::knownToBeOpaque): Updated to pass a reference.

  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::saveCachedImageForSize): Use
make_unique instead of adoptPtr.
(WebCore::CSSImageGeneratorValue::subimageIsPending): Use checked cast.
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue): Ditto, also
use nullptr.

  • css/CSSImageGeneratorValue.h: Removed unneeded includes, added some forward

declarations, used unique_ptr instead of OwnPtr, and used CSS_VALUE_TYPE_CASTS
macro to create cast functions.

  • css/CSSValue.cpp: Removed unneeded include of CSSImageGeneratorValue.h.
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear): Use nullptr instead of 0.
(WebCore::StyleResolver::applyProperty): Use checked cast and pass references
instead of pointers to StyleGeneratedImage::create.
(WebCore::StyleResolver::styleImage): Use checked cast and pass references
instead of pointers to generatedOrPendingFromValue.
(WebCore::StyleResolver::generatedOrPendingFromValue): Take the value as a
reference instead of a pointer.
(WebCore::StyleResolver::loadPendingImage): Pass a refernece instead of a
pointer to StyleGeneratedImage::create.
(WebCore::StyleResolver::loadPendingImages): Use auto for iteration instead of
a lot type name.

  • css/StyleResolver.h: Changed generatedOrPendingFromValue to take the value

as a reference instead of a pointer.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFilter): Pass a reference insted of a pointer to
StyleGeneratedImage::create.
(WebCore::crossfadeBlend): Ditto.
(WebCore::blendFunc): Ditto. Also use references for local variables.

  • rendering/style/StyleGeneratedImage.cpp:

(WebCore::StyleGeneratedImage::StyleGeneratedImage): Use PassRef instead of
PassRefPtr for the argument type.
(WebCore::StyleGeneratedImage::cssValue): Updated since m_imageGeneratorValue
is now a Ref instead of a RefPtr. Sadly this requires a const_cast that we can
come back and get rid of later.
(WebCore::StyleGeneratedImage::imageSize): Ditto.
(WebCore::StyleGeneratedImage::image): Ditto.

  • rendering/style/StyleGeneratedImage.h: Changed create function and constructor

to take a PassRef. Made imageValue non-const since it returns a non-const value,
to be consistent with "conceptual const". Changed m_imageGeneratorValue to be a
Ref instead of a RefPtr.

  • rendering/style/StyleImage.h: Made WrappedImagePtr be const void*, since it's

a pointer used only for equality checks. Not a great idiom, but fine to use a
const pointer instead of non-const, and avoids the const_cast we'd otherwise
need in StyleGeneratedImage::data.

9:51 PM Changeset in webkit [160527] by msaboff@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Use proper values for stack checks
https://bugs.webkit.org/show_bug.cgi?id=125677

Reviewed by Filip Pizlo.

For the LLInt using CodeBlock::m_numCalleeRegisters + maxFrameExtentForSlowPathCall.
For the baseline JIT using frameRegisterCountFor().
For the DFG using Graph::requiredRegisterCountForExecutionAndExit().

Using virtualRegisterForLocal().offset() to get the register offset given a count.
Note that for N registers, the value passed into virtualRegisterForLocal() needs
to be N-1, since we are trying to check to see if there is space for registers 0..N-1.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileFunction):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • llint/LowLevelInterpreter.asm:
8:59 PM Changeset in webkit [160526] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Improve the find word boundary performance
https://bugs.webkit.org/show_bug.cgi?id=125619

In endWordBoundary case, the textBreakPrevious call in findWordBoundary is unnecessary.
So use separate function for endWordBoundary can improve the performance.

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

No tests because no operation changes.

  • editing/VisibleUnits.cpp: Use findEndWordBoundary in endWordBoundary

(WebCore::endWordBoundary):

  • platform/text/TextBoundaries.cpp: Add findEndWordBoundary function

(WebCore::findEndWordBoundary):

  • platform/text/TextBoundaries.h:
  • platform/text/mac/TextBoundaries.mm: Add findEndWordBoundary function

(WebCore::findEndWordBoundary):

7:50 PM Changeset in webkit [160525] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix a silly mistake of r160467
https://bugs.webkit.org/show_bug.cgi?id=125657

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

Fix a typo. The validity check was missing the logical not.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

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

6:41 PM Changeset in webkit [160524] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.74.1

New Tag.

6:19 PM Changeset in webkit [160523] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add a few more ASCIILiterals
https://bugs.webkit.org/show_bug.cgi?id=125662

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

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::dispatch):

6:06 PM Changeset in webkit [160522] by msaboff@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Add equivalent values from MaxFrameExtentForSlowPathCall.h to lint files
https://bugs.webkit.org/show_bug.cgi?id=125669

Reviewed by Mark Lam.

Added platform specific value of maxFrameExtentForSlowPathCall to llint code.
Also added ASSERTs to check that we are using the save value in both places.

Per review comments, I also updated the CPU(ARM)
... in MaxFrameExtentForSlowPathCall.h

to be just CPU(ARM) since it covers all ARM 32 bit variants.

  • assembler/MaxFrameExtentForSlowPathCall.h:
  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LowLevelInterpreter.asm:
5:45 PM Changeset in webkit [160521] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix for 32-bit.

There was no reason for these to be CGFloat.

  • UIProcess/mac/ViewGestureController.cpp:
5:36 PM Changeset in webkit [160520] by timothy_horton@apple.com
  • 18 edits
    3 adds in trunk

[wk2] Handle pinch-to-zoom gesture
https://bugs.webkit.org/show_bug.cgi?id=125604

Reviewed by Simon Fraser.

Add the concept of a "transient" zoom to DrawingArea, which is a zoom
that affects the content, but does not cause repaint, as would be used
for a live pinch-zoom gesture.

Add ViewGestureController, which currently only handles magnification
gestures, and keeps track of the current gesture's scale and origin, and
forwards relevant events on to the DrawingArea via the transient zoom mechanism.

  • DerivedSources.make:

Add ViewGestureController to the list of message receivers.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Add shouldHandleMagnificationGesture property, which controls whether WKView will
attempt to handle magnifyWithEvent:.

  • UIProcess/API/mac/WKView.mm:

(-[WKView waitForAsyncDrawingAreaSizeUpdate]):
Fix a typo.

(-[WKView _ensureGestureController]):
Create our ViewGestureController if it doesn't already exist.

(-[WKView setAllowsMagnification:]):
(-[WKView allowsMagnification]):
SPI to enable/disable handling the magnification gesture.

(-[WKView setMagnification:centeredAtPoint:]):
(-[WKView setMagnification:]):
(-[WKView magnification]):
Adjust or retrieve the current page scale.
The variant of setMagnification that does not take an origin uses the view's center.

(-[WKView magnifyWithEvent:]):

(-[WKView endGestureWithEvent:]):
Forward gesture methods to ViewGestureController.

  • UIProcess/mac/ViewGestureController.cpp: Added.

(WebKit::ViewGestureController::create):
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::resistanceForDelta):
Compute a resistance factor, which makes it feel "hard" to zoom out past
scale=1, and accelerates scaling out before you hit scale=1.

(WebKit::ViewGestureController::scaledMagnificationOrigin):
Compute the origin of the magnification gesture with the transient zoom unapplied.

(WebKit::ViewGestureController::handleMagnificationGesture):
The first magnification gesture will send a message to the WebProcess
to retrieve the visible content rect. Subsequent gestures will
hand the new magnification and origin to the DrawingArea to apply.

(WebKit::ViewGestureController::didBeginTransientZoom):
Callback from the WebProcess, with the current visible content rect.
Subsequent magnification gestures will forward the scale and origin to the DrawingArea.

(WebKit::ViewGestureController::endMagnificationGesture):
Commit the current transient scale as the actual page scale, which will cause
a repaint and bring in all the tiles.

(WebKit::ViewGestureController::endActiveGesture):
If we have an active gesture, call its end function.

  • UIProcess/mac/ViewGestureController.h: Added.
  • UIProcess/mac/ViewGestureController.messages.in: Added.
  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::beginTransientZoom):
Call back to ViewGestureController with the visibleContentRect.

(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
Scale and translate the RenderView's PlatformCALayer.
Reaching into the layer tree like this is scary, we should consider
teaching RenderLayerCompositor about transient zoom.
Hide the content shadow layer for now.

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Clear our custom transform on the RenderView's layer, and
change the actual page scale, causing a repaint.
Un-hide the shadow layer.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::beginTransientZoom):
(WebKit::DrawingAreaProxy::adjustTransientZoom):
(WebKit::DrawingAreaProxy::commitTransientZoom):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::beginTransientZoom):
(WebKit::TiledCoreAnimationDrawingAreaProxy::adjustTransientZoom):
(WebKit::TiledCoreAnimationDrawingAreaProxy::commitTransientZoom):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::beginTransientZoom):
(WebKit::DrawingArea::adjustTransientZoom):
(WebKit::DrawingArea::commitTransientZoom):

  • WebProcess/WebPage/DrawingArea.messages.in:

Generic plumbing for {begin, adjust, end}TransientZoom.

  • WebCore.exp.in:

Export some TransformationMatrix functions.

  • WebCore.xcodeproj/project.pbxproj:

Make some headers private so that RenderLayerCompositor/Backing can be used from WebKit2.

  • rendering/RenderLayerCompositor.h:

(WebCore::RenderLayerCompositor::layerForContentShadow):
Add a getter for the content shadow layer.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
Enable handling of the magnification gesture in Minibrowser WebKit2 windows.

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

CStack Branch: Add the new assembler/MaxFrameExtentForSlowPathCall.h to build files
https://bugs.webkit.org/show_bug.cgi?id=125668

Reviewed by Mark Lam.

Added assembler/MaxFrameExtentForSlowPathCall.h to Xcode, Visual Studio and
GNUmake build files.

5:13 PM Changeset in webkit [160518] by eunmi15.lee@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
4:42 PM Changeset in webkit [160517] by beidson@apple.com
  • 22 edits
    4 copies
    4 adds in trunk/Source

DatabaseProcess IndexedDB: Establish a metadata backing store on disk
https://bugs.webkit.org/show_bug.cgi?id=125258

Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.

Source/WebCore:

Teach CrossThreadCopier how to handle IDBDatabaseMetadata.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBDatabaseMetadata.cpp: Added.

(WebCore::IDBDatabaseMetadata::isolatedCopy):
(WebCore::IDBObjectStoreMetadata::isolatedCopy):
(WebCore::IDBIndexMetadata::isolatedCopy):

  • Modules/indexeddb/IDBDatabaseMetadata.h:
  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::IDBKeyPath::isolatedCopy):

  • Modules/indexeddb/IDBKeyPath.h:
  • platform/CrossThreadCopier.cpp:

(WebCore::::copy): Add an IDBDatabaseMetadata specialization.

  • platform/CrossThreadCopier.h:

Source/WebKit2:

The DatabaseProcess already has an "Indexed Database path".
Each SecurityOrigin with indexed databases will have a subdirectory under the path.
Each indexed database will have a subdirectory under its SecurityOrigin's path.
Inside that directory will exist (1) metadata database, and 0-N ObjectStore databases.

This patch establishes the directory structure and the (1) metadata database.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::initializeDatabaseProcess): Asynchronously ensure the indexed database directory exists.
(WebKit::DatabaseProcess::ensureIndexedDatabaseRelativePathExists): Allow anyone to make necessary directories relative to

the indexed database directory.

(WebKit::DatabaseProcess::ensurePathExists):
(WebKit::DatabaseProcess::absoluteIndexedDatabasePathFromDatabaseRelativePath): Instead of exposing the indexed database directory,

give DatabaseProcess a method to allow others to compute a path relative to the indexed database directory.

(WebKit::DatabaseProcess::postDatabaseTask):
(WebKit::DatabaseProcess::performNextDatabaseTask):

  • DatabaseProcess/DatabaseProcess.h:

(WebKit::DatabaseProcess::queue):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
(WebKit::UniqueIDBDatabase::filenameForDatabaseName):
(WebKit::UniqueIDBDatabase::databaseFilenameIdentifier):
(WebKit::UniqueIDBDatabase::canShareDatabases):
(WebKit::UniqueIDBDatabase::shutdown): Method to cleanly shutdown a database, emptying its task and request queues.
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
(WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata): To be run on the database work queue, establishes a backing store

and extracts metadata from it.

(WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata): Callback once metadata from the backing store is ready for use.
(WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
(WebKit::UniqueIDBDatabase::postMainThreadTask): Add a main thread task for this database.
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask): Add a database queue task for this database.
(WebKit::UniqueIDBDatabase::performNextDatabaseTask):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

Add a virtual backing store interface:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:

(WebKit::UniqueIDBDatabaseBackingStore::~UniqueIDBDatabaseBackingStore):

Add a SQLite implementation of that interface:

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: Added.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

Add a general purpose asynchronous task that does cross thread copying:

  • Shared/AsyncTask.h: Added.

(WebKit::AsyncTask::~AsyncTask):
(WebKit::AsyncTask::AsyncTask):
(WebKit::createAsyncTask):

Add more isolated copiers and introduce WebKit CrossThreadCopier specializations:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp:

(WebKit::UniqueIDBDatabaseIdentifier::isolatedCopy):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h:
  • Shared/SecurityOriginData.cpp:

(WebKit::SecurityOriginData::isolatedCopy):

  • Shared/SecurityOriginData.h:
  • Shared/WebCrossThreadCopier.cpp:

(WebCore::::copy):

  • Shared/WebCrossThreadCopier.h:
  • WebKit2.xcodeproj/project.pbxproj:

Source/WTF:

  • wtf/text/WTFString.h: Export toUInt64Strict().
4:30 PM Changeset in webkit [160516] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Put all stack saving and restoring callToJavaScript in {push/pop}CalleeSaves
https://bugs.webkit.org/show_bug.cgi?id=125666

Not yet reviewed.

Eliminated "extraStack" arguments and related stack pointer manipulation for 64 bit platforms.
Both ARM64 and X86_64 already have aligned stacks. Eliminated some related commented out
code.

  • llint/LowLevelInterpreter64.asm:
4:18 PM Changeset in webkit [160515] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

AX: HANG: virginamerica.com: Pressing the print button on the boarding pass page locks up VoiceOver and Safari.
https://bugs.webkit.org/show_bug.cgi?id=125603

Reviewed by Anders Carlsson.

Allow the print dialog to spin its run loop while accessibility is enabled so that VoiceOver does not hang on the WebProcess.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::print):

4:18 PM Changeset in webkit [160514] by msaboff@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Eliminate unnecessary add/sub 16 to stack pointer
https://bugs.webkit.org/show_bug.cgi?id=125653

Reviewed by Geoffrey Garen.

Changes as a result of review.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::frameRegisterCount): Changed c-style cast to static_cast.

Changed rounding for stack alignment to use WTF::roundUpToMultipleOf

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions): Added assertion for JSStack::CallerFrameAndPCSize

4:10 PM Changeset in webkit [160513] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed CMake build fix after r160509

  • CMakeLists.txt: Apply MessageSender's changes
3:49 PM Changeset in webkit [160512] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Let the load delegate know when the Web process crashes
https://bugs.webkit.org/show_bug.cgi?id=125660

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(processDidCrash): Implemented this WKPageLoaderClient callback by calling the load
delegate.
(setUpPageLoaderClient): Set the above callback in the client structure

  • UIProcess/API/Cocoa/WKBrowsingContextLoadDelegatePrivate.h: Declare new delegate method.
3:46 PM Changeset in webkit [160511] by Lucas Forschler
  • 2 edits in trunk/Tools

Update hardware for Apple bots.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
3:41 PM Changeset in webkit [160510] by Lucas Forschler
  • 2 edits in trunk/Tools

Remove unused Apple Bots.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
3:26 PM Changeset in webkit [160509] by andersca@apple.com
  • 2 edits
    2 moves in trunk/Source/WebKit2

Move MessageSender to Platform/IPC.

Rubber-stamped by Andreas Kling.

  • Platform/IPC/MessageSender.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.cpp.
  • Platform/IPC/MessageSender.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.h.
  • WebKit2.xcodeproj/project.pbxproj:
3:12 PM Changeset in webkit [160508] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

WebPageProxy should be a MessageSender
https://bugs.webkit.org/show_bug.cgi?id=125654

Reviewed by Sam Weinig.

  • Platform/CoreIPC/MessageSender.cpp:

(CoreIPC::MessageSender::sendMessage):

  • Platform/CoreIPC/MessageSender.h:

(CoreIPC::MessageSender::send):

  • Shared/ChildProcessProxy.h:
  • Shared/WebConnection.cpp:

(WebKit::WebConnection::postMessage):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::sendMessage):
(WebKit::WebPageProxy::messageSenderConnection):
(WebKit::WebPageProxy::messageSenderDestinationID):

  • UIProcess/WebPageProxy.h:
2:55 PM Changeset in webkit [160507] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Tools

committer

2:54 PM Changeset in webkit [160506] by msaboff@apple.com
  • 7 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Eliminate unnecessary add/sub 16 to stack pointer
https://bugs.webkit.org/show_bug.cgi?id=125653

Not yet reviewed.

Changed the DFG stack frame to include outgoing space for at least the two
pointers for returnPC and callerFrame. Changed the setting of the stack
pointer to not include the space for the outgoing returnPC and callerFrame.
Eliminated the add/sub 16 around calls in the DFG.

Adjusted the LLInt and baseline JIT calculation of the stack pointer for calls.
In both cases, the frame is set up with temp that points to the base of the callee
frame. The space for the outgoing returnPC and callerFrame is added to the temp
to create the stack pointer for the call.

  • dfg/DFGGraph.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • interpreter/JSStack.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
1:48 PM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
1:25 PM Changeset in webkit [160505] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Fix handling of uncaught exceptions.
https://bugs.webkit.org/show_bug.cgi?id=125648.

Reviewed by Geoffrey Garen.

  • llint/LowLevelInterpreter64.asm:
  • handleUncaughtException should load the "catch" callFrame instead of assuming that the current one is appropriate. This is now fixed.
12:28 PM Changeset in webkit [160504] by andersca@apple.com
  • 16 edits in trunk/Source/WebKit2

Clean up dictionary handling a little
https://bugs.webkit.org/show_bug.cgi?id=125644

Reviewed by Dan Bernstein.

Add a WKDictionaryCreate function as a first step towards eliminating WKMutableDictionaryRef,
(in the same way we've eliminated WKMutableArrayRef). Also, rename adopt to create and make it take a Map by value
so we can use std::move where appropriate.

  • Shared/API/c/WKDictionary.cpp:

(WKDictionaryCreate):

  • Shared/API/c/WKDictionary.h:
  • Shared/Cocoa/WKNSDictionary.mm:

(-[WKNSDictionary copyWithZone:]):

  • Shared/ImmutableDictionary.cpp:

(WebKit::ImmutableDictionary::create):
(WebKit::ImmutableDictionary::ImmutableDictionary):

  • Shared/ImmutableDictionary.h:
  • Shared/MutableDictionary.cpp:

(WebKit::MutableDictionary::MutableDictionary):

  • Shared/Plugins/Netscape/PluginInformation.cpp:

(WebKit::createPluginInformationDictionary):

  • Shared/UserData.cpp:

(WebKit::UserData::transform):
(WebKit::UserData::decode):

  • Shared/UserMessageCoders.h:

(WebKit::UserMessageDecoder::baseDecode):

  • UIProcess/Plugins/PlugInAutoStartProvider.cpp:

(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):

  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):

  • UIProcess/WebFormClient.cpp:

(WebKit::WebFormClient::willSubmitForm):

  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::createNewPage):

  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:

(WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
(WebKit::InjectedBundlePageFormClient::willSubmitForm):

12:18 PM Changeset in webkit [160503] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Add support for RSAES-PKCS1-v1_5
https://bugs.webkit.org/show_bug.cgi?id=125647

Build fix.

  • crypto/CommonCryptoUtilities.h: Declare a newly used private constant.
12:12 PM Changeset in webkit [160502] by ap@apple.com
  • 8 edits
    7 adds in trunk

Add support for RSAES-PKCS1-v1_5
https://bugs.webkit.org/show_bug.cgi?id=125647

Reviewed by Anders Carlsson.

Source/WebCore:

Tests: crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html

crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html

  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
  • crypto/algorithms/CryptoAlgorithmAES_KW.h:

Removed meaningless parameters arguments from private functions. The base arguments
class is always empty.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCryptoAlgorithmDictionary.cpp:

(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
(WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp: Added.

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::CryptoAlgorithmRSAES_PKCS1_v1_5):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::~CryptoAlgorithmRSAES_PKCS1_v1_5):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::create):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::identifier):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::keyAlgorithmMatches):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h: Added.
  • crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: Added.

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):

  • crypto/mac/CryptoAlgorithmRegistryMac.cpp:

(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
Added support for this algorithm.

LayoutTests:

  • crypto/subtle/rsaes-pkcs1-v1_5-decrypt-expected.txt: Added.
  • crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html: Added.
  • crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt: Added.
  • crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html: Added.
11:57 AM Changeset in webkit [160501] by matthew_hanson@apple.com
  • 17 edits
    2 adds in branches/safari-537.74-branch

Merged patch from <rdar://problems/15474133>. This patch is a port of r157821.

11:52 AM Changeset in webkit [160500] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebInspectorUI

Web Inspector: ES6: JavaScript syntax highlighting and recognition of for..of
https://bugs.webkit.org/show_bug.cgi?id=122868

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-12
Reviewed by Timothy Hatcher.

Update to CodeMirror 3.20 including javascript ES6 updates.

  • Tools/PrettyPrinting/codemirror.css:
  • Tools/PrettyPrinting/codemirror.js: Minor local change due to error from jsmin.py
  • Tools/PrettyPrinting/css.js:
  • Tools/PrettyPrinting/javascript.js:
  • UserInterface/External/CodeMirror/codemirror.css:
  • UserInterface/External/CodeMirror/codemirror.js: Minor local change due to error from jsmin.py
  • UserInterface/External/CodeMirror/coffeescript.js:
  • UserInterface/External/CodeMirror/css.js:
  • UserInterface/External/CodeMirror/htmlmixed.js:
  • UserInterface/External/CodeMirror/javascript.js:
  • UserInterface/External/CodeMirror/less.js:
  • UserInterface/External/CodeMirror/matchbrackets.js:
  • UserInterface/External/CodeMirror/placeholder.js:
  • UserInterface/External/CodeMirror/runmode.js:
  • UserInterface/External/CodeMirror/searchcursor.js:
  • UserInterface/External/CodeMirror/sql.js:
  • UserInterface/External/CodeMirror/xml.js:
11:37 AM Changeset in webkit [160499] by msaboff@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Change the disabling of DFG OSR entry to be based on an option
https://bugs.webkit.org/show_bug.cgi?id=125645

Rubber stamped by Filip Pizlo.

Added a new enableOSREntryToDFG option and set the default value to false.
If the option is false, prepareOSREntry() will return 0 which disables OSR
entry, as the return value is the address to jump to or 0 if we can't OSR enter.
Restored the code in emitEnterOptimizationCheck() and emitSlow_op_loop_hint()
that checks the exit value from operationOptimize().

Per a discussion with Filip, removed the enableOSREntryInLoops option and
associated use. All OSR entry to the DFG is now controlled with the new option.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitSlow_op_loop_hint):

  • runtime/Options.h:
11:22 AM Changeset in webkit [160498] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] Stop not caching HTTP resources with "Vary" header in response.
<https://webkit.org/b/125483>
<rdar://problem/11781097>

Remove the workaround preventing resources with the "Vary" header
from going into cache, as the CFNetwork cache has supported this
for quite a while now.

31.5 MB progression on Membuster3, because we can now mmap those
resources from disk once they are in the cache.

We keep the workaround on PLATFORM(WIN) for now.

Reviewed by Antti Koivisto.

11:21 AM Changeset in webkit [160497] by mark.lam@apple.com
  • 12 edits in branches/jsCStack/Source/JavaScriptCore

Rename returnFromJavaScript to handleUncaughtException.
https://bugs.webkit.org/show_bug.cgi?id=125613.

Reviewed by Filip Pizlo.

Also did a few minor fixes to get the C Loop LLINT offline asm stage
to build properly, and also some trivial changes to minimize the
compile errors for LowLevelInterpreter.cpp. It doesn't build completely
and run yet since we'll need to update it for CStack changes that have
not been implemented for the C Loop LLINT yet.

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

  • jit/JITStubs.h:
  • jit/JITStubsMSVC64.asm:
  • jit/JITStubsX86.h:
  • llint/LLIntOpcode.h:
  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter.cpp:

(JSC::CLoop::execute):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/cloop.rb:
10:42 AM Changeset in webkit [160496] by ap@apple.com
  • 3 edits
    2 adds in trunk

Source/WebCore: Replace uses of WTF::BitArray with std::bitset
https://bugs.webkit.org/show_bug.cgi?id=125642

Patch by Sam Weinig <sam@webkit.org> on 2013-12-12
Reviewed by Anders Carlsson.

  • css/CSSParser.cpp:

(WebCore::filterProperties):
(WebCore::CSSParser::createStyleProperties):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::asText):

LayoutTests: Public key in a generated KeyPair should always be extractable
https://bugs.webkit.org/show_bug.cgi?id=125643

Reviewed by Sam Weinig.

  • crypto/subtle/rsa-oaep-generate-non-extractable-key-expected.txt: Added.
  • crypto/subtle/rsa-oaep-generate-non-extractable-key.html: Added.
10:41 AM Changeset in webkit [160495] by mitz@apple.com
  • 11 edits
    1 add in trunk/Source/WebKit2

[Cocoa] Navigation action information for policy decisions is missing the original request
https://bugs.webkit.org/show_bug.cgi?id=125612

Reviewed by Anders Carlsson.

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction): Added template with additional message parameter.

  • UIProcess/API/C/WKPagePolicyClientInternal.h: Added. Defines a new version of the client

interface with a new version of the policy decision callback.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(setUpPagePolicyClient): Use the new internal version of the client. Pass the original
request in the action information dictionary under a new key.

  • UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Declared new action information

key.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originalRequest parameter,
which is passed to the policy client.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added originalRequest parameter in

DecidePolicyForNavigationAction.

  • UIProcess/WebPolicyClient.cpp:

(WebKit::WebPolicyClient::decidePolicyForNavigationAction): Pass the original request to
the client.

  • UIProcess/WebPolicyClient.h:
  • WebKit2.xcodeproj/project.pbxproj: Added reference to new file.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the original
request from the navigation action to the UI process.

10:41 AM Changeset in webkit [160494] by Joseph Pecoraro
  • 7 edits in trunk

Test new JSContext name APIs
https://bugs.webkit.org/show_bug.cgi?id=125607

Source/JavaScriptCore:

Reviewed by Darin Adler.

  • API/JSContext.h:
  • API/JSContextRef.h:

Fix whitespace issues.

  • API/tests/testapi.c:

(globalContextNameTest):
(main):

  • API/tests/testapi.mm:

Add tests for JSContext set/get name APIs.

Tools:

  • Scripts/run-javascriptcore-tests:

Remove trailing whitespace.

10:38 AM Changeset in webkit [160493] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

ARM64: Hang running pdfjs test, suspect DFG generated code for "in"
https://bugs.webkit.org/show_bug.cgi?id=124727
<rdar://problem/15566923>

Reviewed by Michael Saboff.

Get rid of In's hackish use of StructureStubInfo. Previously it was using hotPathBegin,
and it was the only IC that used that field, which was wasteful. Moreover, it used it
to store two separate locations: the label for patching the jump and the label right
after the jump. The code was relying on those two being the same label, which is true
on X86 and some other platforms, but it isn't true on ARM64.

This gets rid of hotPathBegin and makes In express those two locations as offsets from
the callReturnLocation, which is analogous to what the other IC's do.

This fixes a bug where any successful In patching would result in a trivially infinite
loop - and hence a hang - on ARM64.

  • bytecode/StructureStubInfo.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::InRecord::InRecord):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):

  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITByIdGenerator::finalize):

  • jit/Repatch.cpp:

(JSC::replaceWithJump):
(JSC::patchJumpToGetByIdStub):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
(JSC::tryRepatchIn):
(JSC::resetGetByID):
(JSC::resetPutByID):
(JSC::resetIn):

10:31 AM Changeset in webkit [160492] by weinig@apple.com
  • 9 edits
    1 delete in trunk/Source

Replace uses of WTF::BitArray with std::bitset
https://bugs.webkit.org/show_bug.cgi?id=125642

Reviewed by Anders Carlsson.

../WebCore:

  • css/CSSParser.cpp:

(WebCore::filterProperties):
(WebCore::CSSParser::createStyleProperties):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::asText):

../WTF:

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/BitArray.h: Removed.
  • wtf/CMakeLists.txt:
10:21 AM Changeset in webkit [160491] by ap@apple.com
  • 65 edits in trunk

Make algorithm.name return registered name, not normalized one
https://bugs.webkit.org/show_bug.cgi?id=125641

Reviewed by Anders Carlsson.

Source/WebCore:

Currently, WebCrypto editor's draft stipulates that algorithm name is lowercased
as part of normalization.

But it makes little sense to register algorithms as mixed (mostly upper) case, yet
return the name lowercased. Other implementations don't bother respecting this,
and signs are that the spec will change.

I'd like to match other implementations here, because sticking to the spec only
makes us fail 3rd party test suites for no good reason.

Updated many existing tests.

  • crypto/CryptoAlgorithmRegistry.cpp:

(WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
(WebCore::CryptoAlgorithmRegistry::registerAlgorithm):

  • crypto/CryptoAlgorithmRegistry.h:
  • crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
  • crypto/algorithms/CryptoAlgorithmHMAC.cpp:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA1.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA224.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA256.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA384.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA512.cpp:

LayoutTests:

  • crypto/subtle/aes-cbc-192-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-192-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-generate-key-expected.txt:
  • crypto/subtle/aes-cbc-generate-key.html:
  • crypto/subtle/aes-cbc-import-jwk-expected.txt:
  • crypto/subtle/aes-cbc-import-jwk.html:
  • crypto/subtle/aes-cbc-invalid-length-expected.txt:
  • crypto/subtle/aes-cbc-invalid-length.html:
  • crypto/subtle/aes-cbc-unwrap-failure-expected.txt:
  • crypto/subtle/aes-cbc-unwrap-failure.html:
  • crypto/subtle/aes-cbc-unwrap-rsa-expected.txt:
  • crypto/subtle/aes-cbc-unwrap-rsa.html:
  • crypto/subtle/aes-cbc-wrap-rsa-expected.txt:
  • crypto/subtle/aes-cbc-wrap-rsa-non-extractable-expected.txt:
  • crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html:
  • crypto/subtle/aes-cbc-wrap-rsa.html:
  • crypto/subtle/aes-kw-key-manipulation-expected.txt:
  • crypto/subtle/aes-kw-key-manipulation.html:
  • crypto/subtle/aes-kw-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/aes-kw-wrap-unwrap-aes.html:
  • crypto/subtle/aes-postMessage-expected.txt:
  • crypto/subtle/aes-postMessage.html:
  • crypto/subtle/hmac-generate-key-expected.txt:
  • crypto/subtle/hmac-generate-key.html:
  • crypto/subtle/hmac-import-jwk-expected.txt:
  • crypto/subtle/hmac-import-jwk.html:
  • crypto/subtle/hmac-postMessage-expected.txt:
  • crypto/subtle/hmac-postMessage.html:
  • crypto/subtle/hmac-sign-verify-empty-key-expected.txt:
  • crypto/subtle/hmac-sign-verify-empty-key.html:
  • crypto/subtle/hmac-sign-verify-expected.txt:
  • crypto/subtle/hmac-sign-verify.html:
  • crypto/subtle/postMessage-worker-expected.txt:
  • crypto/subtle/postMessage-worker.html:
  • crypto/subtle/resources/postMessage-worker.js:
  • crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
  • crypto/subtle/rsa-oaep-key-manipulation.html:
  • crypto/subtle/rsa-oaep-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/rsa-oaep-wrap-unwrap-aes.html:
  • crypto/subtle/rsa-postMessage-expected.txt:
  • crypto/subtle/rsa-postMessage.html:
  • crypto/subtle/rsassa-pkcs1-v1_5-generate-key-expected.txt:
  • crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html:
  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt:
  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html:
9:21 AM Changeset in webkit [160490] by zandobersek@gmail.com
  • 4 edits in trunk

[Autotools] Prepend the WebCore layer archives' names with 'lib'
https://bugs.webkit.org/show_bug.cgi?id=125627

Reviewed by Martin Robinson.

Source/WebKit2:

  • GNUmakefile.am: Libtool can complain about the WebCore layer archives not being prepended with 'lib'

when they are used during linking, so the prefix is now added to avoid such issues.

Tools:

  • TestWebKitAPI/GNUmakefile.am: Libtool can complain about the WebCore layer archives not being prepended

with 'lib' when they are used during linking, so the prefix is now added to avoid such issues.

9:03 AM Changeset in webkit [160489] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Rebaseline fast/table/empty-cells.html after r160410.

  • platform/efl/fast/table/empty-cells-expected.png:
  • platform/efl/fast/table/empty-cells-expected.txt:
6:02 AM Changeset in webkit [160488] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing compositing tests.

  • platform/efl-wk2/TestExpectations:
4:30 AM Changeset in webkit [160487] by Csaba Osztrogonác
  • 41 edits
    1 copy
    3 moves
    1 delete in trunk/Source

Move CertificateInfo to WebCore
https://bugs.webkit.org/show_bug.cgi?id=124720

Reviewed by Darin Adler.

Based on the patch by Kwang Yul Seo <skyul@company100.net>

Source/WebCore:

  • GNUmakefile.list.am:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.h.

(WebCore::CertificateInfo::setCertificateChain): Added, because WebCoreArgumentCoders needs it.

  • platform/network/mac/CertificateInfoMac.mm: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.mm.

(WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersMac.mm.

  • platform/network/soup/CertificateInfo.cpp: Copied from Source/WebKit2/Shared/WebCertificateInfo.h.

(WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersSoup.cpp.

  • platform/network/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/CertificateInfo.h.

(WebCore::CertificateInfo::setCertificate): Added, because WebCoreArgumentCoders needs it.
(WebCore::CertificateInfo::setTLSErrors): Added, because WebCoreArgumentCoders needs it.

Source/WebKit2:

  • GNUmakefile.list.am:
  • NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp:
  • NetworkProcess/mac/NetworkProcessMac.mm:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • Shared/API/c/mac/WKCertificateInfoMac.mm:
  • Shared/Authentication/AuthenticationManager.h:
  • Shared/Authentication/AuthenticationManager.messages.in:
  • Shared/Authentication/mac/AuthenticationManager.mac.mm:
  • Shared/UserMessageCoders.h:

(WebKit::UserMessageDecoder::baseDecode):

  • Shared/WebCertificateInfo.h:

(WebKit::WebCertificateInfo::create):
(WebKit::WebCertificateInfo::certificateInfo):

  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(CoreIPC::ArgumentCoder<CertificateInfo>::encode):
(CoreIPC::ArgumentCoder<CertificateInfo>::decode):

  • Shared/soup/CertificateInfo.cpp: Removed.
  • Shared/soup/WebCoreArgumentCodersSoup.cpp:

(CoreIPC::ArgumentCoder<CertificateInfo>::encode):
(CoreIPC::ArgumentCoder<CertificateInfo>::decode):

  • UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_get_tls_info):

  • UIProcess/Authentication/AuthenticationChallengeProxy.cpp:

(WebKit::AuthenticationChallengeProxy::useCredential):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didCommitLoad):

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Network/WebResourceLoader.cpp:
  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):

4:21 AM Changeset in webkit [160486] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed, rolling out r160446.
http://trac.webkit.org/changeset/160446
https://bugs.webkit.org/show_bug.cgi?id=125630

The upower-glib-based implementation is using API that was
recently removed (Requested by zdobersek1 on #webkit).

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • platform/gtk/TestExpectations:
4:04 AM Changeset in webkit [160485] by commit-queue@webkit.org
  • 13 edits
    2 deletes in trunk

Unreviewed, rolling out r160417.
http://trac.webkit.org/changeset/160417
https://bugs.webkit.org/show_bug.cgi?id=125629

The patch is causing crashes (Requested by zdobersek1 on
#webkit).

Source/WebCore:

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::remove):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::detachWrapper):

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::detachWrapper):
(WebCore::AXObjectCache::attachWrapper):
(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::detachWrapper):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::detachWrapper):

  • accessibility/win/AXObjectCacheWin.cpp:

(WebCore::AXObjectCache::detachWrapper):

Tools:

  • DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:

(axObjectEventListener):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:

LayoutTests:

  • accessibility/children-changed-sends-notification-expected.txt: Removed.
  • accessibility/children-changed-sends-notification.html: Removed.
  • accessibility/loading-iframe-sends-notification.html:
  • platform/mac/TestExpectations:
3:54 AM Changeset in webkit [160484] by Martin Robinson
  • 3 edits in trunk/Source/WebCore

Remove a few more guards mistakenly added in r160367

Reviewed by Carlos Garcia Campos

r160367 was too liberal in hiding APIs from the GObject DOM bindings.
We should expose the BatteryManager and the text and audio tracks.

  • Modules/battery/BatteryManager.idl:
  • html/HTMLMediaElement.idl:
2:17 AM Changeset in webkit [160483] by Antoine Quint
  • 10 edits
    3 adds in trunk/Source/WebInspectorUI

Web Inspector: allow editing of colors in CSS resources
https://bugs.webkit.org/show_bug.cgi?id=124364

Reviewed by Timothy Hatcher.

Identify colors in CSS and HTML resources so that hovering these colors shows a HoverMenu
allowing a ColorPicker hosted in a Popover to be shown to edit the hovered color.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
Remove the code that goes through the lines of the CodeMirror editor to look for
color strings and replace it with a call to the .createColorMarkers() CodeMirror
extension in which the code was refactored. The callback passed to
.createColorMarkers() handles the CSSStyleDeclarationTextEditor-specific creation
of color swatches to show the popover, keeping the existing behavior of the Styles
sidebar panel.

  • UserInterface/CodeMirrorAdditions.js:

Refactor existing code into two new CodeMirror extensions: .boundsForRange(), which
was previously defined on the CodeMirrorTokenTrackingController but was also needed
in the new CodeMirrorColorEditingController, and .createColorMarkers(), discussed above.

  • UserInterface/CodeMirrorColorEditingController.js: Added.

(WebInspector.CodeMirrorColorEditingController):
New class used by SourceCodeTextEditor to coordinate the editing of a color in a CodeMirror
TextMarker by a ColorPicker hosted in a Popover shown by the activation of a HoverMenu. This
controller automatically gets the color set by the user using the ColorPicker and updates
the CodeMirror text editor with the new value. When the user presses the Esc. key while the
popover is shown, it's automatically dismissed and the original color is reset in the editor.

(WebInspector.CodeMirrorColorEditingController.prototype.get marker):
(WebInspector.CodeMirrorColorEditingController.prototype.get range):
(WebInspector.CodeMirrorColorEditingController.prototype.get delegate):
(WebInspector.CodeMirrorColorEditingController.prototype.set delegate):
Getters and setters for public properties.

(WebInspector.CodeMirrorColorEditingController.prototype.get color):
(WebInspector.CodeMirrorColorEditingController.prototype.set color):
Get and set the color for the edited color marker, replacing the text in the marker's range
upon setting.

(WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu):
Public API allowing for a HoverMenu to be shown around the bounds of the TextMarker passed
in the constructor. This method is called from SourceCodeTextEditor when the
CodeMirrorTokenTrackingController identifies that a token that is part of a TextMarker is
hovered and that token is a color.

(WebInspector.CodeMirrorColorEditingController.prototype.dismissHoverMenu):
Public API allowing for the HoverMenu to be dismissed. This method is called when the
CodeMirrorTokenTrackingController identifies that its "hoveredMarker" is no longer being
hovered as well as when we identify that editing of the color has completed.

(WebInspector.CodeMirrorColorEditingController.prototype.handleEvent):
Event handler for the "keydown" event that are being listened to when the HoverMenu
is activated such that the Esc. key can be used to dimiss the popover and reset the
original color before any edits.

(WebInspector.CodeMirrorColorEditingController.prototype.hoverMenuButtonWasPressed):
Implementation of the HoverMenu delegation method used to show a Popover containing a
ColorPicker upon clicking on the color wheel attached to the HoverMenu. We also remember
the color set on the marker so that it may be restored when Esc. is pressed and used to
set the original state of the ColorPicker. The delegation method
colorEditingControllerDidStartEditing() is also called at this point, which the
SourceCodeTextEditor implements.

(WebInspector.CodeMirrorColorEditingController.prototype.didDismissPopover):
Implementation of the Popover delegation method used to identify that color editing has
completed. The delegation method colorEditingControllerDidFinishEditing() is called
at this point, which the SourceCodeTextEditor implements.

(WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
Apply the color set in the color picker to the CodeMirror text editor.

  • UserInterface/CodeMirrorTokenTrackingController.js:

Add two new modes to CodeMirrorTokenTrackingController. The first mode is "None" and is
the default, incurring no specific token handling behavior. The second mode is "MarkedTokens"
which identifies hover of a token contained in a CodeMirror TextMarker range. The new
"MarkedTokens" mode is used by SourceCodeTextEditor to identify when a marked color is being
hovered to display a HoverMenu.

(WebInspector.CodeMirrorTokenTrackingController):
(WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
Make "None" the new default mode for CodeMirrorTokenTrackingController.

(WebInspector.CodeMirrorTokenTrackingController.prototype.get hoveredMarker):
(WebInspector.CodeMirrorTokenTrackingController.prototype.set hoveredMarker):
(WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
Check, when we have a "hoveredMarker" set on the CodeMirrorTokenTrackingController,
whether the "hoveredMarker" is still being hovered when there is no token at the current
mouse position. We can then determine when we're mousing out of the "hoveredMarker" and
notify the delegate via the new tokenTrackingControllerMouseOutOfHoveredMarker delegate
method. The SourceCodeTextEditor uses this method to dismiss its CodeMirrorColorEditingController.

(WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
Add support for the new "MarkedTokens" mode.

(WebInspector.CodeMirrorTokenTrackingController.prototype._processMarkedToken):
For the moment, use the same behavior as the existing "MarkedTokens" mode.

  • UserInterface/Color.js:

(WebInspector.Color):
Add a new "valid" property to identify whether a color has any invalid (NaN) component. This property
is used by SourceCodeTextEditor to establish whether a hovered color marker is indeed set to a
valid color still.

(WebInspector.Color.prototype.copy):
New method to create an exact copy of a Color instance, used by CodeMirrorColorEditingController
to duplicate the edited color in case we need to revert it.

  • UserInterface/HoverMenu.js:

(WebInspector.HoverMenu.prototype._handleClickEvent):
Rename hoverMenuWasActivated to hoverMenuButtonWasPressed per review feedback.

  • UserInterface/Images/ColorIcon.png: Added.
  • UserInterface/Images/ColorIcon@2x.png: Added.

New color wheel icon used to customize the HoverMenu shown by a CodeMirrorColorEditingController.

  • UserInterface/Main.html:

Link to the new CodeMirrorColorEditingController.js file.

  • UserInterface/SourceCodeTextEditor.css:

(.hover-menu.color):
(.hover-menu.color > img):
Customize the HoverMenu shown by a CodeMirrorColorEditingController to use the new ColorIcon asset.

  • UserInterface/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
Add a new "_ignoreContentDidChange" ivar that increments and decrements to track when handling
of CodeMirror content changes should be disabled.

(WebInspector.SourceCodeTextEditor.prototype.close):
Adopt the new ._updateTokenTrackingControllerState() method to update the state of the
CodeMirrorTokenTrackingController.

(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
Override the new TextEditor public API called when content in the CodeMirror text editor is changed.
We use this method to process any newly added line to create any newly added color marker.

(WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._sourceCodeSourceMapAdded):
Adopt the new ._updateTokenTrackingControllerState() method to update the state of the
CodeMirrorTokenTrackingController.

(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
New method acting as the only point where we check the state of the text editor and set the right
mode and settings on the CodeMirrorTokenTrackingController, including setting the new "MarkedTokens"
mode when we have color markers, as determined by ._hasColorMarkers().

(WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers):
Check whether any of the TextMarkers set on the CodeMirror text editor were created for a color.

(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
Check the CodeMirrorTokenTrackingController mode rather than the removed "_jumpToSymbolTrackingModeEnabled"
ivar to identify we're in the "NonSymbolTokens" mode.

(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
Refactor method to use the CodeMirrorTokenTrackingController mode to branch into mode-specific code
and add a new branch for the new "MarkedTokens" mode where we check if the newly hovered token
is part of a color TextMarker range.

(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
Implement this new CodeMirrorTokenTrackingController delegation method to dismiss the
CodeMirrorColorEditingController as we identify we're no longer hovering over the TextMarker
for which the CodeMirrorColorEditingController was created.

(WebInspector.SourceCodeTextEditor.prototype._showPopover):
Adopt the new TextEditor boundsForRange() method.

(WebInspector.SourceCodeTextEditor.prototype._updateColorMarkers):
Harness the new TextEditor createColorMarkers() method to create new TextMarkers for the provided
line, or the entire text editor content if none provided. We then immediately call _updateTokenTrackingControllerState()
so that the new "MarkedTokens" mode is entered in case color TextMarkers were created for the first
time for this text editor.

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
Called when we've identified the CodeMirrorTokenTrackingController highlighted a TextMarker. We check
if any of the hovered TextMarkers are for a color, and in this case create a CodeMirrorColorEditingController
to coordinate the display of a ColorPicker in a Popover to edit the hovered color token. We also check
whether the hovered marker still contains a valid color, clearing the marker in case it was edited to
no longer contain a color.

(WebInspector.SourceCodeTextEditor.prototype._dismissCodeMirrorColorEditingController):
Used to dismiss the CodeMirrorColorEditingController, if previously presented, and reset some internal state.

(WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidStartEditing):
Implement this CodeMirrorColorEditingController delegation method to temporarily disable the
CodeMirrorTokenTrackingController while we edit the color with the ColorPicker, remove
the TextMarker for the edited color and instruct that content changes should be ignored
such that we act on the complete set of color edits upon completion.

(WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing):
Update color markers for the edited line such that any color edits are correctly updated for
the future and so that, as a side-effect, the CodeMirrorColorEditingController is reset to the
appropriate mode depending on whether color TextMarkers are indeed available, resetting states
that may have been altered by colorEditingControllerDidStartEditing().

  • UserInterface/TextEditor.js:

(WebInspector.TextEditor.prototype.contentDidChange):
New public method meant to be overriden by subclasses, added for the use of SourceCodeTextEditor, exposing
the list of TextRanges affected by the content change, both in the context of the old content and new content.

(WebInspector.TextEditor.prototype.boundsForRange):
(WebInspector.TextEditor.prototype.get markers):
(WebInspector.TextEditor.prototype.findMarkersAtPosition):
(WebInspector.TextEditor.prototype.createColorMarkers):
(WebInspector.TextEditor.prototype.colorEditingControllerForMarker):
New public methods calling into the CodeMirror private ivar for the benefit of SourceCodeTextEditor.

(WebInspector.TextEditor.prototype._contentChanged):
Call the new contentDidChange() method.

2:10 AM Changeset in webkit [160482] by zandobersek@gmail.com
  • 6 edits in trunk

Use of ar T option not supported by older binutils
https://bugs.webkit.org/show_bug.cgi?id=118732

Reviewed by Gustavo Noronha Silva.

.:

  • Source/autotools/SetupLibtool.m4: Make the AR_FLAGS value usable inside makefiles as an Automake variable.

Source/WebKit2:

  • GNUmakefile.am: To support non-thin archives when generating the WebCoreLayerGtk2 archive,

switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the
new archive. Non-thin archives also pose the problem as their members are only noted by the basename
of the member's object file, and not the full path to it. To work around that, all the object files
under the build directory are listed by their relative paths. The members of various archives then have
the basenames of their paths grepped against that list, with the found path correlating to the member
finally added as the new member of the WebCoreLayerGtk2 archive.

Tools:

  • TestWebKitAPI/GNUmakefile.am: To support non-thin archives when generating the WebCoreLayer archive,

switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the
new archive. Non-thin archives also pose the problem as their members are only noted by the basename
of the member's object file, and not the full path to it. To work around that, all the object files
under the build directory are listed by their relative paths. The members of various archives then have
the basenames of their paths grepped against that list, with the found path correlating to the member
finally added as the new member of the WebCoreLayer archive.

1:17 AM Changeset in webkit [160481] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] WebProcess tests are failing with newer glib
https://bugs.webkit.org/show_bug.cgi?id=125621

Reviewed by Martin Robinson.

Newer versions of glib unset the DISPLAY env variable in
g_test_dbus_up(). The WebProcess needs the DISPLAY variable to
work, and it's important to keep its value when running the tests
under Xvfb.

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

(WebProcessTestRunner::WebProcessTestRunner): Restore the DISPLAY
env variable after calling g_test_dbus_up().

1:12 AM Changeset in webkit [160480] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Make sure unit tests don't use GVFS and dconf
https://bugs.webkit.org/show_bug.cgi?id=125620

Reviewed by Martin Robinson.

They should use the local vfs and the gsettings memory backend.

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

(main):

12:58 AM Changeset in webkit [160479] by Darin Adler
  • 9 edits
    2 adds in trunk

StylePendingImage needs to correctly manage the CSSValue pointer lifetime
https://bugs.webkit.org/show_bug.cgi?id=125468

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/css/pending-image-crash.xhtml

Disconnect the reference counted StylePendingImage from the CSSValue that owns
it when it's not needed any more, otherwise we could end up using a pointer
that might no longer be valid.

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::detachPendingImage): Added. Calls detachFromCSSValue
on the current image if it is a StylePendingImage.
(WebCore::CSSCursorImageValue::~CSSCursorImageValue): Call detachPendingImage.
(WebCore::CSSCursorImageValue::cachedImage): Call detachPendingImage before changing
m_image to a new value.
(WebCore::CSSCursorImageValue::clearCachedImage): Ditto.

  • css/CSSCursorImageValue.h: Added detachPendingImage.
  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::detachPendingImage): Added. Calls detachFromCSSValue
on the current image set if it is a StylePendingImage.
(WebCore::CSSImageSetValue::~CSSImageSetValue): Call detachPendingImage.
(WebCore::CSSImageSetValue::cachedImageSet): Call detachPendingImage before changing
m_imageSet to a new value.

  • css/CSSImageSetValue.h: Added detachPendingImage.
  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::detachPendingImage): Added. Calls detachFromCSSValue on the
current image if it is a StylePendingImage.
(WebCore::CSSImageValue::~CSSImageValue): Call detachPendingImage.
(WebCore::CSSImageValue::cachedImage): Call detachPendingImage before changing m_image
to a new value.

  • css/CSSImageValue.h: Added detachPendingImage.
  • rendering/style/StylePendingImage.h:

(WebCore::StylePendingImage::cssImageValue): Added a null check.
(WebCore::StylePendingImage::cssImageGeneratorValue): Added a null check.
(WebCore::StylePendingImage::cssCursorImageValue): Added a null check.
(WebCore::StylePendingImage::cssImageSetValue): Added a null check.
(WebCore::StylePendingImage::detachFromCSSValue): Added. Sets m_value to null since
the style is no longer using this StylePendingImage.
(WebCore::StylePendingImage::data): Changed to use the "this" pointer since all we
need is some arbitrary pointer uniquely identifying the image. Before loading the image,
we have no suitable weak identifier, so it suffices to use the unique pointer to each
StylePendingImage object. This function is used only in a limited way; it would be nice
to find a way to make the code less strange long term.

LayoutTests:

  • fast/css/pending-image-crash-expected.txt: Added.
  • fast/css/pending-image-crash.xhtml: Added.
12:44 AM Changeset in webkit [160478] by Darin Adler
  • 5 edits in trunk/Source/WebCore

Remove some unneeded code noticed while looking at StylePendingImage
https://bugs.webkit.org/show_bug.cgi?id=125618

Reviewed by Andreas Kling.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.

  • rendering/RenderImageResource.cpp: Removed unneeded nullImage and

usesImageContainerSize member functions.
(WebCore::RenderImageResource::image): Use Image::nullImage directly instead of
through RenderImageResourceImage::nullImage.

  • rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize

and nullImage functions. Also removed unneeded includes.

  • rendering/RenderImageResourceStyleImage.h: Removed unneeded

usesImageContainerSize override. Nobody was calling it.

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 Gustavo Noronha Silva
  • 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 Gustavo Noronha Silva
(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 Gustavo Noronha Silva
  • 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 Gustavo Noronha Silva
  • 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)
Note: See TracTimeline for information about the timeline view.