⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Nov 16, 2013:

7:49 PM Changeset in webkit [159384] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation of JSActivation.h.

Rubber stamped by Mark Hahnenberg.

  • runtime/JSActivation.h:
7:41 PM Changeset in webkit [159383] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation of JSVariableObject.h.

Rubber stamped by Mark Hahnenberg.

I'm about to do some damage to this file. I wanted to give it some sanity first.

  • runtime/JSVariableObject.h:
3:19 PM Changeset in webkit [159382] by timothy_horton@apple.com
  • 3 edits
    1 add in trunk/Tools

Checkmarks are shifted down on iPhone at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122909

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/checkmark.svg: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:

(StatusLineView.prototype.set repeatCount):

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

(.status-line.good .bubble.pictogram):
Use an SVG image instead of an obscure font for the checkboxes so they
render identically on all platforms.

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

[sh4] Fix build (broken since r159346).
https://bugs.webkit.org/show_bug.cgi?id=124455

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-16
Reviewed by Oliver Hunt.

Fix LLINT implementation for sh4 architecture to handle properly load and store operations with pr register.

  • offlineasm/sh4.rb:
11:14 AM Changeset in webkit [159380] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

WebCrypto no longer uses sequences of ArrayBuffers
https://bugs.webkit.org/show_bug.cgi?id=124451

Build fix.

  • crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::calculateSignature):

Now that the function became shorter, clang realized that a variable was used
uninitialized in an impossible code path.

10:58 AM Changeset in webkit [159379] by ap@apple.com
  • 48 edits in trunk

WebCrypto no longer uses sequences of ArrayBuffers
https://bugs.webkit.org/show_bug.cgi?id=124451

Reviewed by Sam Weinig.

Source/WebCore:

Covered by existing tests.

Changed all operations to take single CryptoOperationData objects.

  • bindings/js/JSCryptoOperationData.cpp:
  • bindings/js/JSCryptoOperationData.h:
  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::digest):

  • crypto/CryptoAlgorithm.cpp:

(WebCore::CryptoAlgorithm::encrypt):
(WebCore::CryptoAlgorithm::decrypt):
(WebCore::CryptoAlgorithm::sign):
(WebCore::CryptoAlgorithm::verify):
(WebCore::CryptoAlgorithm::digest):

  • crypto/CryptoAlgorithm.h:
  • crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):

  • crypto/algorithms/CryptoAlgorithmAES_CBC.h:
  • crypto/algorithms/CryptoAlgorithmHMAC.h:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmSHA1.cpp:

(WebCore::CryptoAlgorithmSHA1::digest):

  • crypto/algorithms/CryptoAlgorithmSHA1.h:
  • crypto/algorithms/CryptoAlgorithmSHA224.cpp:

(WebCore::CryptoAlgorithmSHA224::digest):

  • crypto/algorithms/CryptoAlgorithmSHA224.h:
  • crypto/algorithms/CryptoAlgorithmSHA256.cpp:

(WebCore::CryptoAlgorithmSHA256::digest):

  • crypto/algorithms/CryptoAlgorithmSHA256.h:
  • crypto/algorithms/CryptoAlgorithmSHA384.cpp:

(WebCore::CryptoAlgorithmSHA384::digest):

  • crypto/algorithms/CryptoAlgorithmSHA384.h:
  • crypto/algorithms/CryptoAlgorithmSHA512.cpp:

(WebCore::CryptoAlgorithmSHA512::digest):

  • crypto/algorithms/CryptoAlgorithmSHA512.h:
  • crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:

(WebCore::transformAES_CBC):
(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):

  • crypto/mac/CryptoAlgorithmHMACMac.cpp:

(WebCore::calculateSignature):
(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):

  • crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:

LayoutTests:

Updated tests accordingly.

  • crypto/subtle/aes-cbc-192-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-import-jwk.html:
  • crypto/subtle/aes-cbc-wrong-key-class-expected.txt:
  • crypto/subtle/aes-cbc-wrong-key-class.html:
  • crypto/subtle/argument-conversion-expected.txt:
  • crypto/subtle/argument-conversion.html:
  • crypto/subtle/hmac-import-jwk.html:
  • crypto/subtle/hmac-sign-verify-empty-key.html:
  • crypto/subtle/hmac-sign-verify.html:
  • crypto/subtle/rsassa-pkcs1-v1_5-sign-verify.html:
  • crypto/subtle/sha-1-expected.txt:
  • crypto/subtle/sha-1.html:
  • crypto/subtle/sha-224-expected.txt:
  • crypto/subtle/sha-224.html:
  • crypto/subtle/sha-256-expected.txt:
  • crypto/subtle/sha-256.html:
  • crypto/subtle/sha-384-expected.txt:
  • crypto/subtle/sha-384.html:
  • crypto/subtle/sha-512-expected.txt:
  • crypto/subtle/sha-512.html:
2:08 AM Changeset in webkit [159378] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove the include of LineWidth.h from SimpleLineLayoutFunctions.cpp
<https://webkit.org/b/124449>

Reviewed by Antti Koivisto.

I removed the include of LineWidth, since SimpleLineLayoutFunctions.cpp doesn't use it.

No new tests, no behavior change.

  • rendering/SimpleLineLayoutFunctions.cpp:

Nov 15, 2013:

11:10 PM Changeset in webkit [159377] by ap@apple.com
  • 18 edits in trunk

Support exporting symmetric keys as JWK
https://bugs.webkit.org/show_bug.cgi?id=124442

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • runtime/JSONObject.h: Export JSONStringify.

Source/WebCore:

Error handling is not consistent yet - some errors cause exceptions, and others
result in rejected promises. This part of spec is incomplete, so I basically did
what was most straightforward in each case.

  • bindings/js/JSCryptoKeySerializationJWK.h:
  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Updated a comment with a better link.
(WebCore::JSCryptoKeySerializationJWK::buildJSONForOctetSequence): A helper to building JWK.
(WebCore::JSCryptoKeySerializationJWK::addToJSON): Ditto.
(WebCore::JSCryptoKeySerializationJWK::addBoolToJSON): Ditto.
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON): Ditto. The code for
mapping is my best guess, this all needs to be specified.
(WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON): A helper to building JWK.
(WebCore::JSCryptoKeySerializationJWK::serialize): Build a JSON string for the key.

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::importKey): Updated a comment.
(WebCore::JSSubtleCrypto::exportKey): Use CryptoKeySerialization (also for raw keys,
for consistency).

  • crypto/CryptoKey.h:

(WebCore::CryptoKey::algorithmIdentifier):
(WebCore::CryptoKey::usagesBitmap):
Exposed data needed for building JWK (it used to be only exposed in a form suitable
for DOM accessors).

  • crypto/keys/CryptoKeyHMAC.h: Ditto, added an accessor for JWK.
  • crypto/keys/CryptoKeySerializationRaw.cpp: (WebCore::CryptoKeySerializationRaw::serialize):
  • crypto/keys/CryptoKeySerializationRaw.h:

Moved from JSSubtleCryptoCustom.cpp for consistency.

Source/WTF:

Base64URL encoding doesn't use '=' padding, and doesn't need any other options.
Added this mode for encode, and removed policy arguments from exposed functions.

  • wtf/text/Base64.cpp:

(WTF::base64EncodeInternal):
(WTF::base64URLEncode):
(WTF::base64URLDecode):

  • wtf/text/Base64.h:

(WTF::base64URLEncode):

LayoutTests:

  • crypto/subtle/aes-export-key-expected.txt:
  • crypto/subtle/aes-export-key.html:
  • crypto/subtle/hmac-export-key-expected.txt:
  • crypto/subtle/hmac-export-key.html:
7:25 PM Changeset in webkit [159376] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[Win] JavaScript crashes on 64-bit with JIT enabled.
https://bugs.webkit.org/show_bug.cgi?id=124409

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-15
Reviewed by Michael Saboff.

These are issues found with JIT on 64-bit:

  • The registers rsi and rdi in callToJavaScript needs to be saved and restored. This is required by the Windows 64-bit ABI.
  • The getHostCallReturnValue function needs to be updated according to it's GCC counterpart.
  • The poke argument offset needs to be 20h, because Windows 64-bit ABI requires stack space allocated for the 4 argument registers.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Re-added JITStubsMSVC64.asm to project.
  • jit/CCallHelpers.h: Set poke argument offset.

(JSC::CCallHelpers::setupArguments): Compile fix, added needed method.

  • jit/JITStubsMSVC64.asm: Save and restore registers rsi and rdi.

Update getHostCallReturnValue according to the GCC version.

5:32 PM Changeset in webkit [159375] by roger_fong@apple.com
  • 2 edits in trunk/Source/ThirdParty

Unreviewed, gtest project file cleanup.

  • gtest/msvc/gtest-md.vcxproj:
5:28 PM Changeset in webkit [159374] by Simon Fraser
  • 3 edits
    1 delete in trunk/LayoutTests

Make results.html more sane
https://bugs.webkit.org/show_bug.cgi?id=124446

Reviewed by Sam Weinig.

Fix various issues with results.html:

  • make it use page scrolling, not overflow scrolling
  • remove -webkit-flex stuff that wasn't doing anything
  • prettify the floating overlay for flagged tests
  • pull some markup out of the JS and into the HTML
  • remove the self-testing, which provides very little reward.
  • fast/harness/resources/results-test.js: Removed.
  • fast/harness/results-expected.txt:
  • fast/harness/results.html:
5:16 PM Changeset in webkit [159373] by beidson@apple.com
  • 6 edits
    2 adds in trunk/Source/WebCore

Move IDBCursorBackend operations into their own files
https://bugs.webkit.org/show_bug.cgi?id=124444

Reviewed by Tim Horton.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBCursorBackend.cpp:
  • Modules/indexeddb/IDBCursorBackend.h:

(WebCore::IDBCursorBackend::cursorType):
(WebCore::IDBCursorBackend::deprecatedBackingStoreCursor):
(WebCore::IDBCursorBackend::deprecatedSetBackingStoreCursor):
(WebCore::IDBCursorBackend::deprecatedSetSavedBackingStoreCursor):

  • Modules/indexeddb/IDBCursorBackendOperations.cpp: Added.

(WebCore::CallOnDestruct::CallOnDestruct):
(WebCore::CallOnDestruct::~CallOnDestruct):
(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):
(WebCore::CursorPrefetchIterationOperation::perform):

  • Modules/indexeddb/IDBCursorBackendOperations.h: Added.

(WebCore::CursorIterationOperation::create):
(WebCore::CursorIterationOperation::CursorIterationOperation):
(WebCore::CursorAdvanceOperation::create):
(WebCore::CursorAdvanceOperation::CursorAdvanceOperation):
(WebCore::CursorPrefetchIterationOperation::create):
(WebCore::CursorPrefetchIterationOperation::CursorPrefetchIterationOperation):

5:10 PM Changeset in webkit [159372] by timothy_horton@apple.com
  • 3 edits in trunk/LayoutTests

results.html should have a link to historical results for a test/all failing tests
https://bugs.webkit.org/show_bug.cgi?id=124402

Reviewed by Simon Fraser.

  • fast/harness/results.html:
  • fast/harness/resources/results-test.js:

Add the link to timeout/crash results too.

4:55 PM Changeset in webkit [159371] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed EFL build fix after r159358.

  • UIProcess/efl/PagePolicyClientEfl.cpp:

(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):

  • UIProcess/efl/PagePolicyClientEfl.h:
4:22 PM Changeset in webkit [159370] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html is slow, frequently > 30 second timeout
https://bugs.webkit.org/show_bug.cgi?id=124373

  • platform/mac/TestExpectations:

Mark test as timeout as well, since that happens sometimes too.

4:11 PM Changeset in webkit [159369] by dfarler@apple.com
  • 4 edits in trunk/Source

Copy ASAN flag settings to WebCore and JavaScriptCore intermediate build tools
https://bugs.webkit.org/show_bug.cgi?id=124362

Reviewed by David Kilzer.

Source/JavaScriptCore:

  • Configurations/ToolExecutable.xcconfig:

Use ASAN_C*FLAGS.

Source/WebCore:

No new tests needed.

  • WebCore.xcodeproj/project.pbxproj:

Use ASAN_C*FLAGS for WebCoreExportFileGenerator.

4:01 PM Changeset in webkit [159368] by jer.noble@apple.com
  • 7 edits in trunk/Source/WebCore

[Mac][AVF] Allow video and audio tracks to be initialized with an AVAssetTrack.
https://bugs.webkit.org/show_bug.cgi?id=124421

Reviewed by Eric Carlson.

Currently, VideoTrackPrivateAVFObjC and AudioTrackPrivateAVFObjC are initialized with an
AVPlayerItemTrack, but most of its methods use the AVAssetTrack wrapped by the
AVPlayerItemTrack. Allow these objects to be alternatively initialized with an AVAssetTrack.

Add factory methods taking an AVAssetTrack:

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

(WebCore::AudioTrackPrivateAVFObjC::create):

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

(WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC):
(WebCore::AudioTrackPrivateAVFObjC::setAssetTrack):
(WebCore::AudioTrackPrivateAVFObjC::assetTrack):

  • platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:

(WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC):
(WebCore::VideoTrackPrivateAVFObjC::setAssetTrack):
(WebCore::VideoTrackPrivateAVFObjC::assetTrack):

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

Use m_assetTrack instead of [m_playerItemTrack assetTrack]:

  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:

(WebCore::AVTrackPrivateAVFObjCImpl::assetTrack):

  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:

(WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl):
(WebCore::AVTrackPrivateAVFObjCImpl::enabled):
(WebCore::AVTrackPrivateAVFObjCImpl::setEnabled):
(WebCore::AVTrackPrivateAVFObjCImpl::audioKind):
(WebCore::AVTrackPrivateAVFObjCImpl::videoKind):
(WebCore::AVTrackPrivateAVFObjCImpl::id):
(WebCore::AVTrackPrivateAVFObjCImpl::label):
(WebCore::AVTrackPrivateAVFObjCImpl::language):
(WebCore::AVTrackPrivateAVFObjCImpl::trackID):

3:50 PM Changeset in webkit [159367] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit/win

Unreviewed Win build fix; setCurrentTime() no longer takes an exception parameter.

  • FullscreenVideoController.cpp:

(FullscreenVideoController::setCurrentTime):

3:47 PM Changeset in webkit [159366] by mhahnenberg@apple.com
  • 2 edits
    2 deletes in trunk/Source/JavaScriptCore

Remove JSChunk
https://bugs.webkit.org/show_bug.cgi?id=124435

Reviewed by Geoffrey Garen.

It's empty and has been since it was added 3 years ago.

  • CMakeLists.txt:
  • runtime/JSChunk.cpp: Removed.
  • runtime/JSChunk.h: Removed.
3:44 PM Changeset in webkit [159365] by beidson@apple.com
  • 9 edits in trunk/Source

Let IDBDatabaseBackend create IDBTransactionBackend's directly
https://bugs.webkit.org/show_bug.cgi?id=124438

Reviewed by Beth Dakin.

Source/WebCore:

Create IDBTransactionBackends directly:

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::createTransaction):

  • Modules/indexeddb/IDBDatabaseBackend.h:

Remove maybeCreateTransactionBackend():

  • Modules/indexeddb/IDBFactoryBackendInterface.h:
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

Source/WebKit2:

Remove maybeCreateTransactionBackend():

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
3:42 PM Changeset in webkit [159364] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

Occasionally, hundreds of tests fail with small text diffs on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=124312

Reviewed by Alexey Proskuryakov.

Try reverting the part of r158652 that deleted all of the persistent
defaults, in the thought that there might be some sort of race between
processes causing some settings to be left in the wrong state.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting):

  • WebKitTestRunner/mac/main.mm:

(setDefaultsToConsistentValuesForTesting):

3:38 PM Changeset in webkit [159363] by jer.noble@apple.com
  • 12 edits
    2 deletes in trunk

HTMLMediaElement should not throw an exception from setCurrentTime or fastSeek.
https://bugs.webkit.org/show_bug.cgi?id=124294

Reviewed by Eric Carlson.

Source/WebCore:

Update the seek logic to match the current specification. This means removing exception
throwing from both the .idl and the implementation.

Remove the ExceptionCode parameter from setCurrentTime and fastSeek:

  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::fastSeek):
(HTMLMediaElement::seek):
(HTMLMediaElement::seekWithTolerance):
(HTMLMediaElement::setCurrentTime):

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

(MediaController::setCurrentTime):

  • html/MediaController.h:
  • html/MediaController.idl:
  • html/MediaControllerInterface.h:

Do not pass in an ExceptionCode placeholder when calling seek:

  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::rewind):
(HTMLMediaElement::returnToRealtime):
(HTMLMediaElement::finishSeek):
(HTMLMediaElement::playInternal):
(HTMLMediaElement::mediaPlayerTimeChanged):
(HTMLMediaElement::mediaPlayerDurationChanged):
(HTMLMediaElement::applyMediaFragmentURI):

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

(MediaController::bringElementUpToSpeed):

  • html/MediaController.h:
  • html/MediaController.idl:
  • html/MediaControllerInterface.h:
  • html/shadow/MediaControlElementTypes.cpp:

(WebCore::MediaControlSeekButtonElement::seekTimerFired):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlRewindButtonElement::defaultEventHandler):
(WebCore::MediaControlTimelineElement::defaultEventHandler):

  • platform/mac/WebVideoFullscreenHUDWindowController.mm:

(-[WebVideoFullscreenHUDWindowController setCurrentTime:]):

LayoutTests:

  • media/video-seek-no-src-exception-expected.txt: Removed.
  • media/video-seek-no-src-exception.html: Removed.
3:22 PM Changeset in webkit [159362] by beidson@apple.com
  • 11 edits in trunk/Source

Remove last vestiges of IDBBackingStore* from IDBTransactionBackend.
https://bugs.webkit.org/show_bug.cgi?id=124436

Reviewed by Tim Horton.

Source/WebCore:

  • Modules/indexeddb/IDBFactoryBackendInterface.h: Removed createCursorBackend.
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Removed createCursorBackend.
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Removed createCursorBackend.
  • Modules/indexeddb/IDBCursorBackend.h:
  • Modules/indexeddb/IDBTransactionBackend.cpp:
  • Modules/indexeddb/IDBTransactionBackend.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::openCursor):

Source/WebKit2:

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed createCursorBackend.
  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
3:21 PM Changeset in webkit [159361] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test editing/selection/5057506.html frequently times out on Mac WK2
https://bugs.webkit.org/show_bug.cgi?id=124437

  • platform/mac-wk2/TestExpectations:

Mark aforementioned test as a flaky-timeout.

2:47 PM Changeset in webkit [159360] by mhahnenberg@apple.com
  • 15 edits
    2 deletes in trunk/Source

Remove VTableSpectrum
https://bugs.webkit.org/show_bug.cgi?id=124427

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

(JSC::Heap::lastChanceToFinalize):

  • heap/Heap.h:
  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::callDestructor):

  • heap/SlotVisitor.cpp:

(JSC::visitChildren):

  • heap/SlotVisitor.h:
  • heap/VTableSpectrum.cpp: Removed.
  • heap/VTableSpectrum.h: Removed.

Source/WebKit/blackberry:

  • WebCoreSupport/AboutDataEnableFeatures.in:

Source/WTF:

  • wtf/Platform.h:
2:24 PM Changeset in webkit [159359] by beidson@apple.com
  • 9 edits
    2 moves in trunk/Source/WebCore

Make IDBIndexWriter a LevelDB specific concept
https://bugs.webkit.org/show_bug.cgi?id=124434

Reviewed by Tim Horton.

This includes renaming the class and moving it into the leveldb subdirectory.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBBackingStoreInterface.h:
  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::IDBBackingStoreLevelDB::makeIndexWriters):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBIndexWriter.cpp.

(WebCore::IDBIndexWriterLevelDB::IDBIndexWriterLevelDB):
(WebCore::IDBIndexWriterLevelDB::writeIndexKeys):
(WebCore::IDBIndexWriterLevelDB::verifyIndexKeys):
(WebCore::IDBIndexWriterLevelDB::addingKeyAllowed):

  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBIndexWriter.h.

(WebCore::IDBIndexWriterLevelDB::create):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::setIndexKeys):
(WebCore::IDBServerConnectionLevelDB::put):

2:22 PM Changeset in webkit [159358] by mitz@apple.com
  • 20 edits in trunk

Give the policy client the originating frame of a navigation action
https://bugs.webkit.org/show_bug.cgi?id=124431

Reviewed by Anders Carlsson.

Source/WebKit2:

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction): Added a seventh message parameter to this template.

  • Shared/APIClientTraits.cpp: Defined API traits for WKPagePolicyClient, which now has two

versions.

  • Shared/APIClientTraits.h: Declared APIClientTraits<WKPagePolicyClient>.
  • UIProcess/API/C/WKPage.h: Added an originatingFrame parameter to

WKPageDecidePolicyForNavigationActionCallback and deprecated the old version. Bumped the
policy client version to 1.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(setUpPagePolicyClient): Include the originating frame’s URL under the a new key in the
action information dictionary.

  • UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared

WKActionOriginatingFrameURLKey.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::decidePolicyForNavigationAction): Added originatingFrame parameter.
(WebKit::WebInspectorProxy::createInspectorPage): Updated to the new version of the policy
client interface.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originatingFrameID parameter
and passing the originating frame to the policy client.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added originatingFrameID paremeter to

DecidePolicyForNavigationAction.

  • UIProcess/WebPolicyClient.cpp:

(WebKit::WebPolicyClient::decidePolicyForNavigationAction): Added originatingFrame
parameter, which is passed to the client callback.

  • UIProcess/WebPolicyClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Determine the
originating frame for link activation and form submission actions and send its ID in the
DecidePolicyForNavigationAction message.

Tools:

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(decidePolicyForNavigationAction): Added originatingFrame parameter.
(-[WK2BrowserWindowController awakeFromNib]): Updated for the new version of the policy
client.

  • TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:

(TestWebKitAPI::decidePolicyForNavigationAction): Added originatingFrame parameter.
(TestWebKitAPI::setPagePolicyClient): Updated for the new version of the policy client.

  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:

(TestWebKitAPI::decidePolicyForNavigationAction): Added originatingFrame parameter.
(TestWebKitAPI::TEST): Updated for the new version of the policy client.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions): Updated for the new version of the policy
client.
(WTR::TestController::decidePolicyForNavigationAction): Added originatingFrame parameter.

  • WebKitTestRunner/TestController.h:
2:08 PM Changeset in webkit [159357] by Alexandru Chiculita
  • 12 edits
    13 adds in trunk

Web Inspector: DOM.performSearch should accept a list of context nodes
https://bugs.webkit.org/show_bug.cgi?id=124390

Reviewed by Timothy Hatcher.

Source/WebCore:

Extracted the code in InspectorDOMAgent::performSearch into its own helper class
called InspectorNodeFinder. Also added a new array parameter called "nodeIds"
that can be used to limit the search results to just partial subtrees.

Tests: inspector-protocol/dom/dom-search-crash.html

inspector-protocol/dom/dom-search-with-context.html
inspector-protocol/dom/dom-search.html

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/protocol/DOM.json:
  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::performSearch):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorNodeFinder.cpp: Added.

(WebCore::stripCharacters):
(WebCore::InspectorNodeFinder::InspectorNodeFinder):
(WebCore::InspectorNodeFinder::performSearch):
(WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal):
(WebCore::InspectorNodeFinder::matchesAttribute):
(WebCore::InspectorNodeFinder::matchesElement):
(WebCore::InspectorNodeFinder::searchUsingXPath):
(WebCore::InspectorNodeFinder::searchUsingCSSSelectors):

  • inspector/InspectorNodeFinder.h: Added.

(WebCore::InspectorNodeFinder::results):

LayoutTests:

Added new inspector-protocol tests to check for the DOM.performSearch implementation.
Also, ported an existing test from the old "inspector" format.

  • http/tests/inspector-protocol/resources/InspectorDOMListener.js: Added boilerplate code that

can be used to track node ids and class names.
(createDOMListener.createNodeAttributesMap):
(createDOMListener.collectNode):
(createDOMListener.onSetChildNodes):
(createDOMListener.onChildNodeRemoved):
(createDOMListener.onChildNodeInserted):
(createDOMListener.return.getNodeById):
(createDOMListener.return.getNodeIdentifier):

  • http/tests/inspector-protocol/resources/InspectorTest.js:

(InspectorFrontendAPI.dispatchMessageAsync): Added a way to catch all the messages received in the inspector.
It is useful for debugging the test file.
(InspectorTest.addEventListener): Helper method to register multiple handlers for the same event.

  • inspector-protocol/dom/dom-search-crash-expected.txt: Added.
  • inspector-protocol/dom/dom-search-crash.html: Added.
  • inspector-protocol/dom/dom-search-expected.txt: Added.
  • inspector-protocol/dom/dom-search-with-context-expected.txt: Added.
  • inspector-protocol/dom/dom-search-with-context.html: Added.
  • inspector-protocol/dom/dom-search.html: Added.
  • inspector-protocol/dom/resources/dom-search-crash-iframe.html: Cloned from inspector/dom/resources/dom-search-crash-iframe.html
  • inspector-protocol/dom/resources/dom-search-iframe.html: Added.
  • inspector-protocol/dom/resources/dom-search-queries.js: Added.
2:07 PM Changeset in webkit [159356] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Make lint-test-expectations pass for platform/win

  • platform/win/TestExpectations:

I always kept the stronger expectation in the case of duplicates.

1:59 PM Changeset in webkit [159355] by beidson@apple.com
  • 5 edits in trunk/Source/WebCore

Remove IDBBackingStoreInterface.h includes that are no longer needed
https://bugs.webkit.org/show_bug.cgi?id=124433

Reviewed by Tim Horton.

  • Modules/indexeddb/IDBCursorBackend.cpp:
  • Modules/indexeddb/IDBCursorBackend.h:
  • Modules/indexeddb/IDBFactoryBackendInterface.h:
  • Modules/indexeddb/IDBTransactionBackend.h:
1:40 PM Changeset in webkit [159354] by zoltan@webkit.org
  • 8 edits
    1 move
    6 adds in trunk/Source/WebCore

Move BreakingContext and LineBreaker into their own files
<https://webkit.org/b/124336>

Reviewed by David Hyatt.

In this change I introduced 'line' subdirectory inside 'rendering', this directory will contain all the classes
which have been refactored from RenderBlockLineLayout.cpp. This change contains the separation of BreakingContext,
and the separation of LineBreaker classes. Since I wanted to keep the helper functions organized, I also added a
new file called LineInlineHeaders.h, which contains the functions which used in LineBreaker.h and BreakingContext.h.
I moved LineInfo class into line directory. It was necessary this time, since I added a cpp for it. I'll move the
rest of the line layout related helper classes later. (I wanted to minimize merge conflicts.)

No new tests, no behavior change.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCoreCommon.props:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::createRun):

  • rendering/line/BreakingContextInlineHeaders.h: Added.

(WebCore::WordMeasurement::WordMeasurement):
(WebCore::TrailingObjects::TrailingObjects):
(WebCore::TrailingObjects::setTrailingWhitespace):
(WebCore::TrailingObjects::clear):
(WebCore::TrailingObjects::appendBoxIfNeeded):
(WebCore::deprecatedAddMidpoint):
(WebCore::startIgnoringSpaces):
(WebCore::stopIgnoringSpaces):
(WebCore::ensureLineBoxInsideIgnoredSpaces):
(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
(WebCore::BreakingContext::BreakingContext):
(WebCore::BreakingContext::currentObject):
(WebCore::BreakingContext::lineBreak):
(WebCore::BreakingContext::lineBreakRef):
(WebCore::BreakingContext::lineWidth):
(WebCore::BreakingContext::atEnd):
(WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
(WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
(WebCore::BreakingContext::initializeForCurrentObject):
(WebCore::BreakingContext::increment):
(WebCore::BreakingContext::handleBR):
(WebCore::borderPaddingMarginStart):
(WebCore::borderPaddingMarginEnd):
(WebCore::shouldAddBorderPaddingMargin):
(WebCore::previousInFlowSibling):
(WebCore::inlineLogicalWidth):
(WebCore::BreakingContext::handleOutOfFlowPositioned):
(WebCore::BreakingContext::handleFloat):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::BreakingContext::handleEmptyInline):
(WebCore::BreakingContext::handleReplaced):
(WebCore::firstPositiveWidth):
(WebCore::updateSegmentsForShapes):
(WebCore::iteratorIsBeyondEndOfRenderCombineText):
(WebCore::nextCharacter):
(WebCore::updateCounterIfNeeded):
(WebCore::measureHyphenWidth):
(WebCore::textWidth):
(WebCore::ensureCharacterGetsLineBox):
(WebCore::tryHyphenating):
(WebCore::BreakingContext::handleText):
(WebCore::textBeginsWithBreakablePosition):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
(WebCore::checkMidpoints):
(WebCore::BreakingContext::handleEndOfLine):

  • rendering/line/LineBreaker.cpp: Added.

(WebCore::LineBreaker::reset):
(WebCore::LineBreaker::skipTrailingWhitespace):
(WebCore::LineBreaker::skipLeadingWhitespace):

  • rendering/line/LineBreaker.h: Added.

(WebCore::LineBreaker::LineBreaker):
(WebCore::LineBreaker::lineWasHyphenated):
(WebCore::LineBreaker::positionedObjects):
(WebCore::LineBreaker::clear):

  • rendering/line/LineInfo.cpp: Added.

(WebCore::LineInfo::setEmpty):

  • rendering/line/LineInfo.h: Renamed from Source/WebCore/rendering/LineInfo.h.

(WebCore::LineInfo::LineInfo):
(WebCore::LineInfo::isFirstLine):
(WebCore::LineInfo::isLastLine):
(WebCore::LineInfo::isEmpty):
(WebCore::LineInfo::previousLineBrokeCleanly):
(WebCore::LineInfo::floatPaginationStrut):
(WebCore::LineInfo::runsFromLeadingWhitespace):
(WebCore::LineInfo::resetRunsFromLeadingWhitespace):
(WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
(WebCore::LineInfo::setFirstLine):
(WebCore::LineInfo::setLastLine):
(WebCore::LineInfo::setPreviousLineBrokeCleanly):
(WebCore::LineInfo::setFloatPaginationStrut):

  • rendering/line/LineInlineHeaders.h: Added.

(WebCore::hasInlineDirectionBordersPaddingOrMargin):
(WebCore::lineStyle):
(WebCore::requiresLineBoxForContent):
(WebCore::shouldCollapseWhiteSpace):
(WebCore::skipNonBreakingSpace):
(WebCore::alwaysRequiresLineBox):
(WebCore::requiresLineBox):
(WebCore::setStaticPositions):

12:57 PM Changeset in webkit [159353] by beidson@apple.com
  • 16 edits in trunk/Source

Move execution of IDBTransactionBackendOperations to the IDBServerConnection
https://bugs.webkit.org/show_bug.cgi?id=124385

Reviewed by Tim Horton.

Source/WebCore:

Each IDBOperation has it’s ::perform() moved to a method on IDBServerConnection.
This almost removes all knowledge of the backing stores from the front end.

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::clearObjectStore):
(WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):

  • Modules/indexeddb/IDBDatabaseBackend.h:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::clear):

Add methods to reflect each transaction backend operation:

  • Modules/indexeddb/IDBServerConnection.h:

Schedule certain operations with callbacks:

  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::scheduleVersionChangeOperation):
(WebCore::IDBTransactionBackend::schedulePutOperation):
(WebCore::IDBTransactionBackend::scheduleOpenCursorOperation):
(WebCore::IDBTransactionBackend::scheduleCountOperation):
(WebCore::IDBTransactionBackend::scheduleDeleteRangeOperation):
(WebCore::IDBTransactionBackend::scheduleClearObjectStoreOperation):

  • Modules/indexeddb/IDBTransactionBackend.h:

Make each operation’s perform() method defer to the IDBServerConnection (with a callback):

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::CreateObjectStoreOperation::perform):
(WebCore::CreateIndexOperation::perform):
(WebCore::CreateIndexAbortOperation::perform):
(WebCore::DeleteIndexOperation::perform):
(WebCore::DeleteIndexAbortOperation::perform):
(WebCore::GetOperation::perform):
(WebCore::PutOperation::perform):
(WebCore::SetIndexesReadyOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):
(WebCore::ClearObjectStoreOperation::perform):
(WebCore::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
(WebCore::CreateObjectStoreAbortOperation::perform):

Add accessors to each operation’s data members so the IDBServerConnection has everything it needs:

  • Modules/indexeddb/IDBTransactionBackendOperations.h:

(WebCore::CreateObjectStoreOperation::objectStoreMetadata):
(WebCore::DeleteObjectStoreOperation::objectStoreMetadata):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::create):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::version):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::callbacks):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::databaseCallbacks):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::VersionChangeOperation):
(WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
(WebCore::CreateIndexOperation::objectStoreID):
(WebCore::CreateIndexOperation::idbIndexMetadata):
(WebCore::CreateIndexOperation::CreateIndexOperation):
(WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
(WebCore::DeleteIndexOperation::objectStoreID):
(WebCore::DeleteIndexOperation::idbIndexMetadata):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
(WebCore::GetOperation::objectStoreID):
(WebCore::GetOperation::indexID):
(WebCore::GetOperation::cursorType):
(WebCore::GetOperation::keyRange):
(WebCore::GetOperation::callbacks):
(WebCore::GetOperation::autoIncrement):
(WebCore::GetOperation::keyPath):
(WebCore::GetOperation::GetOperation):
(WebCore::PutOperation::create):
(WebCore::PutOperation::putMode):
(WebCore::PutOperation::objectStore):
(WebCore::PutOperation::key):
(WebCore::PutOperation::indexIDs):
(WebCore::PutOperation::indexKeys):
(WebCore::PutOperation::callbacks):
(WebCore::PutOperation::value):
(WebCore::PutOperation::PutOperation):
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::objectStoreID):
(WebCore::OpenCursorOperation::indexID):
(WebCore::OpenCursorOperation::direction):
(WebCore::OpenCursorOperation::cursorType):
(WebCore::OpenCursorOperation::taskType):
(WebCore::OpenCursorOperation::keyRange):
(WebCore::OpenCursorOperation::cursorDirection):
(WebCore::OpenCursorOperation::callbacks):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(WebCore::CountOperation::create):
(WebCore::CountOperation::objectStoreID):
(WebCore::CountOperation::indexID):
(WebCore::CountOperation::keyRange):
(WebCore::CountOperation::callbacks):
(WebCore::CountOperation::CountOperation):
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::objectStoreID):
(WebCore::DeleteRangeOperation::callbacks):
(WebCore::DeleteRangeOperation::keyRange):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(WebCore::ClearObjectStoreOperation::create):
(WebCore::ClearObjectStoreOperation::objectStoreID):
(WebCore::ClearObjectStoreOperation::callbacks):
(WebCore::ClearObjectStoreOperation::ClearObjectStoreOperation):

Implement each operation in terms of the appropriate backing store, then perform the callback:

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::createObjectStore):
(WebCore::IDBServerConnectionLevelDB::createIndex):
(WebCore::IDBServerConnectionLevelDB::deleteIndex):
(WebCore::IDBServerConnectionLevelDB::get):
(WebCore::IDBServerConnectionLevelDB::put):
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):
(WebCore::IDBServerConnectionLevelDB::clearObjectStore):
(WebCore::IDBServerConnectionLevelDB::deleteObjectStore):
(WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

  • WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
12:28 PM Changeset in webkit [159352] by timothy_horton@apple.com
  • 5 edits
    1 add in trunk/Tools

build.webkit.org/dashboard should provide a way to focus on a subset of bots
https://bugs.webkit.org/show_bug.cgi?id=122676

Reviewed by Timothy Hatcher.

Add a small 'hide' button next to every platform logo, and a 'show all'
button which only appears when at least one platform is hidden. Hidden
platforms persist using localStorage.

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

(updateHiddenPlatforms):
(documentReady.unhideButton):
(documentReady.hideButton):
(documentReady):

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

(Settings.prototype.setObject):
(Settings.prototype.getObject):
(Settings.prototype.addSettingListener):
(Settings.prototype.fireSettingListener):
(Settings.prototype.toggleHiddenPlatform):
(Settings.prototype.clearHiddenPlatforms):

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

(div.cellButton):
(div.cellButton.hide):
(.hidden):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
11:53 AM Changeset in webkit [159351] by mhahnenberg@apple.com
  • 14 edits
    1 add in trunk/Source/JavaScriptCore

-dealloc callbacks from wrapped Objective-C objects can happen at bad times
https://bugs.webkit.org/show_bug.cgi?id=123821

Reviewed by Darin Adler.

Currently with the JSC Obj-C API, JS wrappers for client Obj-C objects retain their associated Obj-C
object. When they are swept, they release their Obj-C objects which can trigger a call to that
object's -dealloc method. These -dealloc methods can then call back into the same VM, which is not
allowed during sweeping or VM shutdown.

We can handle this case by creating our own pool of Obj-C objects to be released when it is safe to do so.
This is accomplished by using DelayedReleaseScope, an RAII-style object that will retain all objects
that are unsafe to release until the end of the DelayedReleaseScope.

  • API/APIShims.h:

(JSC::APICallbackShim::APICallbackShim):
(JSC::APICallbackShim::vmForDropAllLocks):
(JSC::APICallbackShim::execForDropAllLocks):

  • API/JSAPIWrapperObject.mm:

(JSAPIWrapperObjectHandleOwner::finalize):

  • API/ObjCCallbackFunction.mm:

(JSC::ObjCCallbackFunctionImpl::destroy):
(JSC::ObjCCallbackFunction::destroy):

  • API/tests/testapi.mm:

(-[TinyDOMNode initWithVirtualMachine:]):
(-[TinyDOMNode dealloc]):
(-[TinyDOMNode appendChild:]):
(-[TinyDOMNode removeChildAtIndex:]):
(-[EvilAllocationObject initWithContext:]):
(-[EvilAllocationObject dealloc]):
(-[EvilAllocationObject doEvilThingsWithContext:]):

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/DelayedReleaseScope.h: Added.

(JSC::DelayedReleaseScope::DelayedReleaseScope):
(JSC::DelayedReleaseScope::~DelayedReleaseScope):
(JSC::DelayedReleaseScope::releaseSoon):
(JSC::MarkedSpace::releaseSoon):

  • heap/Heap.cpp:

(JSC::Heap::collectAllGarbage):

  • heap/Heap.h:

(JSC::Heap::releaseSoon):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::lastChanceToFinalize):
(JSC::MarkedSpace::sweep):

  • heap/MarkedSpace.h:
11:51 AM Changeset in webkit [159350] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test fast/dom/Geolocation/notimer-after-unload.html is flaky and crashy on Mac WK2
https://bugs.webkit.org/show_bug.cgi?id=124425

  • platform/mac-wk2/TestExpectations:

Mark as crash/pass/fail, since it does all three :(

11:34 AM Changeset in webkit [159349] by commit-queue@webkit.org
  • 11 edits
    1 add in trunk

Modifying RTCIceCandidate object construction to match the spec
https://bugs.webkit.org/show_bug.cgi?id=124369

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-11-15
Reviewed by Eric Carlson.

According to the spec the RTCIceCandidateInit parameter in RTCSessionDescription constructor is optional,
which must not be nullable, and, if passed, must be a valid Dictionary. If the keys are not present, the string
object that stores them in the RTCIceCandidate class, must be null in those cases. Also, if a key is present
and its value is not valid an exception must be raised.

Source/WebCore:

Existing test was updated.

  • GNUmakefile.list.am:
  • Modules/mediastream/RTCIceCandidate.cpp:

(WebCore::RTCIceCandidate::create):

  • Modules/mediastream/RTCIceCandidate.idl:
  • UseJSC.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSRTCIceCandidateCustom.cpp: Added.

(WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):

LayoutTests:

  • fast/mediastream/RTCIceCandidate-expected.txt:
  • fast/mediastream/RTCIceCandidate.html:
11:30 AM Changeset in webkit [159348] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test webgl/1.0.2/conformance/ogles/GL/tan/tan_001_to_006.html fails on Intel
https://bugs.webkit.org/show_bug.cgi?id=124424

  • platform/mac/TestExpectations:

Mark as flaky everywhere, since I have no way to mark it as failing on Intel
and passing elsewhere.

11:21 AM Changeset in webkit [159347] by commit-queue@webkit.org
  • 49 edits
    6 adds
    19 deletes in trunk

Unreviewed, rolling out r159337.
http://trac.webkit.org/changeset/159337
https://bugs.webkit.org/show_bug.cgi?id=124423

broke a bunch of fast/regions tests on EFL/GTK (Requested by
philn on #webkit).

Source/WebCore:

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::setLayoutOverflow):
(WebCore::InlineFlowBox::setVisualOverflow):

  • rendering/InlineFlowBox.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::estimateRegionRangeForBoxChild):
(WebCore::RenderBlock::updateRegionRangeForBoxChild):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::hasNextPage):
(WebCore::RenderBlockFlow::relayoutForPagination):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::positionNewFloatOnLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::isUnsplittableForPagination):
(WebCore::RenderBox::overflowRectForPaintRejection):

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderBoxRegionInfo.h:

(WebCore::RenderBoxRegionInfo::createOverflow):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::checkRegionsWithStyling):
(WebCore::RenderFlowThread::mapFromLocalToFlowThread):
(WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):

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

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::repaintIncludingDescendants):

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

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::addOverflowFromChildren):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::createStyle):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderOverflow.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::shouldPaintRegionContentsInPhase):
(WebCore::RenderRegion::paintObject):
(WebCore::RenderRegion::hitTestContents):
(WebCore::RenderRegion::computeOverflowFromFlowThread):
(WebCore::RenderRegion::repaintFlowThreadContent):
(WebCore::RenderRegion::repaintFlowThreadContentRectangle):
(WebCore::RenderRegion::insertedIntoTree):
(WebCore::RenderRegion::ensureOverflowForBox):
(WebCore::RenderRegion::rectFlowPortionForBox):
(WebCore::RenderRegion::addLayoutOverflowForBox):
(WebCore::RenderRegion::addVisualOverflowForBox):
(WebCore::RenderRegion::layoutOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):

  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

LayoutTests:

  • fast/regions/bottom-overflow-out-of-first-region-expected.html:
  • fast/regions/bottom-overflow-out-of-first-region.html:
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
  • fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
  • fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
  • fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
  • fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
  • fast/regions/float-pushed-width-change-2-expected.html:
  • fast/regions/float-pushed-width-change-2.html:
  • fast/regions/float-pushed-width-change-expected.html:
  • fast/regions/float-pushed-width-change.html:
  • fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Removed.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Removed.
  • fast/regions/outline-sides-in-region-expected.html:
  • fast/regions/outline-sides-in-region.html:
  • fast/regions/overflow-first-and-last-regions-expected.html: Removed.
  • fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Removed.
  • fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Removed.
  • fast/regions/overflow-first-and-last-regions.html: Removed.
  • fast/regions/overflow-last-region-expected.html: Added.
  • fast/regions/overflow-last-region.html: Added.
  • fast/regions/overflow-nested-regions-expected.html: Removed.
  • fast/regions/overflow-nested-regions.html: Removed.
  • fast/regions/overflow-region-float-expected.html: Removed.
  • fast/regions/overflow-region-float.html: Removed.
  • fast/regions/overflow-region-inline-expected.html: Removed.
  • fast/regions/overflow-region-inline.html: Removed.
  • fast/regions/overflow-region-transform-expected.html: Removed.
  • fast/regions/overflow-region-transform.html: Removed.
  • fast/regions/overflow-scrollable-rotated-fragment-expected.html:
  • fast/regions/overflow-scrollable-rotated-fragment.html:
  • fast/regions/top-overflow-out-of-second-region-expected.html: Removed.
  • fast/regions/top-overflow-out-of-second-region.html:
  • fast/regions/webkit-flow-float-unable-to-push-expected.html:
  • fast/regions/webkit-flow-float-unable-to-push.html:
  • fast/repaint/increasing-region-content-height-expected.txt:
  • fast/repaint/increasing-region-content-height.html:
  • platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Added.
  • platform/mac-wk2/TestExpectations:
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Added.
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Added.
11:07 AM Changeset in webkit [159346] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

REGRESSION (r158586): callToJavaScript needs to save return PC to Sentinel frame
https://bugs.webkit.org/show_bug.cgi?id=124420

Reviewed by Filip Pizlo.

Save the return PC into the sentinel frame.

  • jit/JITStubsMSVC64.asm:
  • jit/JITStubsX86.h:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
10:32 AM Changeset in webkit [159345] by Antti Koivisto
  • 6 edits
    2 adds in trunk

Hovering over text using simple line path should not cause switch to line boxes
https://bugs.webkit.org/show_bug.cgi?id=124418

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/text/simple-lines-hover.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteRects):
(WebCore::RenderText::absoluteQuadsClippedToEllipsis):
(WebCore::RenderText::absoluteQuads):

Collect quads and rects directly from simple lines without requiring the line box switch.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::collectTextAbsoluteRects):
(WebCore::SimpleLineLayout::collectTextAbsoluteQuads):

Add these.

  • rendering/SimpleLineLayoutFunctions.h:
  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Run::start):
(WebCore::SimpleLineLayout::RunResolver::Run::end):

For future use.

LayoutTests:

  • fast/text/simple-lines-hover-expected.html: Added.
  • fast/text/simple-lines-hover.html: Added.
10:06 AM Changeset in webkit [159344] by zoltan@webkit.org
  • 3 edits in trunk/LayoutTests

[CSS Shapes][CSS Regions] Simplify shape-inside-on-multiple-regions-with-negative-shape-top.html
https://bugs.webkit.org/show_bug.cgi?id=123808

Reviewed by Mihnea Ovidenie.

Use a rectangle instead of a complex polygon in the test.

  • fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top-expected.html:
  • fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html:
10:03 AM Changeset in webkit [159343] by jer.noble@apple.com
  • 5 edits in trunk

MediaTime addition and subtraction operators have errors when the rhs is infinite.
https://bugs.webkit.org/show_bug.cgi?id=124413

Reviewed by Eric Carlson.

Source/WTF:

Correctly account for infinities that can occur on the right-hand side of addition or
subtraction operators.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::operator+):
(WTF::MediaTime::operator-):

Tools:

Add a test for operator+ and operator- where an infinite value appears
on the right-hand side:

  • TestWebKitAPI/Tests/WTF/MediaTime.cpp:

(TestWebKitAPI::TEST):

Add a LLDB summary provider for MediaTime which displays the rational
time as well as the value in seconds:

  • lldb/lldb_webkit.py:

(lldb_init_module):
(WTFMediaTime_SummaryProvider):
(WTFHashTableProvider.has_children):
(WTFMediaTimeProvider):
(WTFMediaTimeProvider.
init):
(WTFMediaTimeProvider.timeValue):
(WTFMediaTimeProvider.timeScale):
(WTFMediaTimeProvider.isInvalid):
(WTFMediaTimeProvider.isPositiveInfinity):
(WTFMediaTimeProvider.isNegativeInfinity):
(WTFMediaTimeProvider.isIndefinite):

9:47 AM Changeset in webkit [159342] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

Make it possible to select revision numbers on build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=124400

Reviewed by Timothy Hatcher.

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

(BuildbotQueueView.prototype.revisionLinksForIteration):

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

(.selectable):
Add a child span to the trac link, which has '-webkit-user-select: all' on it.
This way, a Dashboard user can highlight revision numbers for easy copying,
and doesn't even have to be precise about the selection.

9:44 AM Changeset in webkit [159341] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add failure test expectations for failing tests.

  • platform/efl/TestExpectations:
9:42 AM Changeset in webkit [159340] by timothy_horton@apple.com
  • 3 edits in trunk/LayoutTests

results.html should have a link to historical results for a test/all failing tests
https://bugs.webkit.org/show_bug.cgi?id=124402

Reviewed by Simon Fraser.

  • fast/harness/results.html:

Add a new rightmost column, 'history'.
Clicking on the column header will open the flakiness dashboard
for the entire set of failing tests; clicking on the link
in a particular test's row will open it just for that single test.

  • fast/harness/resources/results-test.js:

Update the harness test to expect the new number of columns.

9:32 AM Changeset in webkit [159339] by timothy_horton@apple.com
  • 4 edits
    2 adds in trunk/Tools

Adjust and add retina versions of EFL and GTK build.webkit.org/dashboard icons
https://bugs.webkit.org/show_bug.cgi?id=124399

Reviewed by Gustavo Noronha Silva.

Add new EFL and GTK icons (derived from Wikipedia's SVGs) to make new 1x and 2x icons,
with the icons adjusted to have solid backgrounds, to not be squished, and to not
intersect the ring, similar to the Mac icons.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL.png:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK.png:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

(documentReady.hideButton):
(documentReady):

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

(table.queue-grid tr.platform.linux-gtk img.logo):
(table.queue-grid tr.platform.linux-efl img.logo):

8:15 AM Changeset in webkit [159338] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fixed incorrectly placed NETWORK_PROCESS guard in NetworkConnectionToWebProcess.cpp
https://bugs.webkit.org/show_bug.cgi?id=124398

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-15
Reviewed by Brady Eidson.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:
7:34 AM Changeset in webkit [159337] by stavila@adobe.com
  • 49 edits
    1 copy
    18 adds
    5 deletes in trunk

[CSS Regions] Implement visual overflow for first & last regions
https://bugs.webkit.org/show_bug.cgi?id=118665

Source/WebCore:

In order to properly propagate the visual overflow of elements flowed inside regions,
the responsiblity of painting and hit-testing content inside flow threads has been
moved to the flow thread layer's level.
Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
structure, including one for the flow thread itself. This data is used during
painting and hit-testing.

Reviewed by David Hyatt.

Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html

fast/regions/overflow-first-and-last-regions.html
fast/regions/overflow-nested-regions.html
fast/regions/overflow-region-float.html
fast/regions/overflow-region-inline.html
fast/regions/overflow-region-transform.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::setLayoutOverflow):
(WebCore::InlineFlowBox::setVisualOverflow):

  • rendering/InlineFlowBox.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::estimateRegionRangeForBoxChild):
(WebCore::RenderBlock::updateRegionRangeForBoxChild):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::hasNextPage):
(WebCore::RenderBlockFlow::relayoutForPagination):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::positionNewFloatOnLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::isUnsplittableForPagination):
(WebCore::RenderBox::overflowRectForPaintRejection):

  • rendering/RenderBox.h:

(WebCore::RenderBox::canHaveOutsideRegionRange):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderBoxRegionInfo.h:

(WebCore::RenderBoxRegionInfo::createOverflow):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
(WebCore::RenderFlowThread::mapFromLocalToFlowThread):
(WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
(WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
(WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::RenderFlowThread::addRegionsVisualOverflow):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):

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

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForRegionAndReflection):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
(WebCore::RenderLayer::repaintIncludingDescendants):
(WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
(WebCore::RenderLayer::paintFlowThreadIfRegion):
(WebCore::RenderLayer::hitTestFlowThreadIfRegion):

  • rendering/RenderLayer.h:

(WebCore::ClipRect::inflateX):
(WebCore::ClipRect::inflateY):
(WebCore::ClipRect::inflate):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::addOverflowFromChildren):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::createStyle):
(WebCore::RenderNamedFlowFragment::namedFlowThread):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderOverflow.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore::RenderRegion::flowThreadPortionLocation):
(WebCore::RenderRegion::regionContainerLayer):
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::RenderRegion::computeOverflowFromFlowThread):
(WebCore::RenderRegion::repaintFlowThreadContent):
(WebCore::RenderRegion::repaintFlowThreadContentRectangle):
(WebCore::RenderRegion::insertedIntoTree):
(WebCore::RenderRegion::ensureOverflowForBox):
(WebCore::RenderRegion::rectFlowPortionForBox):
(WebCore::RenderRegion::addLayoutOverflowForBox):
(WebCore::RenderRegion::addVisualOverflowForBox):
(WebCore::RenderRegion::layoutOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):

  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

LayoutTests:

Rebased some tests due to regions layers changes.
Updated some tests to increase clarity. Some of them were only passing because two
regions were close together and the fact that an element was being painted
inside the wrong region was not visible. Floats are now also unsplittable.

  • bottom-overflow-out-of-first-region
  • float-pushed-width-change-2
  • float-pushed-width-change
  • webkit-flow-float-unable-to-push

Changed top-overflow-out-of-second-region to reftest.

Added new tests for testing the visual overflow in different situations
(transformed, inline, opacity, floating).

Reviewed by David Hyatt.

  • fast/regions/bottom-overflow-out-of-first-region-expected.html:
  • fast/regions/bottom-overflow-out-of-first-region.html:
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
  • fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
  • fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
  • fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
  • fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
  • fast/regions/float-pushed-width-change-2-expected.html:
  • fast/regions/float-pushed-width-change-2.html:
  • fast/regions/float-pushed-width-change-expected.html:
  • fast/regions/float-pushed-width-change.html:
  • fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Added.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Added.
  • fast/regions/outline-sides-in-region-expected.html:
  • fast/regions/outline-sides-in-region.html:
  • fast/regions/overflow-first-and-last-regions-expected.html: Added.
  • fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Added.
  • fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Added.
  • fast/regions/overflow-first-and-last-regions.html: Added.
  • fast/regions/overflow-last-region-expected.html: Removed.
  • fast/regions/overflow-last-region.html: Removed.
  • fast/regions/overflow-nested-regions-expected.html: Added.
  • fast/regions/overflow-nested-regions.html: Added.
  • fast/regions/overflow-region-float-expected.html: Added.
  • fast/regions/overflow-region-float.html: Added.
  • fast/regions/overflow-region-inline-expected.html: Added.
  • fast/regions/overflow-region-inline.html: Added.
  • fast/regions/overflow-region-transform-expected.html: Added.
  • fast/regions/overflow-region-transform.html: Added.
  • fast/regions/overflow-scrollable-rotated-fragment-expected.html:
  • fast/regions/overflow-scrollable-rotated-fragment.html:
  • fast/regions/top-overflow-out-of-second-region-expected.html: Copied from LayoutTests/fast/regions/top-overflow-out-of-second-region.html.
  • fast/regions/top-overflow-out-of-second-region.html:
  • fast/regions/webkit-flow-float-unable-to-push-expected.html:
  • fast/regions/webkit-flow-float-unable-to-push.html:
  • platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Removed.
  • platform/mac-wk2/TestExpectations:
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
7:31 AM Changeset in webkit [159336] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Update TestExpectations files with failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
7:05 AM Changeset in webkit [159335] by commit-queue@webkit.org
  • 9 edits
    6 adds in trunk

[GStreamer] Add support for Media Source API
https://bugs.webkit.org/show_bug.cgi?id=99065

Source/WebCore:

The patch integrate a Media Source player for the GStreamer backend. The implementented architecture is:

  • MediaPlayerPrivateGStreamer engine is modified to support Media Source URIs (change blob:// to mediasourceblob://), in addition to the existing support for web (http/https/blob) URIs
  • Similar to the existing WebKitWebSrc gstreamer element that handles web URIs, a new gstreamer element named WebKitMediaSrc is implemented to handle Media Source URIs
  • WebKitMediaSrc registers its URI protocol handler, allowing uridecodebin to dynamically create the appropriate source element.
  • The WebKitMediaSrc element creates a bin with 2 appsrc: One for Audio and One for Video. Pads are dynamically linked at the reception of first video and audio buffers.

Patch by Stephane Jadaud <sjadaud@sii.fr> on 2013-11-15
Reviewed by Philippe Normand.

Tests: Activate http/tests/media/media-source and media/media-source tests

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::initializeGStreamerAndRegisterWebKitElements):
(WebCore::MediaPlayerPrivateGStreamer::load):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp: Added.

(WebCore::MediaSourceGStreamer::open):
(WebCore::MediaSourceGStreamer::MediaSourceGStreamer):
(WebCore::MediaSourceGStreamer::~MediaSourceGStreamer):
(WebCore::MediaSourceGStreamer::addSourceBuffer):
(WebCore::MediaSourceGStreamer::setDuration):
(WebCore::MediaSourceGStreamer::markEndOfStream):
(WebCore::MediaSourceGStreamer::unmarkEndOfStream):

  • platform/graphics/gstreamer/MediaSourceGStreamer.h: Added.
  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp: Added.

(WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):
(WebCore::SourceBufferPrivateGStreamer::append):
(WebCore::SourceBufferPrivateGStreamer::abort):
(WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource):

  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h: Added.
  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: Added.

(webKitMediaSrcAddSrc):
(webkit_media_src_init):
(webKitMediaSrcFinalize):
(webKitMediaSrcSetProperty):
(webKitMediaSrcGetProperty):
(webKitMediaVideoSrcStop):
(webKitMediaAudioSrcStop):
(webKitMediaVideoSrcStart):
(webKitMediaAudioSrcStart):
(webKitMediaSrcChangeState):
(webKitMediaSrcQueryWithParent):
(webKitMediaSrcUriGetType):
(webKitMediaSrcGetProtocols):
(webKitMediaSrcGetUri):
(webKitMediaSrcSetUri):
(webKitMediaSrcUriHandlerInit):
(webKitMediaVideoSrcNeedDataMainCb):
(webKitMediaAudioSrcNeedDataMainCb):
(webKitMediaVideoSrcNeedDataCb):
(webKitMediaAudioSrcNeedDataCb):
(webKitMediaVideoSrcEnoughDataMainCb):
(webKitMediaAudioSrcEnoughDataMainCb):
(webKitMediaVideoSrcEnoughDataCb):
(webKitMediaAudioSrcEnoughDataCb):
(webKitMediaVideoSrcSeekMainCb):
(webKitMediaAudioSrcSeekMainCb):
(webKitMediaVideoSrcSeekDataCb):
(webKitMediaAudioSrcSeekDataCb):
(webKitMediaSrcSetMediaPlayer):
(webKitMediaSrcSetPlayBin):
(MediaSourceClientGstreamer::MediaSourceClientGstreamer):
(MediaSourceClientGstreamer::~MediaSourceClientGstreamer):
(MediaSourceClientGstreamer::didReceiveDuration):
(MediaSourceClientGstreamer::didReceiveData):
(MediaSourceClientGstreamer::didFinishLoading):
(MediaSourceClientGstreamer::didFail):

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.h: Added.

Tools:

Patch by Stephane Jadaud <sjadaud@sii.fr> on 2013-11-15
Reviewed by Philippe Normand.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Patch by Stephane Jadaud <sjadaud@sii.fr> on 2013-11-15
Reviewed by Philippe Normand.

  • platform/gtk/TestExpectations:
6:08 AM Changeset in webkit [159334] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit/efl

[EFL] Leak in ewk_frame_certificate_status_get()
https://bugs.webkit.org/show_bug.cgi?id=124401

Reviewed by Carlos Garcia Campos.

The SoupMessage object is being leaked. In in this case that
object is not even necessary since ResourceRequest already
provides a way to get the soup flags directly.

  • ewk/ewk_frame.cpp:

(ewk_frame_certificate_status_get):

5:09 AM Changeset in webkit [159333] by Csaba Osztrogonác
  • 16 edits in trunk/Source/WebKit2

Cleanup the build from unused parameters in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=124201

Patch by Tibor Meszaros <mtibor@inf.u-szeged.hu> on 2013-11-15
Reviewed by Darin Adler.

  • Shared/Plugins/Netscape/PluginInformation.cpp:

(WebKit::getPluginModuleInformation):

  • UIProcess/API/C/WKBatteryManager.cpp:

(WKBatteryManagerSetProvider):
(WKBatteryManagerProviderDidChangeBatteryStatus):
(WKBatteryManagerProviderUpdateBatteryStatus):

  • UIProcess/API/C/WKBatteryStatus.cpp:

(WKBatteryStatusCreate):

  • UIProcess/API/C/WKColorPickerResultListener.cpp:

(WKColorPickerResultListenerSetColor):

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetBatteryManager):
(WKContextGetDatabaseManager):
(WKContextGetNetworkInfoManager):

  • UIProcess/API/C/WKDatabaseManager.cpp:

(WKDatabaseManagerSetClient):
(WKDatabaseManagerGetDatabasesByOrigin):
(WKDatabaseManagerGetDatabaseOrigins):
(WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
(WKDatabaseManagerDeleteDatabasesForOrigin):
(WKDatabaseManagerDeleteAllDatabases):
(WKDatabaseManagerSetQuotaForOrigin):

  • UIProcess/API/C/WKNetworkInfo.cpp:

(WKNetworkInfoCreate):

  • UIProcess/API/C/WKNetworkInfoManager.cpp:

(WKNetworkInfoManagerSetProvider):
(WKNetworkInfoManagerProviderDidChangeNetworkInformation):

  • UIProcess/API/C/WKOpenPanelParameters.cpp:

(WKOpenPanelParametersCopyCapture):

  • UIProcess/API/C/WKVibration.cpp:

(WKVibrationSetProvider):

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::createNewPage):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setVisibilityState):
(WebKit::WebPageProxy::unavailablePluginButtonClicked):

  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::didChangeContentsPosition):
(WebKit::ViewClientEfl::didRenderFrame):
(WebKit::ViewClientEfl::didChangeViewportAttributes):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setDatabaseQuota):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createWindow):

3:03 AM Changeset in webkit [159332] by Antoine Quint
  • 6 edits
    10 adds
    2 deletes in trunk/Source/WebInspectorUI

Web Inspector: New color picker
https://bugs.webkit.org/show_bug.cgi?id=124354

Reviewed by Timothy Hatcher.

Beginning of a new color picker. The focus of this new picker is to let you pick from
a color wheel as the primary mean of color picking, with additional slider controls for
the brightness and the opacity, better matching the default OS X color picker. This is the
basis for a color picker that will evolve to support the following:

Note also that the color wheel has not been tested on Retina displays
(see http://webkit.org/b/124355).

  • UserInterface/CSSColorPicker.css: Removed.
  • UserInterface/CSSColorPicker.js: Removed.

Previous color picker, now removed in favor of the new ColorPicker class.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

Adopt new class name for the color picker, add a little padding to the popover
target frame and set the base color after the picker has been presented.

  • UserInterface/Color.js:

(WebInspector.Color.prototype._hslToRGB):
Simplified math.

(WebInspector.Color.rgb2hsv):
(WebInspector.Color.hsv2rgb):
New utilities to deal with HSV colors used in the ColorWheel.

  • UserInterface/ColorPicker.css: Added.
  • UserInterface/ColorPicker.js: Added.

(WebInspector.ColorPicker):
(WebInspector.ColorPicker.prototype.get element):
(WebInspector.ColorPicker.prototype.set brightness):
(WebInspector.ColorPicker.prototype.set opacity):
(WebInspector.ColorPicker.prototype.get color):

(WebInspector.ColorPicker.prototype.set color):
We set the _dontUpdateColor flag here such that we don't attempt to
notify about a color change at this point in case the selected color
is too saturated to be represented accurately on the color wheel and
we would end up changing the color by virtue of presenting the popover.

(WebInspector.ColorPicker.prototype.colorWheelColorDidChange):
(WebInspector.ColorPicker.prototype.sliderValueDidChange):
(WebInspector.ColorPicker.prototype._updateColor):
(WebInspector.ColorPicker.prototype._updateSliders):

  • UserInterface/ColorWheel.css: Added.
  • UserInterface/ColorWheel.js: Added.

The ColorWheel makes use of three different <canvas> elements to draw itself.
The "raw" canvas is used to draw the raw, un-tinted color wheel with poor
aliasing. The "raw" canvas is only drawn when the dimension is changed.
The "tinted" canvas is used to draw the "raw" canvas with a black overlay
based on the brightness set on the wheel. The "final" canvas, the only <canvas>
element attached to the DOM, is used to draw the "tinted" canvas into a circle
clip of a slightly narrower radius so that the drawn image is visually more pleasing
and can be displayed above virtually any background color.

We use color math to generate the color wheel, courtesy of Dean Jackson, and also to
figure out where to position the crosshair for the provided base color as well as
the opposite operation where we get the color under the mouse pointer.

The color wheel fires a single delegate method call colorWheelColorDidChange(colorWheel),
the colors themselves being retrieved via the public properties tintedColor and rawColor.

(WebInspector.ColorWheel):
(WebInspector.ColorWheel.prototype.set dimension):
(WebInspector.ColorWheel.prototype.get element):
(WebInspector.ColorWheel.prototype.get brightness):
(WebInspector.ColorWheel.prototype.set brightness):
(WebInspector.ColorWheel.prototype.get tintedColor):
(WebInspector.ColorWheel.prototype.set tintedColor):
(WebInspector.ColorWheel.prototype.get rawColor):
(WebInspector.ColorWheel.prototype.handleEvent):
(WebInspector.ColorWheel.prototype._handleMousedown):
(WebInspector.ColorWheel.prototype._handleMousemove):
(WebInspector.ColorWheel.prototype._handleMouseup):
(WebInspector.ColorWheel.prototype._pointInCircleForEvent):
(WebInspector.ColorWheel.prototype._pointInCircleForEvent.angleFromCenterToPoint):
(WebInspector.ColorWheel.prototype._pointInCircleForEvent.pointOnCircumference):
(WebInspector.ColorWheel.prototype._updateColorForMouseEvent):
(WebInspector.ColorWheel.prototype._setCrosshairPosition):
(WebInspector.ColorWheel.prototype._tintedColorToPointAndBrightness):
(WebInspector.ColorWheel.prototype._drawRawCanvas):
(WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
(WebInspector.ColorWheel.prototype._drawTintedCanvas):
(WebInspector.ColorWheel.prototype._draw):

  • UserInterface/Images/SliderThumb.png: Added.
  • UserInterface/Images/SliderThumb@2x.png: Added.
  • UserInterface/Images/SliderThumbPressed.png: Added.
  • UserInterface/Images/SliderThumbPressed@2x.png: Added.

Supporting artwork for the new Slider class.

  • UserInterface/Main.html:

Remove the previous color picker class and add the new one, as well as the new Slider class.

  • UserInterface/Slider.css: Added.
  • UserInterface/Slider.js: Added.

New slider to match the look of the sliders used in the native OS X color picker. The most
interesting feature of these sliders is that they can be transformed using CSS in any way
and will still operate correctly due to always converting the mouse coordinates in the page
coordinate system to the coordinate system local to the backing element. For instance, the
color picker uses two sliders transformed to be displayed vertically.

As it stands these slides only support values between 0 and 1 and fire a single delegate
method call sliderValueDidChange(slider, newValue).

(WebInspector.Slider):
(WebInspector.Slider.prototype.get element):
(WebInspector.Slider.prototype.get value):
(WebInspector.Slider.prototype.set value):
(WebInspector.Slider.prototype.handleEvent):
(WebInspector.Slider.prototype._handleMousedown):
(WebInspector.Slider.prototype._handleMousemove):
(WebInspector.Slider.prototype._handleMouseup):
(WebInspector.Slider.prototype._localPointForEvent):
(WebInspector.Slider.prototype.get _maxX):

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

Update file names for the new color picker.

2:35 AM Changeset in webkit [159331] by Michał Pakuła vel Rutka
  • 3 edits
    1 delete in trunk/LayoutTests

Unreviewed EFL gardening

Mark flaky and incorrectly passing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt: Removed wrong test expectation.
2:23 AM Changeset in webkit [159330] by calvaris@igalia.com
  • 4 edits in trunk

[GTK] Bumping GStreamer version to 1.2.1 for the dependencies
https://bugs.webkit.org/show_bug.cgi?id=124360

Reviewed by Philippe Normand.

Tools:

  • gtk/jhbuild.modules: Bumped GStreamer version up to 1.2.1

LayoutTests:

  • platform/gtk/TestExpectations: Flagged

media/video-canvas-drawing-output.html

1:21 AM Changeset in webkit [159329] by commit-queue@webkit.org
  • 3 edits
    2 moves
    2 deletes in trunk/LayoutTests

[EFL] Layout tests with international text properties need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124389

Unreviewed, EFL rabaseline.

EFL international text rebaselined after r147668.
Move some expectation files to efl common place because those files in wk1 are
in exact accordance with files in wk2, and then delete the files in wk1 and wk2.

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-15

  • platform/efl-wk1/fast/text/international/003-expected.txt: Removed.
  • platform/efl-wk1/fast/text/international/bidi-layout-across-linebreak-expected.txt: Removed.
  • platform/efl-wk2/TestExpectations:
  • platform/efl/fast/text/international/002-expected.txt:
  • platform/efl/fast/text/international/003-expected.txt:

Renamed from LayoutTests/platform/efl-wk2/fast/text/international/003-expected.txt.

  • platform/efl/fast/text/international/bidi-layout-across-linebreak-expected.txt:

Renamed from LayoutTests/platform/efl-wk2/fast/text/international/bidi-layout-across-linebreak-expected.txt.

Note: See TracTimeline for information about the timeline view.