WebKit-https.git
7 years agoCrash when starting a download before the network process has been launched
carlosgc@webkit.org [Thu, 9 Jan 2014 17:55:39 +0000 (17:55 +0000)]
Crash when starting a download before the network process has been launched
https://bugs.webkit.org/show_bug.cgi?id=126258

Reviewed by Anders Carlsson.

We need to ensure there's a network process running before
starting a new download like we do when using the web process.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::download): Use ChildProcessProxy::send()
instead of using the connection to make sure messages are queued
if the process is still launching.
(WebKit::WebContext::createDownloadProxy): Call
ensureNetworkProcess() before creating the download proxy.

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

7 years agoCannot select multiple non-adjacent items in a multiple select control with the keybo...
commit-queue@webkit.org [Thu, 9 Jan 2014 17:23:48 +0000 (17:23 +0000)]
Cannot select multiple non-adjacent items in a multiple select control with the keyboard only
https://bugs.webkit.org/show_bug.cgi?id=15816

Patch by Pascal Jacquemart <p.jacquemart@samsung.com> on 2014-01-09
Reviewed by Chris Fleizach.

Source/WebCore:

Test: fast/forms/listbox-non-contiguous-keyboard-selection.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::HTMLSelectElement):
New member m_allowsNonContiguousSelection defaults to false
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
Tracking CTRL modifier to start multiple non contiguous selection
* html/HTMLSelectElement.h: New member m_allowsNonContiguousSelection
(WebCore::HTMLSelectElement::allowsNonContiguousSelection): New getter
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::addFocusRingRects):
Following implementation made for spatial navigation

LayoutTests:

* fast/forms/listbox-non-contiguous-keyboard-selection-expected.txt: Added.
* fast/forms/listbox-non-contiguous-keyboard-selection.html: Added.
* platform/mac/TestExpectations:
Multiple non contiguous selection with keyboard not enabled on Mac

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

7 years agoUnreviewed, rolling out r161540.
commit-queue@webkit.org [Thu, 9 Jan 2014 17:21:02 +0000 (17:21 +0000)]
Unreviewed, rolling out r161540.
http://trac.webkit.org/changeset/161540
https://bugs.webkit.org/show_bug.cgi?id=126704

Caused assertion failures on multiple tests (Requested by ap
on #webkit).

Source/JavaScriptCore:

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitAggregate):
* bytecode/CodeBlock.h:
(JSC::CodeBlockSet::mark):
* dfg/DFGOperations.cpp:
* heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::add):
(JSC::CodeBlockSet::traceMarked):
* heap/CodeBlockSet.h:
* heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::reportLiveBytes):
* heap/CopiedSpace.cpp:
* heap/CopiedSpace.h:
* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::didAbandon):
(JSC::Heap::markRoots):
(JSC::Heap::copyBackingStores):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):
(JSC::Heap::didAllocate):
* heap/Heap.h:
(JSC::Heap::shouldCollect):
(JSC::Heap::isCollecting):
(JSC::Heap::isWriteBarrierEnabled):
(JSC::Heap::writeBarrier):
* heap/HeapOperation.h:
* heap/MarkStack.cpp:
(JSC::MarkStackArray::~MarkStackArray):
* heap/MarkStack.h:
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::isPagedOut):
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
* heap/MarkedAllocator.h:
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::reset):
* heap/MarkedBlock.cpp:
* heap/MarkedBlock.h:
(JSC::MarkedBlock::lastChanceToFinalize):
(JSC::MarkedBlock::didConsumeEmptyFreeList):
(JSC::MarkedBlock::clearMarks):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::~MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::visitWeakSets):
(JSC::MarkedSpace::reapWeakSets):
* heap/MarkedSpace.h:
(JSC::ClearMarks::operator()):
(JSC::MarkedSpace::clearMarks):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::~SlotVisitor):
* heap/SlotVisitor.h:
(JSC::SlotVisitor::sharedData):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::internalAppend):
(JSC::SlotVisitor::copyLater):
(JSC::SlotVisitor::reportExtraMemoryUsage):
* jit/Repatch.cpp:
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
* runtime/JSPropertyNameIterator.h:
(JSC::StructureRareData::setEnumerationCache):
* runtime/JSString.cpp:
(JSC::JSString::visitChildren):
* runtime/StructureRareDataInlines.h:
(JSC::StructureRareData::setPreviousID):
(JSC::StructureRareData::setObjectToStringValue):
* runtime/WeakMapData.cpp:
(JSC::WeakMapData::visitChildren):

Source/WTF:

* wtf/Bitmap.h:
(WTF::WordType>::count):

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

7 years agoWeb Inspector: Remove unused overriding protocols.
seokju@webkit.org [Thu, 9 Jan 2014 17:19:34 +0000 (17:19 +0000)]
Web Inspector: Remove unused overriding protocols.
https://bugs.webkit.org/show_bug.cgi?id=126630

Reviewed by Timothy Hatcher.

Source/WebCore:

No new tests, No change in behavior.

Remove unused overriding protocols as these are not used anymore in Frontned.
-Page.setGeolocationOverride
-Page.clearGeolocationOverride
-Page.canOverrideGeolocation
-Page.setDeviceOrientationOverride
-Page.clearDeviceOrientationOverride
-Page.canOverrideGeolocation
-Network.setUserAgentOverride

* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController):
(WebCore::GeolocationController::create):
(WebCore::GeolocationController::positionChanged):
(WebCore::provideGeolocationTo):
* Modules/geolocation/GeolocationController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::create):
(WebCore::DeviceOrientationController::didChangeDeviceOrientation):
(WebCore::provideDeviceOrientationTo):
* dom/DeviceOrientationController.h:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
* inspector/InspectorPageAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::disable):
* inspector/InspectorResourceAgent.h:
* inspector/protocol/Network.json:
* inspector/protocol/Page.json:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::userAgent):

Source/WebInspectorUI:

Update InspectorWebBackendCommands.js after removing unused overriding protocols.

* UserInterface/InspectorWebBackendCommands.js:
* UserInterface/Legacy/6.0/InspectorWebBackendCommands.js:
* UserInterface/Legacy/7.0/InspectorWebBackendCommands.js:
* Versions/Inspector-iOS-6.0.json:
* Versions/Inspector-iOS-7.0.json:

LayoutTests:

* http/tests/inspector/extensions-useragent-expected.txt: Removed.
* http/tests/inspector/extensions-useragent.html: Removed.
* inspector/device-orientation-success-expected.txt: Removed.
* inspector/device-orientation-success.html: Removed.
* inspector/geolocation-error-expected.txt: Removed.
* inspector/geolocation-error.html: Removed.
* inspector/geolocation-success-expected.txt: Removed.
* inspector/geolocation-success.html: Removed.
* inspector/geolocation-watchPosition-expected.txt: Removed.
* inspector/geolocation-watchPosition.html: Removed.

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

7 years ago[SOUP] Partial file left on disk after a download fails or is cancelled in WebKit2
carlosgc@webkit.org [Thu, 9 Jan 2014 16:08:48 +0000 (16:08 +0000)]
[SOUP] Partial file left on disk after a download fails or is cancelled in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=126686

Reviewed by Martin Robinson.

Source/WebKit2:

We are currently writing the downloads directly into the
destination, and when a download fails or is cancelled after the
destination has been decided, the partial file is left on the
disk. Deleting the final file is not safe because there might be a
race condition, so we can use an intermediate file like other
browsers do, a file in the same directory than the target
destination but with .wkdownload suffix, that is removed when the
download fails or is cancelled. If the download finishes
successfully the intermediate file is renamed to the final
destination.

* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::deleteIntermediateFileInNeeded): Delete
the intermdiate file if it's been created already.
(WebKit::DownloadClient::downloadFailed): Call deleteIntermediateFileInNeeded.
(WebKit::DownloadClient::didReceiveResponse): Do not create a
SoupMessage for the given ResourceResponse that is not used, cache
the ResourceResponse instead. Create the intermediate file and use
it instead of the final destination.
(WebKit::DownloadClient::didReceiveData): Use the cached
ResourceResponse directly.
(WebKit::DownloadClient::didFinishLoading): Rename the
intermediate file to the final destination and write the metadata
in the final target destination.
(WebKit::DownloadClient::cancel): Handle the download cancellation
here, removing the intermediate file is needed and cancelling the
ResourceHandle and the download.
(WebKit::DownloadClient::handleResponseLater):
(WebKit::Download::cancel): Let the client handle the cancellation.

Tools:

Test that partial files are not left on disk after a download has
been cancelled after the destination has been decided. To make
sure the download is cancelled after the destination has been
decided and before the operation finishes, we cancel the download
in the destination decided callback, and we use an infinite
resource that writes chunks to the response body and never
completes the body.

* TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
(addContentDispositionHTTPHeaderToResponse): Helper function to
add the Content-Disposition to the response headers.
(writeNextChunkIdle): Write next chunk to response body.
(writeNextChunk): Write next chunk in an idle to avoid flooding
the network with the inifnite resource.
(serverCallback): Add an inifinite resource.
(testDownloadRemoteFileError): Check that partial file is not
present after the download has been cancelled.

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

7 years agoShrink WatchpointSet.
akling@apple.com [Thu, 9 Jan 2014 15:50:54 +0000 (15:50 +0000)]
Shrink WatchpointSet.
<https://webkit.org/b/126694>

Reorder the members of WatchpointSet, shrinking it by 8 bytes.
767 kB progression on Membuster3.

Reviewed by Antti Koivisto.

* bytecode/Watchpoint.h:

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

7 years ago[CSSRegions] Move regions auto-size code into RenderNamedFlowFragment
abucur@adobe.com [Thu, 9 Jan 2014 12:06:21 +0000 (12:06 +0000)]
[CSSRegions] Move regions auto-size code into RenderNamedFlowFragment
https://bugs.webkit.org/show_bug.cgi?id=122959

Reviewed by Mihnea Ovidenie.

Move the auto-height logic from RenderRegion to RenderNamedFlowFragment because it's
used only by the CSS Regions implementation.

Bug 126642 covers the auto-height logic move from RenderFlowThread to RenderNamedFlowThread.

Tests: No new tests, just refactorings.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::styleDidChange):
(WebCore::RenderFlowThread::validateRegions):
(WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
(WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
(WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedRegionBreak):
* rendering/RenderMultiColumnSet.h:
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
(WebCore::RenderNamedFlowFragment::styleDidChange):
(WebCore::RenderNamedFlowFragment::incrementAutoLogicalHeightCount):
(WebCore::RenderNamedFlowFragment::decrementAutoLogicalHeightCount):
(WebCore::RenderNamedFlowFragment::updateRegionHasAutoLogicalHeightFlag):
(WebCore::RenderNamedFlowFragment::updateLogicalHeight):
(WebCore::RenderNamedFlowFragment::pageLogicalHeight):
(WebCore::RenderNamedFlowFragment::layoutBlock):
(WebCore::RenderNamedFlowFragment::attachRegion):
(WebCore::RenderNamedFlowFragment::detachRegion):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::pageLogicalHeight):
(WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
(WebCore::RenderRegion::isLastRegion):
(WebCore::RenderRegion::styleDidChange):
(WebCore::RenderRegion::attachRegion):
(WebCore::RenderRegion::detachRegion):
* rendering/RenderRegion.h:
* rendering/RenderRegionSet.h:
* rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderRegionList):

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

7 years agoMove myself to the committers list.
rtakacs@inf.u-szeged.hu [Thu, 9 Jan 2014 10:32:54 +0000 (10:32 +0000)]
Move myself to the committers list.

Unreviewed.

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

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

7 years agoSwitch HTMLTableRowsCollection from Traversal<> to iterators
antti@apple.com [Thu, 9 Jan 2014 10:20:39 +0000 (10:20 +0000)]
Switch HTMLTableRowsCollection from Traversal<> to iterators
https://bugs.webkit.org/show_bug.cgi?id=126684

Reviewed by Andreas Kling.

This is the last remaining client of Traversal<> outside the iterator implementation.

* dom/ElementChildIterator.h:
(WebCore::ElementChildIteratorAdapter<ElementType>::find):
(WebCore::ElementChildConstIteratorAdapter<ElementType>::find):

    Add find with the same semantics as ElementDescendantIterator::find.

* html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::rowAfter):
(WebCore::HTMLTableRowsCollection::lastRow):

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

7 years agoUnreviewed GTK gardening. Rebaselining after r161521.
zandobersek@gmail.com [Thu, 9 Jan 2014 08:44:48 +0000 (08:44 +0000)]
Unreviewed GTK gardening. Rebaselining after r161521.

* platform/gtk/css1/text_properties/letter_spacing-expected.png:
* platform/gtk/css1/text_properties/letter_spacing-expected.txt:
* platform/gtk/css1/text_properties/word_spacing-expected.png:
* platform/gtk/css1/text_properties/word_spacing-expected.txt:
* platform/gtk/css2.1/t1604-c542-letter-sp-00-b-a-expected.txt:
* platform/gtk/fast/text/basic/013-expected.png:
* platform/gtk/fast/text/basic/013-expected.txt:
* platform/gtk/fast/text/text-letter-spacing-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt: Added.
* platform/gtk/svg/batik/text/textLayout-expected.txt: Added.
* platform/gtk/svg/custom/text-letter-spacing-expected.png:
* platform/gtk/svg/custom/text-letter-spacing-expected.txt:
* platform/gtk/svg/text/text-spacing-01-b-expected.png:
* platform/gtk/svg/text/text-spacing-01-b-expected.txt: Added.

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

7 years agoREGRESSION(r161176): http/tests/misc/authentication-redirect-3/authentication-sent...
carlosgc@webkit.org [Thu, 9 Jan 2014 08:05:00 +0000 (08:05 +0000)]
REGRESSION(r161176): http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html is failing on GTK
https://bugs.webkit.org/show_bug.cgi?id=126518

Reviewed by Martin Robinson.

Source/WebCore:

Clear the credentials before calling willSendRequest on the client
to avoid sending the credentials to the API layer, but apply them
again to the request right before creating the new SoupRequest.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::continueAfterWillSendRequest):
(WebCore::doRedirect):

LayoutTests:

Unskip
http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
and http/tests/security/redirect-BLOCKED-to-localURL.html.

* platform/gtk/TestExpectations:

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

7 years agoWebKit2 EFL build fix after r161530
jinwoo7.song@samsung.com [Thu, 9 Jan 2014 07:14:37 +0000 (07:14 +0000)]
WebKit2 EFL build fix after r161530
https://bugs.webkit.org/show_bug.cgi?id=126678

Reviewed by Tim Horton.

Add PLATFORM(MAC) guards around setExposedRect() and exposedRect()
in DrawingArea and WebFrameLoaderClient.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebProcess/WebPage/DrawingArea.h:

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

7 years ago[GTK] Unreviewed build fix after r161522.
seokju@webkit.org [Thu, 9 Jan 2014 05:41:53 +0000 (05:41 +0000)]
[GTK] Unreviewed build fix after r161522.

* TestWebKitAPI/GNUmakefile.am: Remove WKConnection.cpp and WKConnection_Bundle.cpp.

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

7 years agoReverting accidental GC logging
mhahnenberg@apple.com [Thu, 9 Jan 2014 04:25:55 +0000 (04:25 +0000)]
Reverting accidental GC logging

* heap/Heap.cpp:

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

7 years agoStub for Session API
commit-queue@webkit.org [Thu, 9 Jan 2014 04:01:48 +0000 (04:01 +0000)]
Stub for Session API
https://bugs.webkit.org/show_bug.cgi?id=126626

Patch by Martin Hock <mhock@apple.com> on 2014-01-08
Reviewed by Sam Weinig.

* Shared/API/c/WKBase.h:
* Shared/API/c/WKSharedAPICast.h:
* Shared/APIObject.h:
* UIProcess/API/C/WKSessionRef.cpp: Added.
(WKSessionGetTypeID):
(WKSessionGetEphemeral):
* UIProcess/API/C/WKSessionRef.h: Added.
* UIProcess/API/Cocoa/WKSession.h: Added.
* UIProcess/API/Cocoa/WKSession.mm: Added.
(-[WKSession dealloc]):
(-[WKSession ephemeral]):
(-[WKSession API::]):
* UIProcess/API/Cocoa/WKSessionInternal.h: Added.
(WebKit::wrapper):
* UIProcess/APISession.cpp: Added.
(API::Session::Session):
(API::Session::create):
(API::Session::isEphemeral):
(API::Session::~Session):
* UIProcess/APISession.h: Added.
* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoUnreviewed, rolling out r161532.
commit-queue@webkit.org [Thu, 9 Jan 2014 03:56:47 +0000 (03:56 +0000)]
Unreviewed, rolling out r161532.
http://trac.webkit.org/changeset/161532
https://bugs.webkit.org/show_bug.cgi?id=126677

Caused lots of assertion failures (Requested by ap on
#webkit).

Source/WebCore:

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::networkError):
(WebCore::XMLHttpRequest::abortError):
(WebCore::XMLHttpRequest::didSendData):
(WebCore::XMLHttpRequest::didReceiveData):
(WebCore::XMLHttpRequest::didTimeout):
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadEnd):
(WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
(WebCore::XMLHttpRequestProgressEventThrottle::fired):
(WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
(WebCore::XMLHttpRequestProgressEventThrottle::suspend):
* xml/XMLHttpRequestProgressEventThrottle.h:
* xml/XMLHttpRequestUpload.cpp:
(WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
(WebCore::XMLHttpRequestUpload::dispatchEventAndLoadEnd):
* xml/XMLHttpRequestUpload.h:

LayoutTests:

* fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
* http/tests/xmlhttprequest/loadstart-event-init-expected.txt: Removed.
* http/tests/xmlhttprequest/loadstart-event-init.html: Removed.
* http/tests/xmlhttprequest/onabort-progressevent-attributes-expected.txt: Removed.
* http/tests/xmlhttprequest/onabort-progressevent-attributes.html: Removed.
* http/tests/xmlhttprequest/onload-progressevent-attributes-expected.txt: Removed.
* http/tests/xmlhttprequest/onload-progressevent-attributes.html: Removed.
* http/tests/xmlhttprequest/upload-onabort-progressevent-attributes-expected.txt: Removed.
* http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html: Removed.
* http/tests/xmlhttprequest/upload-onload-progressevent-attributes-expected.txt: Removed.
* http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html: Removed.

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

7 years agoMarking should be generational
mhahnenberg@apple.com [Thu, 9 Jan 2014 03:49:38 +0000 (03:49 +0000)]
Marking should be generational
https://bugs.webkit.org/show_bug.cgi?id=126552

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Re-marking the same objects over and over is a waste of effort. This patch implements
the sticky mark bit algorithm (along with our already-present write barriers) to reduce
overhead during garbage collection caused by rescanning objects.

There are now two collection modes, EdenCollection and FullCollection. EdenCollections
only visit new objects or objects that were added to the remembered set by a write barrier.
FullCollections are normal collections that visit all objects regardless of their
generation.

In this patch EdenCollections do not do anything in CopiedSpace. This will be fixed in
https://bugs.webkit.org/show_bug.cgi?id=126555.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitAggregate):
* bytecode/CodeBlock.h:
(JSC::CodeBlockSet::mark):
* dfg/DFGOperations.cpp:
* heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::add):
(JSC::CodeBlockSet::traceMarked):
(JSC::CodeBlockSet::rememberCurrentlyExecutingCodeBlocks):
* heap/CodeBlockSet.h:
* heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::reportLiveBytes):
* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::didStartFullCollection):
* heap/CopiedSpace.h:
(JSC::CopiedSpace::heap):
* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::didAbandon):
(JSC::Heap::markRoots):
(JSC::Heap::copyBackingStores):
(JSC::Heap::addToRememberedSet):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):
(JSC::Heap::didAllocate):
(JSC::Heap::writeBarrier):
* heap/Heap.h:
(JSC::Heap::isInRememberedSet):
(JSC::Heap::operationInProgress):
(JSC::Heap::shouldCollect):
(JSC::Heap::isCollecting):
(JSC::Heap::isWriteBarrierEnabled):
(JSC::Heap::writeBarrier):
* heap/HeapOperation.h:
* heap/MarkStack.cpp:
(JSC::MarkStackArray::~MarkStackArray):
(JSC::MarkStackArray::clear):
(JSC::MarkStackArray::fillVector):
* heap/MarkStack.h:
* heap/MarkedAllocator.cpp:
(JSC::isListPagedOut):
(JSC::MarkedAllocator::isPagedOut):
(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
(JSC::MarkedAllocator::reset):
* heap/MarkedAllocator.h:
(JSC::MarkedAllocator::MarkedAllocator):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::clearMarks):
(JSC::MarkedBlock::clearRememberedSet):
(JSC::MarkedBlock::clearMarksWithCollectionType):
(JSC::MarkedBlock::lastChanceToFinalize):
* heap/MarkedBlock.h: Changed atomSize to 16 bytes because we have no objects smaller
than 16 bytes. This is also to pay for the additional Bitmap for the remembered set.
(JSC::MarkedBlock::didConsumeEmptyFreeList):
(JSC::MarkedBlock::setRemembered):
(JSC::MarkedBlock::clearRemembered):
(JSC::MarkedBlock::atomicClearRemembered):
(JSC::MarkedBlock::isRemembered):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::~MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::visitWeakSets):
(JSC::MarkedSpace::reapWeakSets):
(JSC::VerifyMarked::operator()):
(JSC::MarkedSpace::clearMarks):
* heap/MarkedSpace.h:
(JSC::ClearMarks::operator()):
(JSC::ClearRememberedSet::operator()):
(JSC::MarkedSpace::didAllocateInBlock):
(JSC::MarkedSpace::clearRememberedSet):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::~SlotVisitor):
(JSC::SlotVisitor::clearMarkStack):
* heap/SlotVisitor.h:
(JSC::SlotVisitor::markStack):
(JSC::SlotVisitor::sharedData):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::internalAppend):
(JSC::SlotVisitor::unconditionallyAppend):
(JSC::SlotVisitor::copyLater):
(JSC::SlotVisitor::reportExtraMemoryUsage):
(JSC::SlotVisitor::heap):
* jit/Repatch.cpp:
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
* runtime/JSPropertyNameIterator.h:
(JSC::StructureRareData::setEnumerationCache):
* runtime/JSString.cpp:
(JSC::JSString::visitChildren):
* runtime/StructureRareDataInlines.h:
(JSC::StructureRareData::setPreviousID):
(JSC::StructureRareData::setObjectToStringValue):
* runtime/WeakMapData.cpp:
(JSC::WeakMapData::visitChildren):

Source/WTF:

* wtf/Bitmap.h:
(WTF::WordType>::count): Added a cast that became necessary when Bitmap
is used with smaller types than int32_t.

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

7 years agoUnreviewed EFL gardening. Rebaseline after r161521.
jinwoo7.song@samsung.com [Thu, 9 Jan 2014 03:47:54 +0000 (03:47 +0000)]
Unreviewed EFL gardening. Rebaseline after r161521.

* platform/efl/css1/text_properties/letter_spacing-expected.png:
* platform/efl/css1/text_properties/letter_spacing-expected.txt:
* platform/efl/css1/text_properties/word_spacing-expected.png:
* platform/efl/css1/text_properties/word_spacing-expected.txt:
* platform/efl/fast/text/basic/013-expected.png:
* platform/efl/fast/text/basic/013-expected.txt:
* platform/efl/fast/text/text-letter-spacing-expected.txt:
* platform/efl/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
* platform/efl/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt: Added.
* platform/efl/svg/batik/text/textLayout-expected.txt: Added.
* platform/efl/svg/custom/text-letter-spacing-expected.png: Added.
* platform/efl/svg/custom/text-letter-spacing-expected.txt: Added.
* platform/efl/svg/text/text-spacing-01-b-expected.png:
* platform/efl/svg/text/text-spacing-01-b-expected.txt: Added.

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

7 years ago[JS] Should be able to create a promise by calling the Promise constructor as a function
commit-queue@webkit.org [Thu, 9 Jan 2014 02:37:58 +0000 (02:37 +0000)]
[JS] Should be able to create a promise by calling the Promise constructor as a function
https://bugs.webkit.org/show_bug.cgi?id=126561

Patch by Sam Weinig <sam@webkit.org> on 2014-01-08
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* runtime/JSPromiseConstructor.cpp:
(JSC::JSPromiseConstructor::getCallData):
Add support for calling the Promise constructor as a function (e.g. var p = Promise(...), note
the missing "new").

LayoutTests:

* js/dom/Promise-types-expected.txt:
* js/dom/Promise-types.html:
Add test for using calling a Promise constructor as a function.

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

7 years agoClean up confusing names and calculations in image-dragging functions
bburg@apple.com [Thu, 9 Jan 2014 02:21:49 +0000 (02:21 +0000)]
Clean up confusing names and calculations in image-dragging functions
https://bugs.webkit.org/show_bug.cgi?id=126661

Reviewed by Timothy Hatcher.

No new tests.

* page/DragController.cpp:
(WebCore::DragController::doImageDrag): rename variables and
simplify the calculation of the image's scaled origin.

* platform/DragImage.cpp:
(WebCore::fitDragImageToMaxSize): rename variables.

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

7 years ago[GTK] Add xdg.origin.url extended attribute to downloads
csaavedra@igalia.com [Thu, 9 Jan 2014 02:14:46 +0000 (02:14 +0000)]
[GTK] Add xdg.origin.url extended attribute to downloads
https://bugs.webkit.org/show_bug.cgi?id=126638

Reviewed by Carlos Garcia Campos.

This is proposed by fdo in
http://www.freedesktop.org/wiki/CommonExtendedAttributes/

Source/WebKit/gtk:

* webkit/webkitdownload.cpp:
(webkit_download_open_stream_for_uri):

Source/WebKit2:

* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::didReceiveResponse):

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

7 years agoMissleading style error when mixing system and non-system header include lines.
commit-queue@webkit.org [Thu, 9 Jan 2014 02:13:07 +0000 (02:13 +0000)]
Missleading style error when mixing system and non-system header include lines.
https://bugs.webkit.org/show_bug.cgi?id=126564

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2014-01-08
Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_include_line):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.test_check_alphabetical_include_order):
(OrderOfIncludesTest.test_public_primary_header):

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

7 years agoWeb Inspector: Remove InspectorClient::captureScreenshot()
seokju@webkit.org [Thu, 9 Jan 2014 02:12:41 +0000 (02:12 +0000)]
Web Inspector: Remove InspectorClient::captureScreenshot()
https://bugs.webkit.org/show_bug.cgi?id=126616

Reviewed by Joseph Pecoraro.

No new tests, No change in behavior.

Remove leftover mothod as Page.captureScreenshot API was removed in r160202.

* inspector/InspectorClient.h:

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

7 years agoMake WK2 build when ENABLE(ASYNC_SCROLLING) is not defined
simon.fraser@apple.com [Thu, 9 Jan 2014 02:12:17 +0000 (02:12 +0000)]
Make WK2 build when ENABLE(ASYNC_SCROLLING) is not defined
https://bugs.webkit.org/show_bug.cgi?id=126675

Reviewed by Tim Horton.

We need a stub RemoteScrollingCoordinatorTransaction outside
the #ifdef so that RemoteLayerTreeDrawingAreaProxy messages
work.

* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(WebKit::RemoteScrollingCoordinatorTransaction::encode):
(WebKit::RemoteScrollingCoordinatorTransaction::decode):
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

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

7 years agoSource/WebCore: Correctly set XHR loadend attributes (loaded and total).
commit-queue@webkit.org [Thu, 9 Jan 2014 02:11:59 +0000 (02:11 +0000)]
Source/WebCore: Correctly set XHR loadend attributes (loaded and total).
https://bugs.webkit.org/show_bug.cgi?id=120828

Patch by Youenn Fablet <youennf@gmail.com> on 2014-01-08
Reviewed by Alexey Proskuryakov.

Added correct initialization of lengthComputable, loaded and total attributes
to XHR ProgressEvent events (load, loadstart, loadend, abort, error and timeout).

XMLHttpRequestProgressEventThrottle and XMLHttpRequestUpload now keep persistent knowledge
of m_loaded and m_total values with this patch.

Code refactoring to handle event dispatching in case of error in a single manner.
XMLHttpRequestProgressEventThrottle::dispatchProgressEvent is renamed as dispatchThrottledProgressEvent
XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadend is replaced by dispatchProgressEvent(const AtomicString&)

Tests: http/tests/xmlhttprequest/loadstart-event-init.html
       http/tests/xmlhttprequest/onabort-progressevent-attributes.html
       http/tests/xmlhttprequest/onload-progressevent-attributes.html
       http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html
       http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener): changed readystatechange event from ProgressEvent to Event (not cancellable, not bubblable) to better match the spec
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::abort): code refactoring to handle error event dispatching in a single way
(WebCore::XMLHttpRequest::networkError): code refactoring to handle error event dispatching in a single way
(WebCore::XMLHttpRequest::abortError): code refactoring to handle error event dispatching in a single way
(WebCore::XMLHttpRequest::didSendData):
(WebCore::XMLHttpRequest::didReceiveData):
(WebCore::XMLHttpRequest::dispatchErrorEvents): dispatch progress events in case of error
(WebCore::XMLHttpRequest::didTimeout): code refactoring to handle error event dispatching in a single way
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequestProgressEventThrottle.cpp: before the patch, the fact that a progress event is being throttled is stored indirectly (m_loaded or m_total not equal to zero). With the patch, this information is stored in m_hasThrottledProgressEvent. The m_loaded and m_total values are no longer set back to zero after a progress event is dispatched. This allows using these values to correctly initialize other ProgressEvent events (in particular loadend, abort, timeout...)
(WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent): always update the new m_loaded and m_total values. If progress event is not sent as part of the function call, store the fact that a progress event is being throttled through m_hasThrottledProgressEvent.
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): used to send any ProgressEvent event that is not be throttled
(WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): after the call, no progress event is throttled anymore
(WebCore::XMLHttpRequestProgressEventThrottle::fired): after the call, no progress event is throttled anymore
(WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
(WebCore::XMLHttpRequestProgressEventThrottle::suspend):
* xml/XMLHttpRequestProgressEventThrottle.h: introduced m_hasThrottledProgressEvent which stores whether a progress event is being throttled and m_computableLength which is used to initialize ProgressEvent computableLength
* xml/XMLHttpRequestUpload.cpp:
(WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
(WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
* xml/XMLHttpRequestUpload.h: introduced m_loaded, m_total and m_lengthComputable, similarly to XMLHttpRequestProgressEventThrottle

LayoutTests: Correctly set XHR loadend event attributes (loaded and total).
https://bugs.webkit.org/show_bug.cgi?id=120828

Patch by Youenn Fablet <youennf@gmail.com> on 2014-01-08
Reviewed by Alexey Proskuryakov.

Tests for abort, load, loadstart and loadend ProgressEvent events for XMLHttpRequest and XMLHttpRequestUpload

* fast/xmlhttprequest/xmlhttprequest-get-expected.txt: Changed to correct event values
* http/tests/xmlhttprequest/loadstart-event-init-expected.txt: Added.
* http/tests/xmlhttprequest/loadstart-event-init.html: Added.
* http/tests/xmlhttprequest/onabort-progressevent-attributes-expected.txt: Added.
* http/tests/xmlhttprequest/onabort-progressevent-attributes.html: Added.
* http/tests/xmlhttprequest/onload-progressevent-attributes-expected.txt: Added.
* http/tests/xmlhttprequest/onload-progressevent-attributes.html: Added.
* http/tests/xmlhttprequest/upload-onabort-progressevent-attributes-expected.txt: Added.
* http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html: Added.
* http/tests/xmlhttprequest/upload-onload-progressevent-attributes-expected.txt: Added.
* http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html: Added.

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

7 years agoTileController can fail to receive exposedRect from the drawing area if set at the...
timothy_horton@apple.com [Thu, 9 Jan 2014 01:38:13 +0000 (01:38 +0000)]
TileController can fail to receive exposedRect from the drawing area if set at the wrong time
https://bugs.webkit.org/show_bug.cgi?id=126536

Reviewed by Simon Fraser.

* Configurations/WebKit2.xcconfig:
* UIProcess/API/mac/WKView.mm:
(-[WKView _updateViewExposedRect]):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::DrawingAreaProxy):
(WebKit::DrawingAreaProxy::setExposedRect):
(WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::exposedRect):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
* UIProcess/WebPageProxy.h:
Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
Push the exposedRect down into WebCore.

* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
to indicate that now.
Don't scroll an infinite rect; it won't work.

* WebCore.exp.in:
Export some things.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::setExposedRect):
Store the exposed rect on FrameView. When it changes, if the main frame
has a TiledBacking, inform it of the change.

* page/FrameView.h:
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::tilesWouldChangeForVisibleRect):
(WebCore::TileController::computeTileCoverageRect):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::updateTileCoverageMap):
Make use of the fact that we can test if a rect is infinite
instead of having a separate boolean property for that.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::computeTileCoverage):
Push the FrameView's cached exposed rect down into the TiledBacking when it is created.
We only support clipping for the main frame TileController for now.

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

7 years agoAdd ENABLE(ASYNC_SCROLLING) guards around WK2 scrolling files
simon.fraser@apple.com [Thu, 9 Jan 2014 01:25:52 +0000 (01:25 +0000)]
Add ENABLE(ASYNC_SCROLLING) guards around WK2 scrolling files
https://bugs.webkit.org/show_bug.cgi?id=126672

Reviewed by Tim Horton.

Protected WK2 scrolling files with ENABLE(ASYNC_SCROLLING) guards.

* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
* UIProcess/Scrolling/RemoteScrollingTree.cpp:
* UIProcess/Scrolling/RemoteScrollingTree.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in:
* WebProcess/Scrolling/RemoteScrollingCoordinator.mm:

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

7 years ago[GTK] [CMake] Specify the executable and library output locations in the build
mrobinson@webkit.org [Thu, 9 Jan 2014 01:19:39 +0000 (01:19 +0000)]
[GTK] [CMake] Specify the executable and library output locations in the build
https://bugs.webkit.org/show_bug.cgi?id=126671

Reviewed by Gustavo Noronha Silva.

* Source/cmake/OptionsGTK.cmake: Explicitly specify the output locations.

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

7 years ago[EFL][WK2] Add API to execute js script
ryuan.choi@samsung.com [Thu, 9 Jan 2014 01:07:05 +0000 (01:07 +0000)]
[EFL][WK2] Add API to execute js script
https://bugs.webkit.org/show_bug.cgi?id=101904

Reviewed by Gyuyoung Kim.

Add ewk_view_script_execute() which provides a way to execute user
script.

* UIProcess/API/efl/ewk_context.cpp:
Added JS Global Contexta which is required to deserialize to the script
value from the callback.
(EwkContext::EwkContext):
(EwkContext::~EwkContext):
(EwkContext::jsGlobalContext):
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Script_Execute_Callback_Context::Ewk_View_Script_Execute_Callback_Context):
(runJavaScriptCallback):
(ewk_view_script_execute):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
Added unit test for ewk_view_script_execute.
(scriptExecuteCallback):
(TEST_F):

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

7 years ago[EFL] Merge ewk_view_single into ewk_view
ryuan.choi@samsung.com [Thu, 9 Jan 2014 00:59:16 +0000 (00:59 +0000)]
[EFL] Merge ewk_view_single into ewk_view
https://bugs.webkit.org/show_bug.cgi?id=126508

Reviewed by Gyuyoung Kim.

Source/WebKit:

* PlatformEfl.cmake: Removed ewk_view_single.cpp.

Source/WebKit/efl:

Since ewk_view_tiled is removed at r161134, we don't need to keep
ewk_view_single out of ewk_view.cpp.

This patch moves the logic of ewk_view_single to ewk_view and refactors it.
In addition, replaces 0.00001 to episilon.

* ewk/ewk_view.cpp:
(_ewk_view_smart_add):
(_ewk_view_smart_resize): Merged with the logic of ewk_view_single.
(_ewk_view_screen_move): Moved from ewk_view_single.cpp.
(_ewk_view_scroll_process): Ditto.
(_ewk_view_smart_scrolls_process): Ditto.
(_ewk_view_smart_repaints_process): Ditto.
(_ewk_view_smart_calculate): Removed unnecessary check routine for scrolls_process.
(_ewk_view_smart_zoom_weak_set):
(_ewk_view_smart_zoom_weak_smooth_scale_set):
(ewk_view_base_smart_set): Merged smart method of ewk_view_single.
(ewk_view_single_smart_set):
(_ewk_view_single_smart_class_new):
(ewk_view_single_add):
(ewk_view_bg_color_set):
(ewk_view_pre_render_region):
(ewk_view_scrolls_process):
* ewk/ewk_view.h:
* ewk/ewk_view_private.h: Removed unncessary functions.
* ewk/ewk_view_single.cpp: Removed.

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

7 years ago[EFL] Move efl API test binaries to TestWebKitAPI/EWebKit|EWebKit2
gyuyoung.kim@samsung.com [Thu, 9 Jan 2014 00:35:34 +0000 (00:35 +0000)]
[EFL] Move efl API test binaries to TestWebKitAPI/EWebKit|EWebKit2
https://bugs.webkit.org/show_bug.cgi?id=126615

Reviewed by Martin Robinson.

Now EFL API test binaries created in *bin* directory with other executables.
It would be good to move them to their folder. This patch moves them to
*TestWebKitAPI/EWebKit|EWebKit2* directories.

Source/WebKit:

* PlatformEfl.cmake:

Source/WebKit2:

* PlatformEfl.cmake:

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

7 years ago[EFL] Unreviewed build fix after r161522.
seokju@webkit.org [Wed, 8 Jan 2014 23:37:11 +0000 (23:37 +0000)]
[EFL] Unreviewed build fix after r161522.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformEfl.cmake:

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

7 years agoRemove WKConnectionRef tests
andersca@apple.com [Wed, 8 Jan 2014 22:44:50 +0000 (22:44 +0000)]
Remove WKConnectionRef tests
https://bugs.webkit.org/show_bug.cgi?id=126666

Reviewed by Dan Bernstein.

The WKConnectionRef is poorly designed but thankfully not used anywhere.
Remove the API tests as a first step towards killing the entire thing.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/WKConnection.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKConnection_Bundle.cpp: Removed.

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

7 years agoa fractional value of the css letter-spacing property is not rendered as expected
mmaxfield@apple.com [Wed, 8 Jan 2014 22:22:50 +0000 (22:22 +0000)]
a fractional value of the css letter-spacing property is not rendered as expected
https://bugs.webkit.org/show_bug.cgi?id=20606

Reviewed by Simon Fraser.

Source/WebCore:

This turns on fractional letter-spacing and word-spacing CSS values.
It is taken mostly from Blink r153727 and iOS. Updating the relevant
types is all that is necessary

Existing tests have been updated.

* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* platform/graphics/Font.cpp:
(WebCore::Font::Font):
(WebCore::Font::width):
* platform/graphics/Font.h:
(WebCore::Font::wordSpacing):
(WebCore::Font::letterSpacing):
(WebCore::Font::setWordSpacing):
(WebCore::Font::setLetterSpacing):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::wordSpacing):
(WebCore::RenderStyle::letterSpacing):
(WebCore::RenderStyle::setWordSpacing):
(WebCore::RenderStyle::setLetterSpacing):
* rendering/style/RenderStyle.h:

LayoutTests:

Manually verified that these tests are correct after enabling fractional letter-spacing and word spacing

* platform/mac/css1/text_properties/letter_spacing-expected.png:
* platform/mac/css1/text_properties/letter_spacing-expected.txt:
* platform/mac/css1/text_properties/word_spacing-expected.png:
* platform/mac/css1/text_properties/word_spacing-expected.txt:
* platform/mac/fast/text/basic/013-expected.png:
* platform/mac/fast/text/basic/013-expected.txt:
* platform/mac/fast/text/text-letter-spacing-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
* platform/mac/svg/batik/text/textLayout-expected.txt:
* platform/mac/svg/custom/text-letter-spacing-expected.png:
* platform/mac/svg/custom/text-letter-spacing-expected.txt:
* platform/mac/svg/text/text-spacing-01-b-expected.png:
* platform/mac/svg/text/text-spacing-01-b-expected.txt:

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

7 years agoUnreviewed, rolling out r161512.
zandobersek@gmail.com [Wed, 8 Jan 2014 21:45:36 +0000 (21:45 +0000)]
Unreviewed, rolling out r161512.
http://trac.webkit.org/changeset/161512
https://bugs.webkit.org/show_bug.cgi?id=126655

Broke webkitpy tests (Requested by ap on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2014-01-08

* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__):
(GtkPort.setup_test_run):
(GtkPort._port_specific_expectations_files):
* Scripts/webkitpy/port/leakdetector_valgrind.py: Removed.
* Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Removed.

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

7 years agoUnreviewed, rolling out r161517.
zandobersek@gmail.com [Wed, 8 Jan 2014 21:38:42 +0000 (21:38 +0000)]
Unreviewed, rolling out r161517.
http://trac.webkit.org/changeset/161517
https://bugs.webkit.org/show_bug.cgi?id=126659

The fix didn't completely remove the problem and is now
standing in the way of the rollout of the offending patch
(Requested by zdobersek on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2014-01-08

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

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

7 years agoAdd WTF::StringView and use it for grammar checking
andersca@apple.com [Wed, 8 Jan 2014 21:19:21 +0000 (21:19 +0000)]
Add WTF::StringView and use it for grammar checking
https://bugs.webkit.org/show_bug.cgi?id=126644

Reviewed by Antti Koivisto.

Source/WebCore:

Use a StringView in TextCheckerClient::checkTextOfParagraph to avoid upconverting strings unnecessarily.

* editing/TextCheckingHelper.cpp:
(WebCore::checkTextOfParagraph):
Pass a StringView to TextCheckerClient::checkTextOfParagraph.

* loader/EmptyClients.h:
Update for TextCheckerClient changes.

* platform/text/TextCheckerClient.h:
Change TextCheckerClient::checkTextOfParagraph to take a StringView.

Source/WebKit/efl:

Update to match WebCore changes.

* WebCoreSupport/EditorClientEfl.h:
(WebCore::EditorClientEfl::checkTextOfParagraph):

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::checkTextOfParagraph):
Update to match the new signature.

(nsStringWithoutCopying):
New function that creates an NSString that references StringView data
without copying the data. (If this function proves to be useful elsewhere, it could
potentially be added to StringView).

Source/WebKit2:

Use a StringView and remove a FIXME.

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::checkTextOfParagraph):
* WebProcess/WebCoreSupport/WebEditorClient.h:

Source/WTF:

Add a new StringView class which is an immutable reference to either an 8-bit or a 16-bit string.

This makes it easier to pass substrings around without having to either copy string data
or upconvert and use UChar pointers.

The StringView class is very loosely based on the std::string_view class which is proposed for a future version of C++,
see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3609.html for more details.

* GNUmakefile.list.am:
* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Forward.h:
* wtf/text/StringView.h: Added.
(WTF::StringView::StringView):
(WTF::StringView::empty):
(WTF::StringView::characters8):
(WTF::StringView::characters16):
(WTF::StringView::isEmpty):
(WTF::StringView::length):
(WTF::StringView::is8Bit):
(WTF::StringView::substring):
(WTF::StringView::toString):
(WTF::StringView::toStringWithoutCopying):
(WTF::StringView::encodedCharacters):

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

7 years agoUnreviewed. Attempting to fix webkitpy tests after r161512.
zandobersek@gmail.com [Wed, 8 Jan 2014 21:03:43 +0000 (21:03 +0000)]
Unreviewed. Attempting to fix webkitpy tests after r161512.

* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__): Construct LeakDetectorValgrin only if leak detection is enabled.

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

7 years agoFlaky Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
ap@apple.com [Wed, 8 Jan 2014 20:44:42 +0000 (20:44 +0000)]
Flaky Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
https://bugs.webkit.org/show_bug.cgi?id=52016

* platform/mac/TestExpectations: Mark it as such.

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

7 years ago[WinCairo] Compile error.
commit-queue@webkit.org [Wed, 8 Jan 2014 19:20:17 +0000 (19:20 +0000)]
[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=126534

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-08
Reviewed by Brent Fulgham.

* WebKitPrefix.h: Define __STDC_LIMIT_MACROS, so INTMAX_MAX will be defined (needed by std C++ library).

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

7 years ago[GTK] Parse Valgrind xml leak files
brian.holt@samsung.com [Wed, 8 Jan 2014 18:30:12 +0000 (18:30 +0000)]
[GTK] Parse Valgrind xml leak files
https://bugs.webkit.org/show_bug.cgi?id=119446

Reviewed by Alejandro G. Castro.

Parse the xml files generated by Valgrind to yield useful
information about the memory leaks.

* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__):
(GtkPort.setup_test_run): Clear the previous output files before new
run.
(GtkPort.print_leaks_summary):

* Scripts/webkitpy/port/leakdetector_valgrind.py: Added.
Parse the xml files generated by Valgrind and summarise leaks
into an easily understandable list.
(get_text_of):
(get_CDATA_of):
(gather_frames):
(ValgrindError):
(ValgrindError.__init__):
(ValgrindError.__str__):
(ValgrindError.unique_string):
(ValgrindError.error_hash):
(ValgrindError.__hash__):
(ValgrindError.__eq__):
(LeakDetectorValgrind):
(LeakDetectorValgrind.__init__):
(LeakDetectorValgrind._parse_leaks_output):
(LeakDetectorValgrind.leaks_files_in_results_directory):
(LeakDetectorValgrind.clean_leaks_files_from_results_directory):
(LeakDetectorValgrind.parse_and_print_leaks_detail):

* Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Added.
(make_mock_valgrind_output):
(make_mock_incomplete_valgrind_output):
(make_mock_valgrind_results):
(make_mock_valgrind_results_incomplete):
(make_mock_valgrind_results_empty):
(make_mock_valgrind_results_misformatted):
(LeakDetectorValgrindTest):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_pass):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_incomplete):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_empty):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_misformatted):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_pass):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_incomplete):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_empty):
(LeakDetectorValgrindTest.test_parse_and_print_leaks_detail_misformatted):

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

7 years agoUnreviewed build fix.
bfulgham@apple.com [Wed, 8 Jan 2014 18:29:27 +0000 (18:29 +0000)]
Unreviewed build fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing
exports needed for Windows build.

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

7 years agoUnreviewed, rolling out r161427.
commit-queue@webkit.org [Wed, 8 Jan 2014 17:48:04 +0000 (17:48 +0000)]
Unreviewed, rolling out r161427.
http://trac.webkit.org/changeset/161427
https://bugs.webkit.org/show_bug.cgi?id=126645

Emits a stye error on any newly added files (Requested by ap
on #webkit).

* Scripts/webkitpy/style/checkers/cpp.py:
(check_style):
(CppChecker):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_other):

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

7 years agoRemove run-webkit-tests wrapper script as all platform are using NRWT now.
ossy@webkit.org [Wed, 8 Jan 2014 17:14:02 +0000 (17:14 +0000)]
Remove run-webkit-tests wrapper script as all platform are using NRWT now.
https://bugs.webkit.org/show_bug.cgi?id=126580

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-08
Reviewed by Csaba Osztrogonác.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests): Passing --debug-rwt-logging here instead of the
run-webkit-tests script.
* Scripts/new-run-webkit-tests: Renamed to run-webkit-tests.
* Scripts/run-webkit-tests: Removed, as it was just a temporary hack.

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

7 years agoUnreviewed Windows build fix attempt after r161481.
eric.carlson@apple.com [Wed, 8 Jan 2014 16:17:37 +0000 (16:17 +0000)]
Unreviewed Windows build fix attempt after r161481.

* WebCore.vcxproj/copyForwardingHeaders.cmd:

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

7 years agoUnreviewed GTK gardening.
changseok.oh@collabora.com [Wed, 8 Jan 2014 16:02:32 +0000 (16:02 +0000)]
Unreviewed GTK gardening.

setFileInputFiles.html was removed after r161380. string-replacement-outofmemory.html,
toString-and-valueOf-override.html and exceptions-thrown-in-callbacks.html
were moved into other directory.

* platform/gtk-wk2/TestExpectations:
* platform/gtk/TestExpectations:

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

7 years agoUpdate the list of non-committer u-szeged contributors
ossy@webkit.org [Wed, 8 Jan 2014 15:45:48 +0000 (15:45 +0000)]
Update the list of non-committer u-szeged contributors
https://bugs.webkit.org/show_bug.cgi?id=126640

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-08
Reviewed by Csaba Osztrogonác.

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

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

7 years agoDeploy RenderPtr in RenderMathMLOperator::updateFromElement().
akling@apple.com [Wed, 8 Jan 2014 15:43:52 +0000 (15:43 +0000)]
Deploy RenderPtr in RenderMathMLOperator::updateFromElement().
<https://webkit.org/b/126628>

Reviewed by Antti Koivisto.

* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateFromElement):

    Use RenderPtr/createRenderer for renderer creation.
    Removed an unnecessary null check (text is always created.)
    Also use RenderStyle::createAnonymousStyleWithDisplay()
    helper to shorten down the code a bit.

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

7 years agoFix some compilation warnings
berto@igalia.com [Wed, 8 Jan 2014 15:24:53 +0000 (15:24 +0000)]
Fix some compilation warnings
https://bugs.webkit.org/show_bug.cgi?id=126635

Reviewed by Csaba Osztrogonác.

Source/WebCore:

Remove code that is no longer being used.

* platform/graphics/cairo/GraphicsContextCairo.cpp:
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
* platform/gtk/PopupMenuGtk.cpp:
* platform/gtk/RedirectedXCompositeWindow.h:

Tools:

* GtkLauncher/main.c:
(createWindow): This function is not supposed to receive any
parameter, yet we are passing one.

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

7 years ago[GTK][WK2] unskip passing unit tests
brian.holt@samsung.com [Wed, 8 Jan 2014 15:23:36 +0000 (15:23 +0000)]
[GTK][WK2] unskip passing unit tests
https://bugs.webkit.org/show_bug.cgi?id=126637

Reviewed by Carlos Garcia Campos.

Unskip TestResources and TestAuthentication unit tests since they
are passing both under Xvfb and X.

* Scripts/run-gtk-tests:
(TestRunner):

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

7 years ago[EFL] Make FTL buildable
commit-queue@webkit.org [Wed, 8 Jan 2014 15:21:27 +0000 (15:21 +0000)]
[EFL] Make FTL buildable
https://bugs.webkit.org/show_bug.cgi?id=125777

Patch by Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com> on 2014-01-08
Reviewed by Csaba Osztrogonác.

.:

* Source/cmake/OptionsEfl.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

* CMakeLists.txt:
* ftl/FTLOSREntry.cpp:
* ftl/FTLOSRExitCompiler.cpp:
* llvm/library/config_llvm.h:

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

7 years ago[Automake] Scripts for generated build targets do not necessarily produce their output
zandobersek@gmail.com [Wed, 8 Jan 2014 15:13:06 +0000 (15:13 +0000)]
[Automake] Scripts for generated build targets do not necessarily produce their output
https://bugs.webkit.org/show_bug.cgi?id=126378

Reviewed by Carlos Garcia Campos.

Source/JavaScriptCore:

* GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
assure the output is generated every time the script is invoked, most commonly due to unchanged
input. This assures the build targets are up-to-date and can't be older that their dependencies,
which would result in constant regeneration at every build.

Source/WebCore:

* GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
assure the output is generated every time the script is invoked, most commonly due to unchanged
* bindings/gobject/GNUmakefile.am: Simply move the gdom-gen-symbols file into the output file
instead of copying it if the contents differ and removing it. This again ensures that the output
file is always newer than its dependencies, even if the input hasn't changed.

Source/WebKit2:

* GNUmakefile.am: Don't pass the -n option to the ln command that links the build's include
directories to actual source directories. This doesn't replace the original symbolic link,
which can lead to the actual link being older than its dependencies and subsequent constant
relinking at every build.

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

7 years agoREGRESSION(r160304): [GTK] Disable libtool fast install
berto@igalia.com [Wed, 8 Jan 2014 14:35:12 +0000 (14:35 +0000)]
REGRESSION(r160304): [GTK] Disable libtool fast install
https://bugs.webkit.org/show_bug.cgi?id=126381

Reviewed by Gustavo Noronha Silva.

.:

Don't disable the libtool fast-install mode unconditionally by
default.

If the fast-install mode is disabled, binaries are generated ready
to use the libraries directly from the build tree. If we use the
GNU linker, those binaries are then relinked when they are
installed.

However, libtool fails to do it properly when an installation
prefix is set with DESTDIR, and ends up installing the libtool
wrappers instead of the actual binaries.

* Source/autotools/SetupLibtool.m4:

Tools:

Disable the libtool fast-install mode in developer/test builds.

In this mode binaries are generated ready to be used directly from
the build tree. Otherwise they would need to be relinked when they
are executed, which can take a lot of resources, particularly in
debug builds.

* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary):

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

7 years agoRemove invalid comments from mathtags.ing
commit-queue@webkit.org [Wed, 8 Jan 2014 14:22:09 +0000 (14:22 +0000)]
Remove invalid comments from mathtags.ing
https://bugs.webkit.org/show_bug.cgi?id=126629

Patch by Frédéric Wang <fred.wang@free.fr> on 2014-01-08
Reviewed by Chris Fleizach.

* mathml/mathtags.in:

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

7 years agoUpdated Brazilian Portuguese translation of WebKitGTK+ - December 30, 2013
gns@gnome.org [Wed, 8 Jan 2014 12:02:15 +0000 (12:02 +0000)]
Updated Brazilian Portuguese translation of WebKitGTK+ - December 30, 2013
https://bugs.webkit.org/show_bug.cgi?id=126315

Patch by Enrico Nicoletto <liverig@gmail.com> on 2014-01-08
Reviewed by Gustavo Noronha.

* pt_BR.po: updated translation.

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

7 years agoRenderMathMLRow::createAnonymousWithParentRenderer() should return RenderPtr.
akling@apple.com [Wed, 8 Jan 2014 11:20:11 +0000 (11:20 +0000)]
RenderMathMLRow::createAnonymousWithParentRenderer() should return RenderPtr.
<https://webkit.org/b/126631>

Reviewed by Antti Koivisto.

* rendering/mathml/RenderMathMLRow.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):

    Tweak to return RenderPtr<RenderMathMLRow> and removed comment(!)
    about how this should return a smart pointer. Also take the
    parent renderer as a RenderMathMLRoot& instead of a RenderObject*
    since that's all we ever pass.

* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::addChild):

    Updated for new createAnonymousWithParentRenderer() signature.

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

7 years agoAX: Make roleValue() return DescriptionListRole for <dl> elements
mario.prada@samsung.com [Wed, 8 Jan 2014 10:58:37 +0000 (10:58 +0000)]
AX: Make roleValue() return DescriptionListRole for <dl> elements
https://bugs.webkit.org/show_bug.cgi?id=126579

Reviewed by Chris Fleizach.

Implement AccessibilityList::roleValue() so it will return
ListRole or DescriptionListRole depending on the type of list.

No new tests needed, as no new functionality was added and ports
should still be exposing the right role for <dl> elements

* accessibility/AccessibilityList.cpp:
(WebCore::AccessibilityList::roleValue): Implemented.
* accessibility/AccessibilityList.h:

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole): Removed extra checks for objects with ListRole role.

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

7 years agocreateMathMLOperator() should return RenderPtr.
akling@apple.com [Wed, 8 Jan 2014 09:47:59 +0000 (09:47 +0000)]
createMathMLOperator() should return RenderPtr.
<https://webkit.org/b/126622>

Reviewed by Antti Koivisto.

* rendering/mathml/RenderMathMLFenced.h:
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):

    Make this return a RenderPtr<RenderMathMLOperator>.

(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::addChild):

    Updated for the new createMathMLOperator() signature.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 8 Jan 2014 08:45:19 +0000 (08:45 +0000)]
Unreviewed GTK gardening.

* Scripts/run-gtk-tests:
(TestRunner): Skipping the snapshot test case from the TestWebKitWebView test suite.
The test is failing due to issues with Xvfb, with the problem being handled in bug #120404.

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

7 years agoREGRESSION: webgl/1.0.2/conformance/textures/tex-image-and-sub-image-2d-with-video...
ap@apple.com [Wed, 8 Jan 2014 08:33:37 +0000 (08:33 +0000)]
REGRESSION: webgl/1.0.2/conformance/textures/tex-image-and-sub-image-2d-with-video-rgb565.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=126624

* platform/mac/TestExpectations: Mark it as such.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 8 Jan 2014 08:26:46 +0000 (08:26 +0000)]
Unreviewed GTK gardening.
Add a flaky expectation for perf/accessibility-title-ui-element.html and a failure expectation
for http/tests/media/video-auth.html.

* platform/gtk/TestExpectations:

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

7 years agoREGRESSION (r161195): Acid2 regression tests frequently fail
antti@apple.com [Wed, 8 Jan 2014 07:33:10 +0000 (07:33 +0000)]
REGRESSION (r161195): Acid2 regression tests frequently fail
https://bugs.webkit.org/show_bug.cgi?id=126432

Source/WebCore:

Reviewed by Anders Carlsson.

We would occasionally dump the render tree before the actual last resource on the page was loaded.
The problematic resource is an image loaded by an <object> tag nested as fallback of another <object>.

* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderFallbackContent):

    Force style recalc when rendering fallback content. The current mechanism for triggering the fallback content load
    requires a style recalc.

LayoutTests:

Reviewed by Anders Carlsson.

* TestExpectations: acid2 is no longer flaky.
* fast/overflow/overflow-height-float-not-removed-crash3-expected.txt: whitespace change.

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

7 years agocreateAnonymousMathMLBlock() should return RenderPtr.
akling@apple.com [Wed, 8 Jan 2014 06:42:50 +0000 (06:42 +0000)]
createAnonymousMathMLBlock() should return RenderPtr.
<https://webkit.org/b/126583>

Reviewed by Antti Koivisto.

* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):

    Make this return a RenderPtr<RenderMathMLBlock> and removed the
    EDisplay argument since it was always using the default (FLEX.)

* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::addChild):

    Updated for the new createAnonymousMathMLBlock() signature.

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

7 years agoTeach MediaSessionManager to manage interruptions
eric.carlson@apple.com [Wed, 8 Jan 2014 05:45:55 +0000 (05:45 +0000)]
Teach MediaSessionManager to manage interruptions
https://bugs.webkit.org/show_bug.cgi?id=126530

Reviewed by Sam Weinig.

Source/WebCore:

Tests: media/video-interruption-active-when-element-created.html
       media/video-interruption-with-resume-allowing-play.html
       media/video-interruption-with-resume-not-allowing-play.html

* WebCore.exp.in: Export functions needed by Internals.

Add MediaSession and MediaSessionManager.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

Automatically pause/play for interruptions. Move media restriction management to a MediaSession.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Get rid of m_loadInitiatedByUserGesture and m_userStartedPlayback,
    they aren't needed.
(WebCore::HTMLMediaElement::load): Ditto.
(WebCore::HTMLMediaElement::loadInternal): Use the media session to manage restrictions.
(WebCore::HTMLMediaElement::play): Remove redundant iOS code. Postpone playback if called
    during an interruption.
(WebCore::HTMLMediaElement::pause): Remember to not resume playback when it ends if called during
    an interruption.
(WebCore::HTMLMediaElement::potentiallyPlaying): Rearrange code to make it easier to understand.
(WebCore::HTMLMediaElement::couldPlayIfEnoughData): Ditto.
(WebCore::HTMLMediaElement::pausedForUserInteraction): Return true if paused because of an interruption.
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Be explicit about
    which restrictions are removed.
(WebCore::HTMLMediaElement::mediaType): MediaSessionManager::<Type> -> MediaSession::<Type>.
(WebCore::HTMLMediaElement::beginInterruption): New.
(WebCore::HTMLMediaElement::endInterruption): Ditto.
* html/HTMLMediaElement.h:

Pulled MediaSessionManagerToken out of MediaSessionManager.cpp, added functionality to manage interruptions.
* platform/audio/MediaSession.cpp: Added.
(WebCore::MediaSession::create):
(WebCore::MediaSession::MediaSession):
(WebCore::MediaSession::~MediaSession):
(WebCore::MediaSession::beginInterruption): Inform client of interruption state change.
(WebCore::MediaSession::endInterruption): Ditto.
* platform/audio/MediaSession.h: Added.

* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::MediaSessionManager): Initialize interruption counter.
(WebCore::MediaSessionManager::has): MediaType is defined in MediaSession.
(WebCore::MediaSessionManager::count): Ditto.
(WebCore::MediaSessionManager::beginInterruption): Inform all clients of interruption start if
    not already in an interruption.
(WebCore::MediaSessionManager::endInterruption): Inform all clients if interruption has ended.
(WebCore::MediaSessionManager::addSession): Renamed from addToken. Set session interruption state.
(WebCore::MediaSessionManager::removeSession): Renamed from removeToken.
* platform/audio/MediaSessionManager.h:

* platform/audio/mac/AudioDestinationMac.cpp:
(WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken -> MediaSession.
* platform/audio/mac/AudioDestinationMac.h:

* platform/audio/mac/MediaSessionManagerMac.cpp:
(MediaSessionManager::updateSessionState): Ditto.

Make it possible for tests to begin and end interruptions.
* testing/Internals.cpp:
(WebCore::Internals::beginMediaSessionInterruption):
(WebCore::Internals::endMediaSessionInterruption):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

* CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories.

Source/WebKit2:

* CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories.

LayoutTests:

* media/video-interruption-active-when-element-created-expected.txt: Added.
* media/video-interruption-active-when-element-created.html: Added.
* media/video-interruption-with-resume-allowing-play-expected.txt: Added.
* media/video-interruption-with-resume-allowing-play.html: Added.
* media/video-interruption-with-resume-not-allowing-play-expected.txt: Added.
* media/video-interruption-with-resume-not-allowing-play.html: Added.

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

7 years agoDoYouEvenBench: Turn BenchmarkRunner into a real class
rniwa@webkit.org [Wed, 8 Jan 2014 03:58:16 +0000 (03:58 +0000)]
DoYouEvenBench: Turn BenchmarkRunner into a real class
https://bugs.webkit.org/show_bug.cgi?id=126613

Reviewed by Stephanie Lewis.

Made BenchmarkRunner an instantiatable class. Made tests.js simply create an array of suite objects
instead of calling BenchmarkRunner.Suite now that we can have mulitple instances of BenchmarkRunner.

* DoYouEvenBench/benchmark.html:
(formatTestName): Moved and renamed from BenchmarkRunner._testName.
(createUIForSuites): Extracted from a giant blob of code.
(startTest): Ditto.
* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner): Added.
(BenchmarkRunner.prototype.waitForElement):
(BenchmarkRunner.prototype._removeFrame):
(BenchmarkRunner.prototype._appendFrame):
(BenchmarkRunner.prototype._waitAndWarmUp):
(BenchmarkRunner.prototype._runTest):
(BenchmarkState.prototype.prepareCurrentSuite):
(BenchmarkRunner.prototype.step):
(BenchmarkRunner.prototype._runTestAndRecordResults):
(BenchmarkRunner.prototype._finalize):
* DoYouEvenBench/resources/tests.js:

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

7 years ago[iOS] Clean up some exported headers
aestes@apple.com [Wed, 8 Jan 2014 03:26:02 +0000 (03:26 +0000)]
[iOS] Clean up some exported headers
https://bugs.webkit.org/show_bug.cgi?id=126403

Reviewed by Simon Fraser.

Public header files that are completely excluded on iOS don't need
!TARGET_OS_IPHONE guards since they are already listed in
EXCLUDED_SOURCE_FILE_NAMES.

I also took the opportunity to sort EXCLUDED_SOURCE_FILE_NAMES and to
clean up some #imports.

* Configurations/WebKit.xcconfig:
* Misc/WebCache.h:
* Misc/WebIconDatabasePrivate.h:
* Misc/WebLocalizableStrings.h:
* Misc/WebNSEventExtras.h:
* Misc/WebNSPasteboardExtras.h:
* Misc/WebNSWindowExtras.h:
* Panels/WebPanelAuthenticationHandler.h:
* Plugins/WebPluginsPrivate.h:
* Storage/WebDatabaseManagerPrivate.h:
* WebCoreSupport/WebJavaScriptTextInputPanel.h:
* WebCoreSupport/WebKeyGenerator.h:
* WebCoreSupport/WebSecurityOriginPrivate.h:
* WebView/WebDashboardRegion.h:
* WebView/WebDynamicScrollBarsView.h:
* WebView/WebFrameView.h:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebResourceLoadDelegatePrivate.h:
* WebView/WebView.h:

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

7 years ago[EFL][WK2] Fix failing ewk_view_page_contents_get() API test
jinwoo7.song@samsung.com [Wed, 8 Jan 2014 02:41:59 +0000 (02:41 +0000)]
[EFL][WK2] Fix failing ewk_view_page_contents_get() API test
https://bugs.webkit.org/show_bug.cgi?id=126609

Reviewed by Gyuyoung Kim.

Compare the amount of bytes in the expected result file with
the size of callback data from the API since the 'Date' field
and the boundaries will be different on each case.
Refered the test case of GTK port.

* UIProcess/API/efl/tests/resources/resultMHTML.mht: Added.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(EWK2ViewTest::PageContentsAsMHTMLCallback):

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

7 years agoWeb Inspector: Remove leftover 'device metrics' code
seokju@webkit.org [Wed, 8 Jan 2014 02:20:46 +0000 (02:20 +0000)]
Web Inspector: Remove leftover 'device metrics' code
https://bugs.webkit.org/show_bug.cgi?id=126607

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, No changes in behavior.

Removes unused code related to 'device metrics'.

* css/MediaQueryEvaluator.cpp:
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
* inspector/InspectorClient.h:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::didLayout):
* inspector/InspectorPageAgent.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::innerHeight):
(WebCore::DOMWindow::innerWidth):
* page/Screen.cpp:
(WebCore::Screen::height):
(WebCore::Screen::width):
* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::processSubtree):

Source/WebKit/blackberry:

Clean up after removing InspectorClient::overrideDeviceMetrics().

* WebCoreSupport/InspectorClientBlackBerry.cpp:
* WebCoreSupport/InspectorClientBlackBerry.h:

Source/WebKit/mac:

* WebKit.order: Update after removing InspectorClient::overrideDeviceMetrics().

Source/WebKit2:

* mac/WebKit2.order: Update after removing InspectorClient::overrideDeviceMetrics().

LayoutTests:

* inspector/styles/override-screen-size-expected.txt: Removed.
* inspector/styles/override-screen-size.html: Removed.

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

7 years agoFix the build. The WebKit2 project copied all of WebKit2/Scripts/webkit2 into WebKit2...
simon.fraser@apple.com [Wed, 8 Jan 2014 01:35:35 +0000 (01:35 +0000)]
Fix the build. The WebKit2 project copied all of WebKit2/Scripts/webkit2 into WebKit2.framework/PrivateHeaders,
but that's bad because there are test result files in there now. Fix by having the project copy specific
.py files into rivateHeaders/webkit2

* WebKit2.xcodeproj/project.pbxproj:

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

7 years agoUnreviewed test fix: Correct whitespace around ]
bfulgham@apple.com [Wed, 8 Jan 2014 01:16:01 +0000 (01:16 +0000)]
Unreviewed test fix: Correct whitespace around ]

* platform/mac/TestExpectations: "Debug]" should be "Debug ]"

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

7 years agoMake it possible for MessageReceivers to pass messages to their superclass, and use...
simon.fraser@apple.com [Wed, 8 Jan 2014 01:03:48 +0000 (01:03 +0000)]
Make it possible for MessageReceivers to pass messages to their superclass, and use it for RemoteLayerTreeDrawingAreaProxy
https://bugs.webkit.org/show_bug.cgi?id=126558

Reviewed by Anders Carlsson.

In a message.in file it's now possible to say:

messages -> Subclass : Superclass { ... } and the generated code will
call Superclass::didReceiveMessage().

Use this to have RemoteLayerTreeDrawingAreaProxy pass messages up to
DrawingAreaProxy.

* Scripts/webkit2/messages.py:
(generate_message_handler):
* Scripts/webkit2/model.py:
(MessageReceiver.__init__):
* Scripts/webkit2/parser.py:
(parse):
* UIProcess/DrawingAreaProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:

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

7 years agoAdd message-generation test for non-legacy message receiver
simon.fraser@apple.com [Wed, 8 Jan 2014 01:03:46 +0000 (01:03 +0000)]
Add message-generation test for non-legacy message receiver
https://bugs.webkit.org/show_bug.cgi?id=126603

Reviewed by Anders Carlsson.

Add expected output files for a non-legacy message receiver, and add
testing for same.

* Scripts/webkit2/LegacyMessageReceiver-expected.cpp: Copied from Source/WebKit2/Scripts/webkit2/MessageReceiver-expected.cpp.
* Scripts/webkit2/LegacyMessages-expected.h: Added.
* Scripts/webkit2/MessageReceiver-expected.cpp:
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):
* Scripts/webkit2/messages_unittest.py:
(MessagesTest.setUp):
(ParsingTest.test_receiver):
(HeaderTest.test_header):
(ReceiverImplementationTest.test_receiver_implementation):
* Scripts/webkit2/test-legacy-messages.in: Copied from Source/WebKit2/Scripts/webkit2/test-messages.in.
* Scripts/webkit2/test-messages.in:

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

7 years agoMove expected results out of messages_unittest.py into separate files
simon.fraser@apple.com [Wed, 8 Jan 2014 01:03:44 +0000 (01:03 +0000)]
Move expected results out of messages_unittest.py into separate files
https://bugs.webkit.org/show_bug.cgi?id=126602

Reviewed by Anders Carlsson.

Uninline the test input and output from messages_unittest.py to make
it easier to add more tests.

* Scripts/webkit2/MessageReceiver-expected.cpp: Added.
(WebKit::WebPage::didReceiveWebPageMessage):
(WebKit::WebPage::didReceiveSyncWebPageMessage):
* Scripts/webkit2/Messages-expected.h: Added.
* Scripts/webkit2/messages_unittest.py:
(ParsingTest.test_receiver):
* Scripts/webkit2/test-messages.in: Added.

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

7 years agoAdd a scheduler for the CLoop bot.
lforschler@apple.com [Wed, 8 Jan 2014 00:51:30 +0000 (00:51 +0000)]
Add a scheduler for the CLoop bot.

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

7 years ago[iOS] Upstream WebKit support for various features
aestes@apple.com [Wed, 8 Jan 2014 00:42:20 +0000 (00:42 +0000)]
[iOS] Upstream WebKit support for various features
https://bugs.webkit.org/show_bug.cgi?id=126413

Reviewed by Sam Weinig.

Upstream iOS WebKit changes needed for these features:

- ENABLE(DELETION_UI)
- ENABLE(TOUCH_EVENTS)
- USE(QUICK_LOOK)
- USE(UIKIT_EDITING)
- ENABLE(DISK_IMAGE_CACHE)
- ENABLE(IOS_TEXT_AUTOSIZING)
- ENABLE(ICONDATABASE)
- ENABLE(DASHBOARD_SUPPORT)

* DefaultDelegates/WebDefaultEditingDelegate.m:
* Misc/WebCache.mm:
* WebCoreSupport/WebChromeClient.h:
* WebView/WebDataSource.mm:
(-[WebDataSource dealloc]):
* WebView/WebEditingDelegatePrivate.h:
* WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView maintainsInactiveSelection]):
(-[WebHTMLView touch:]):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
(-[WebView _cacheFrameLoadDelegateImplementations]):
(-[WebView quickLookContentForURL:]):
(-[WebView _touchEventRegions]):
* WebView/WebViewPrivate.h:

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

7 years ago[iOS] Upstream a bug fix for plugin-backed media elements
aestes@apple.com [Wed, 8 Jan 2014 00:42:18 +0000 (00:42 +0000)]
[iOS] Upstream a bug fix for plugin-backed media elements
https://bugs.webkit.org/show_bug.cgi?id=126412

Reviewed by Eric Carlson.

Media elements backed by plug-ins should outlive being removed from the
document, like their native counterparts do.

* Plugins/WebPluginController.h:
* Plugins/WebPluginController.mm:
(-[NSView isMediaPlugInProxyView]):
(-[NSView setIsMediaPlugInProxyView:]):
(-[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController mediaPlugInProxyViewCreated:]):
(-[WebPluginController destroyPlugin:]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(pluginView):

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

7 years ago[iOS] Upstream remainder of minimal-ui viewport changes
aestes@apple.com [Wed, 8 Jan 2014 00:42:15 +0000 (00:42 +0000)]
[iOS] Upstream remainder of minimal-ui viewport changes
https://bugs.webkit.org/show_bug.cgi?id=126410

Reviewed by Sam Weinig.

Source/WebCore:

* dom/ViewportArguments.h:

Source/WebKit/ios:

* WebCoreSupport/WebChromeClientIOS.mm:
(dictionaryForViewportArguments):
* WebKit.iOS.exp:

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

7 years agoDFG fixup phase should be responsible for inserting ValueToInt32's as needed and...
fpizlo@apple.com [Wed, 8 Jan 2014 00:27:06 +0000 (00:27 +0000)]
DFG fixup phase should be responsible for inserting ValueToInt32's as needed and it should use Phantom to keep the original values alive in case of OSR exit
https://bugs.webkit.org/show_bug.cgi?id=126600

Reviewed by Michael Saboff.

This fixes an embarrassing OSR exit liveness bug. It also simplifies the code. We were
already using FixupPhase as the place where conversion nodes get inserted. ValueToInt32
was the only exception to that rule, and that was one of the reasons why we had this bug.

Henceforth ValueToInt32 is only inserted by FixupPhase, and only when it is necessary:
we have a BitOp that will want a ToInt32 conversion and the operand is not predicted to
already be an int32. If FixupPhase inserts any ValueToInt32's then the BitOp will no
longer appear to use the original operand, which will make OSR exit think that the
original operand is dead. We work around this they way we always do: insert a Phantom on
the original operands right after the BitOp. This ensures that any OSR exit in any of the
ValueToInt32's or in the BitOp itself will have values for the original inputs.

* dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::BackwardsPropagationPhase::propagate):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::fixBinaryIntEdges):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* tests/stress/bit-op-value-to-int32-input-liveness.js: Added.
(foo):

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

7 years agocreateElementNS handles element name 'xmlns' correctly.
commit-queue@webkit.org [Wed, 8 Jan 2014 00:12:03 +0000 (00:12 +0000)]
createElementNS handles element name 'xmlns' correctly.
https://bugs.webkit.org/show_bug.cgi?id=126553

Patch by Victor Costan <costan@gmail.com> on 2014-01-07
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: fast/dom/createElementNS-namespace-errors.html
       fast/dom/setAttributeNS-namespace-errors.html

* dom/Document.cpp:
(WebCore::Document::hasValidNamespaceForElements): updated to match DOM3/DOM4 spec.
(WebCore::Document::hasValidNamespaceForAttributes): updated to match DOM3/DOM4 spec.

LayoutTests:

* fast/dom/createElementNS-namespace-errors-expected.txt: Added.
* fast/dom/createElementNS-namespace-errors.html: Added. Covers all the corner cases in the DOM4 spec.
* fast/dom/script-tests/setAttributeNS-prefix-and-null-namespace.js: Removed.
* fast/dom/setAttributeNS-expected.txt: Updated to match cleaned up test.
* fast/dom/setAttributeNS-namespace-errors-expected.txt: Added.
* fast/dom/setAttributeNS-namespace-errors.html: Added. Covers all the corner cases in the DOM4 spec.
* fast/dom/setAttributeNS-prefix-and-null-namespace-expected.txt: Removed.
* fast/dom/setAttributeNS-prefix-and-null-namespace.html: Removed. Subsumed by setAttributeNS-namespace-errors.
* fast/dom/setAttributeNS.html: Cleaned up.

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

7 years agoUpdate buiddir to be unique.
lforschler@apple.com [Wed, 8 Jan 2014 00:09:44 +0000 (00:09 +0000)]
Update buiddir to be unique.

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

7 years agofix Typo.
lforschler@apple.com [Wed, 8 Jan 2014 00:08:42 +0000 (00:08 +0000)]
fix Typo.

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

7 years agoAdd buildbot infrasctructure for building and testing JSC cloop
lforschler@apple.com [Wed, 8 Jan 2014 00:04:27 +0000 (00:04 +0000)]
Add buildbot infrasctructure for building and testing JSC cloop
https://bugs.webkit.org/show_bug.cgi?id=126604

Reviewed by Geoffrey Garen.

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CompileCLOOP):
(RunCLOOPTests):
(RunCLOOPTests.countFailures):
(BuildAndTestCLOOP):

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

7 years agoWeb Inspector: Typo "clipboarPrefixString"
commit-queue@webkit.org [Tue, 7 Jan 2014 23:46:26 +0000 (23:46 +0000)]
Web Inspector: Typo "clipboarPrefixString"
https://bugs.webkit.org/show_bug.cgi?id=126595

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-07
Reviewed by Sam Weinig.

* UserInterface/ConsoleCommandResult.js:
(WebInspector.ConsoleCommandResult.prototype.toMessageElement):
(WebInspector.ConsoleCommandResult.prototype.get clipboardPrefixString):
* UserInterface/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl.prototype.get clipboardPrefixString):
(WebInspector.ConsoleMessageImpl.prototype.toClipboardString):

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

7 years agoUnreviewed. Add myself as a committer.
bburg@apple.com [Tue, 7 Jan 2014 23:37:03 +0000 (23:37 +0000)]
Unreviewed. Add myself as a committer.

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

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

7 years agoDoYouEvenBench: Extract tests and runner code from benchmark.js/html
rniwa@webkit.org [Tue, 7 Jan 2014 23:22:22 +0000 (23:22 +0000)]
DoYouEvenBench: Extract tests and runner code from benchmark.js/html
https://bugs.webkit.org/show_bug.cgi?id=126596

Reviewed by Stephanie Lewis.

Extracted benchmark-runner.js and tests.js out of benchmark.js and benchmark.html.

Added a "client" interface to BenchmarkRunner so that benchmark.html could register necessary hooks to
update its UI. Also made BenchmarkRunner store a tree of results so that the serialization of test names
could be isolated from BenchmarkRunner itself in the future.

* DoYouEvenBench/benchmark.html:
Moved the code to instantiate and update UI here from benchmark.js. The test code was moved out of this
file into resources/tests.js.

* DoYouEvenBench/resources/benchmark-runner.js: Renamed from PerformanceTests/DoYouEvenBench/benchmark.js.
(SimplePromise): Moved from benchmark.js
(SimplePromise.prototype.then): Ditto.
(SimplePromise.prototype.resolve): Ditto.
(BenchmarkTestStep): Added. Wraps each test step.
(BenchmarkRunner.suite): Moved from benchmark.js.
(BenchmarkRunner.setClient): Added.
(BenchmarkRunner.waitForElement): Moved.
(BenchmarkRunner._removeFrame): Ditto.
(BenchmarkRunner._appendFrame): Ditto. Set the width and the height of the iframe as they're more than
presentational as they affect performance.
(BenchmarkRunner._waitAndWarmUp): Ditto.
(BenchmarkRunner._runTest): Ditto.
(BenchmarkRunner._testName): Ditto.
(BenchmarkState): Ditto.
(BenchmarkState.prototype.currentSuite): Ditto.
(BenchmarkState.prototype.currentTest): Ditto.
(BenchmarkState.prototype.next): Ditto.
(BenchmarkState.prototype.isFirstTest): Ditto.
(BenchmarkState.prototype.prepareCurrentSuite): Ditto.
(BenchmarkRunner.step): Ditto.
(BenchmarkRunner._runTestAndRecordResults): Ditto. Note the code to update the UI has been move to
benchmark.html. Also moved the code to accumulate the totals here from _finalize.
(BenchmarkRunner._finalize): Moved.

* DoYouEvenBench/resources/tests.js: Copied from PerformanceTests/DoYouEvenBench/benchmark.html.
Uses BenchmarkTestStep instead of an array for each test step.

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

7 years agoPlatformLayer containing scrollbars does not disappear when setting overflow:hidden...
jer.noble@apple.com [Tue, 7 Jan 2014 22:31:49 +0000 (22:31 +0000)]
PlatformLayer containing scrollbars does not disappear when setting overflow:hidden on page root, until resize.
https://bugs.webkit.org/show_bug.cgi?id=116051

Reviewed by Simon Fraser.

Move the pre-existing call to addedOrRemovedScrollbar() outside of the else-statement
in updateScrollbars() so that changes made in the if-statement cause the scrollbar
layers to be updated. The scrollbarAddedOrRemoved local variable guarding access to
addedOrRemovedScrollbar() is already being set (but never checked) inside the if-statement.

* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):

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

7 years agoHTML5 video tag Does Not Load in Apache htaccess/htpasswd Protected Directory
jer.noble@apple.com [Tue, 7 Jan 2014 22:24:37 +0000 (22:24 +0000)]
HTML5 video tag Does Not Load in Apache htaccess/htpasswd Protected Directory
https://bugs.webkit.org/show_bug.cgi?id=40382

Reviewed by Eric Carlson.

Source/WebCore:

Test: http/tests/media/video-auth.html

Adopt a new AVFoundation API to handle authentication challenge generated while loading
media through an AVAsset. The authentication request comes through as a
NSURLAuthenticationChallenge, and is wrapped in a WebCore::AuthenticationChallenge
by MediaPlayerPrivateAVFoundationObjC, and is sent up to the HTMLMediaElement to handle.
The HTMLMediaElement creates a ResourceRequest, and passes the challenge up to the
ResourceLoadNotifier.

To allow the HTMLMediaElement to initiate handling an AuthenticationChallenge without
actually creating a ResourceLoader, allow ResourceLoaderDelegate to accept a unique
identifier and a DocumentLoader in lieu of a ResourceLoader.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:
* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
(WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
* loader/ResourceLoadNotifier.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerShouldWaitForResponseToAuthenticationChallenge):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):

LayoutTests:

* http/tests/media/resources/video-auth.php: Added.
* http/tests/media/video-auth-expected.txt: Added.
* http/tests/media/video-auth.html: Added.
* platform/mac/TestExpectations:

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

7 years agoPopovers at build.webkit.org/dashboard could have titles
ap@apple.com [Tue, 7 Jan 2014 22:06:08 +0000 (22:06 +0000)]
Popovers at build.webkit.org/dashboard could have titles
https://bugs.webkit.org/show_bug.cgi?id=126495

Reviewed by Timothy Hatcher.

Added titles to all popovers except for pending revisions one, which I would like
to improve more (probably add an ETA).

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
(BuildbotBuilderQueueView.prototype._presentPopoverFailureLogs): Moved code for
adding a title to base class.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype._presentPopoverForPendingCommits): Moved code for inserting
a divider to a separate function.
(BuildbotQueueView.prototype._presentPopoverForRevisionRange): Added a title.
(BuildbotQueueView.prototype._presentNoChangePopover): Updated the text to match
title from above function.
(BuildbotQueueView.prototype._revisionPopoverContentForIteration): Renamed "contentElement"
variable to "content" to match all other code.
(BuildbotQueueView.prototype._addIterationHeadingToPopover): Added.
(BuildbotQueueView.prototype._addDividerToPopover): Added.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype._popoverContentForLayoutTestRegressions): Add a title.
(BuildbotTesterQueueView.prototype._presentPopoverForLayoutTestRegressions): Ditto.
(BuildbotTesterQueueView.prototype._presentPopoverForMultipleFailureKinds): Ditto.

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

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

7 years agoUnreviewed, rolling out r161447.
commit-queue@webkit.org [Tue, 7 Jan 2014 21:27:10 +0000 (21:27 +0000)]
Unreviewed, rolling out r161447.
http://trac.webkit.org/changeset/161447
https://bugs.webkit.org/show_bug.cgi?id=126592

needs some more work (Requested by thorton on #webkit).

Source/WebCore:

* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
* page/FrameView.h:
* platform/graphics/GraphicsLayerClient.h:
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayerClient.h:
* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::tilesWouldChangeForVisibleRect):
(WebCore::TileController::setExposedRect):
(WebCore::TileController::setClipsToExposedRect):
(WebCore::TileController::computeTileCoverageRect):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::updateTileCoverageMap):
* rendering/RenderLayerBacking.cpp:
(WebCore::computeTileCoverage):
* rendering/RenderLayerBacking.h:

Source/WebKit2:

* UIProcess/API/mac/WKView.mm:
(-[WKView _updateViewExposedRect]):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::DrawingAreaProxy):
* UIProcess/DrawingAreaProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::viewExposedRectChanged):
(WebKit::WebPageProxy::exposedRectChangedTimerFired):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::viewExposedRect):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::setExposedRect):
(WebKit::DrawingArea::setClipsToExposedRect):
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::viewExposedRectChanged):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):

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

7 years ago[ASAN] Building with trunk clang corrupts sandbox profile with comment from Compiler.h
dfarler@apple.com [Tue, 7 Jan 2014 21:07:03 +0000 (21:07 +0000)]
[ASAN] Building with trunk clang corrupts sandbox profile with comment from Compiler.h
https://bugs.webkit.org/show_bug.cgi?id=124532

Reviewed by David Kilzer.

* wtf/Compiler.h:
Remove this quirk - it does nothing.

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

7 years agoRepatch write barrier slow path call doesn't align the stack in the presence of saved...
mhahnenberg@apple.com [Tue, 7 Jan 2014 21:05:30 +0000 (21:05 +0000)]
Repatch write barrier slow path call doesn't align the stack in the presence of saved registers
https://bugs.webkit.org/show_bug.cgi?id=126093

Reviewed by Geoffrey Garen.

* jit/Repatch.cpp: Reworked the stack alignment code for calling out to C code on the write barrier slow path.
We need to properly account for the number of reused registers that were saved to the stack, so we have to
pass the ScratchRegisterAllocator around.
(JSC::storeToWriteBarrierBuffer):
(JSC::writeBarrier):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):
* jit/ScratchRegisterAllocator.h: Previously the ScratchRegisterAllocator only knew whether or not it had
reused registers, but not how many. In order to correctly align the stack for calls to C slow paths for
the write barriers in inline caches we need to know how the stack is aligned. So now ScratchRegisterAllocator
tracks how many registers it has reused.
(JSC::ScratchRegisterAllocator::ScratchRegisterAllocator):
(JSC::ScratchRegisterAllocator::allocateScratch):
(JSC::ScratchRegisterAllocator::didReuseRegisters):
(JSC::ScratchRegisterAllocator::numberOfReusedRegisters):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
* llint/LowLevelInterpreter64.asm: Random typo fix.

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

7 years agoTileController can fail to receive exposedRect from the drawing area if set at the...
timothy_horton@apple.com [Tue, 7 Jan 2014 20:52:20 +0000 (20:52 +0000)]
TileController can fail to receive exposedRect from the drawing area if set at the wrong time
https://bugs.webkit.org/show_bug.cgi?id=126536

Reviewed by Anders Carlsson.

Move exposedRect to FrameView so it can be pushed in from WebKit before we have
a TiledBacking, and can be retrieved by the TiledBacking when it needs to.

* WebCore.exp.in:
Export some things.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::setExposedRect):
* page/FrameView.h:
Store the exposed rect on FrameView. When it changes, if the main frame
has a TiledBacking, inform it of the change.

* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::exposedRect):
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayerClient.h:
Plumbing so that TileController can retrieve the exposedRect from FrameView.

* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::platformCALayerExposedRect):
(WebCore::TileController::tilesWouldChangeForVisibleRect):
(WebCore::TileController::exposedRectDidChange):
(WebCore::TileController::computeTileCoverageRect):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::updateTileCoverageMap):
Don't store the exposed rect or clipsToExposedRect on TileController.
Instead, retrieve it from our client.
Make use of the fact that we can test if a rect is infinite
instead of having a separate boolean property for that.

* rendering/RenderLayerBacking.cpp:
(WebCore::computeTileCoverage):
(WebCore::RenderLayerBacking::exposedRect):
Hand the FrameView's exposedRect back to our GraphicsLayer.
We only support clipping for the main frame TileController for now.

* rendering/RenderLayerBacking.h:

* UIProcess/API/mac/WKView.mm:
(-[WKView _updateViewExposedRect]):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::DrawingAreaProxy):
(WebKit::DrawingAreaProxy::setExposedRect):
(WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::exposedRect):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
* UIProcess/WebPageProxy.h:
Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
Push the exposedRect down into WebCore.

* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
to indicate that now.
Don't scroll an infinite rect; it won't work.

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

7 years agor161364 caused JSC tests regression on non-DFG builds (e.g. C Loop and Windows).
mark.lam@apple.com [Tue, 7 Jan 2014 20:47:50 +0000 (20:47 +0000)]
r161364 caused JSC tests regression on non-DFG builds (e.g. C Loop and Windows).
https://bugs.webkit.org/show_bug.cgi?id=126589.

Reviewed by Filip Pizlo.

After the removal of ENABLE(VALUE_PROFILER), the LLINT is now expecting the
relevant opcode operands to point to ValueProfiler data structures and will
write profiling data into them. Hence, we need to allocate these data
structures even though the profiling data won't be used in non-DFG builds.

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

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

7 years agoUnreviewed test expectation update.
bfulgham@apple.com [Tue, 7 Jan 2014 20:03:55 +0000 (20:03 +0000)]
Unreviewed test expectation update.

* platform/mac/TestExpectations: Mark webgl/1.0.2/conformance/rendering/gl-scissor-test.html as flaky on
Mavericks Debug.

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

7 years agoREGRESSION(r161381): [GTK] Rendering is broken in GTK after r161381
carlosgc@webkit.org [Tue, 7 Jan 2014 20:01:31 +0000 (20:01 +0000)]
REGRESSION(r161381): [GTK] Rendering is broken in GTK after r161381
https://bugs.webkit.org/show_bug.cgi?id=126570

Reviewed by Tim Horton.

Use LayoutRect::infiniteRect() instead of IntRect::infiniteRect()
when a LayoutRect is expected.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::fragmentsBoundingBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::clipBox):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::clippedByAncestor):

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

7 years agoThere should be a delay when quickly switching to a different popover at build.webkit...
ap@apple.com [Tue, 7 Jan 2014 19:36:11 +0000 (19:36 +0000)]
There should be a delay when quickly switching to a different popover at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126472

Reviewed by Timothy Hatcher.

Added a delay when quickly switching to a different popover, making it easier to
move mouse pointer from active element to its popover without accidentally opening
a different popover.

Used this code to add a delay before creating a popover. This doesn't change UI
behavior, as there was alerady a delay before it became visible, but it avoids
flooding buildbot server with http requests when quickly moving the mouse over
dashboard page.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Popover.js:
Fixed a case where popover could get stuck. If content was updated while fade-out
transition was already in place, the transition was removed for no good reason.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/PopoverTracker.js:
(PopoverTracker._onblur): While at it, also taught popovers to disappear on window blur.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Popover.css:
(.popover.step-in): Now that PopoverTracker has a 200ms delay of its own, reduced
popover delay from 1s to 800ms.

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

7 years agoImprove display of failed builds at build.webkit.org/dashboard
ap@apple.com [Tue, 7 Jan 2014 19:35:29 +0000 (19:35 +0000)]
Improve display of failed builds at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126542
<rdar://problem/15753550>

Reviewed by Timothy Hatcher.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
Instead of hardcoding step name, look for the first step that failed.
While at it, added a popover with more links. There are multiple, and it's good
to have a choice of which one to look at in each situation.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype.get successful): Being successful is not the opposite
of having failed. Many iterations are interrupted for whatever reason internal to
Buildbot, and these are suppoed to be orange, not red.
(BuildbotIteration.prototype.get productive): Changed to exclude inerrupted iterations,
not only WillRetry ones.
(BuildbotIteration.prototype.get failed): Changed to only include iterations that
actually failed, more likely indicating a problem with code base.
(BuildbotIteration.prototype.get firstFailedStepName):
(BuildbotIteration.prototype.failureLogURL): Expose informaiton about failure.
(BuildbotIteration.prototype.get failureLogs): Ditto.
(BuildbotIteration.prototype.update): Store complete results for the failed step.
Not every failure stops the iteration, so we could have multiple failed steps,
but let's see if seeing just the first one will be enough.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.get firstRecentUnsuccessfulIteration): Updated to work in
terms of successful iterations.
(BuildbotQueue.prototype.get mostRecentSuccessfulIteration): Ditto.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus): Updated to work in
terms of successful iterations.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
Removed code to create a path to build output, we now take it from results JSON.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:
Added styles for the new popover.

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

7 years agoASSERT in compileArithNegate on pdfjs
fpizlo@apple.com [Tue, 7 Jan 2014 19:14:59 +0000 (19:14 +0000)]
ASSERT in compileArithNegate on pdfjs
https://bugs.webkit.org/show_bug.cgi?id=126584

Reviewed by Mark Hahnenberg.

Check negative zero when we should check it, not when we shouldn't check it. :-/

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithNegate):

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

7 years agopushFinallyContext saves wrong m_labelScopes size
rgabor@webkit.org [Tue, 7 Jan 2014 19:10:51 +0000 (19:10 +0000)]
pushFinallyContext saves wrong m_labelScopes size
https://bugs.webkit.org/show_bug.cgi?id=124529

Remove free label scopes before saving finally context.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::pushFinallyContext):

LayoutTests:

* js/script-tests/try-return-finally-break.js: Added.
(foo):
* js/try-return-finally-break-expected.txt: Added.
* js/try-return-finally-break.html: Added.

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

7 years ago[CSS Shapes] Change default value from 'auto' to 'none'
betravis@adobe.com [Tue, 7 Jan 2014 18:59:32 +0000 (18:59 +0000)]
[CSS Shapes] Change default value from 'auto' to 'none'
https://bugs.webkit.org/show_bug.cgi?id=126544

Reviewed by Sam Weinig.

Source/WebCore:

Update the CSS infrastructure to accept 'none' as the default value
for shape-inside and shape-outside.

Updated existing parsing tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseShapeProperty):
* rendering/style/ShapeValue.h:

LayoutTests:

Change the default value to 'none', and replace 'none' with 'auto' in the
list of invalid values.

* fast/shapes/css-shapes-disabled-expected.txt:
* fast/shapes/css-shapes-disabled.html:
* fast/shapes/parsing/parsing-shape-inside-expected.txt:
* fast/shapes/parsing/parsing-shape-inside.html:
* fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths.html:
* fast/shapes/parsing/parsing-shape-margin-expected.txt:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-shape-outside.html:
* fast/shapes/parsing/parsing-shape-padding-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:

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