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

Timeline



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.

Nov 14, 2013:

8:58 PM Changeset in webkit [159328] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Improve support for command line builds of 64-bit JSC
https://bugs.webkit.org/show_bug.cgi?id=124380

Patch by Brent Fulgham <Brent Fulgham> on 2013-11-14
Reviewed by David Kilzer.

  • Scripts/webkitdirs.pm:

(argumentsForConfiguration): Recognize all flavors of Debug and Release (i.e., 'Debug',
'Debug|Win32', 'Debug|x64') when passing arguments to child processes.
(determinePassedConfiguration): Don't suffix configuration with "|Win32" or "|x64". That's
what the "$configurationForVisualStudio" value is for.

6:50 PM Changeset in webkit [159327] by ap@apple.com
  • 47 edits in trunk/LayoutTests

Update WebCrypto tests
https://bugs.webkit.org/show_bug.cgi?id=124388

Reviewed by Anders Carlsson.

Updated tests for newer common.js. Changed some tests from just dumping results
to comparing them to known expected ones. Fixed a syntax error in
aes-cbc-invalid-length.html, so it now actually runs.

  • crypto/subtle/resources/common.js: Update to a new version from Blink, because

it's much nicer than the old one, and it's good to be compatible at test level.
Moved crypto.subtle definition from webkitSubtle here to avoid repeating it in all
tests. Added a quick and dirty Promise.all implementation.

  • crypto/subtle/aes-cbc-192-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-192-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-generate-key.html:
  • crypto/subtle/aes-cbc-import-jwk-expected.txt:
  • crypto/subtle/aes-cbc-import-jwk.html:
  • crypto/subtle/aes-cbc-invalid-length-expected.txt:
  • crypto/subtle/aes-cbc-invalid-length.html:
  • crypto/subtle/aes-cbc-wrong-key-class.html:
  • crypto/subtle/aes-export-key-expected.txt:
  • crypto/subtle/aes-export-key.html:
  • crypto/subtle/argument-conversion-expected.txt:
  • crypto/subtle/argument-conversion.html:
  • crypto/subtle/hmac-export-key-expected.txt:
  • crypto/subtle/hmac-export-key.html:
  • crypto/subtle/hmac-generate-key.html:
  • crypto/subtle/hmac-import-jwk-expected.txt:
  • crypto/subtle/hmac-import-jwk.html:
  • crypto/subtle/hmac-sign-verify-empty-key-expected.txt:
  • crypto/subtle/hmac-sign-verify-empty-key.html:
  • crypto/subtle/hmac-sign-verify-expected.txt:
  • crypto/subtle/hmac-sign-verify.html:
  • crypto/subtle/import-jwk-expected.txt:
  • crypto/subtle/import-jwk.html:
  • crypto/subtle/rsassa-pkcs1-v1_5-generate-key-expected.txt:
  • crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html:
  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt:
  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html:
  • crypto/subtle/rsassa-pkcs1-v1_5-sign-verify-expected.txt:
  • 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:
6:27 PM Changeset in webkit [159326] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

XMLSerializer escapes < > & correctly inside <script> and <style> tags.
https://bugs.webkit.org/show_bug.cgi?id=123914

Patch by Victor Costan <costan@gmail.com> on 2013-11-14
Reviewed by Darin Adler.

Source/WebCore:

Test: fast/dom/XMLSerializer-entities.html

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::serializeNodesWithNamespaces): vim removed some whitespace.
(WebCore::MarkupAccumulator::entityMaskForText): Fixed the returned value for <script> etc in XML.

LayoutTests:

  • fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt: fix incorrect expectations.
  • fast/dom/SelectorAPI/resig-SelectorsAPI-test.xhtml: use CDATA consistently.
  • fast/dom/XMLSerializer-entities-expected.txt: Added.
  • fast/dom/XMLSerializer-entities.html: Added.
6:11 PM Changeset in webkit [159325] by Brent Fulgham
  • 12 edits in branches/safari-537.73-branch/LayoutTests

Rebaseline branch after r158468.

5:34 PM Changeset in webkit [159324] by Bem Jones-Bey
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: rangesIntersect(m_renderer.pixelSnappedLogicalTopForFloat(floatingObject), m_renderer.pixelSnappedLogicalBottomForFloat(floatingObject), m_lineTop, m_lineBottom) ../../Source/WebCore/rendering/FloatingObjects.cpp(463)
https://bugs.webkit.org/show_bug.cgi?id=124375

Reviewed by Alexandru Chiculita.

When moving the placed floats tree over to LayoutUnit, I forgot to
update these asserts, which causes issues on ports with subpixel
layout enabled.

No new tests, no behavior change.

  • rendering/FloatingObjects.cpp:

(WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
(WebCore::::collectIfNeeded):

4:55 PM Changeset in webkit [159323] by commit-queue@webkit.org
  • 5 edits in trunk

Clean up sequence handling in Blob constructor
https://bugs.webkit.org/show_bug.cgi?id=124343

Patch by Victor Costan <costan@gmail.com> on 2013-11-14
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added test case to LayoutTests/fast/files/blob-constructor.html

  • bindings/js/JSBlobCustom.cpp:

(WebCore::JSBlobConstructor::constructJSBlob):

Handle exceptions in sequences, eliminate double type-checking for
ArrayBuffer, ArrayBufferView and Blob parts.

LayoutTests:

  • fast/files/blob-constructor-expected.txt:
  • fast/files/script-tests/blob-constructor.js:

Add test with sequence that throws an error on property access.

(get Object):

4:28 PM Changeset in webkit [159322] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] WKBrowsingContextController's policy client implementation over-releases WKURLRequests and WKURLResponses
https://bugs.webkit.org/show_bug.cgi?id=124386

Reviewed by Sam Weinig.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(setUpPagePolicyClient): Changed to release the Cocoa objects we copy out of the WK objects
passed into the client callbacks, but not the WK objects themselves, which are not owned by
the callbacks.

4:12 PM Changeset in webkit [159321] by oliver@apple.com
  • 19 edits in trunk

Make CLoop easier to build, and make it work
https://bugs.webkit.org/show_bug.cgi?id=124359

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add --cloop to build-jsc, build-webkit and friends.

Also make CLoop build and work again - This meant adding a
couple of missing ENABLE(DFG_JIT) blocks, and fixing a few
other references.

  • Configurations/FeatureDefines.xcconfig:
  • bytecode/BytecodeLivenessAnalysis.cpp:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/DFGExitProfile.cpp:
  • dfg/DFGCapabilities.cpp:
  • dfg/DFGCompilationKey.cpp:
  • dfg/DFGCompilationMode.cpp:
  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

Source/WebCore:

Add cloop configuration info to WebCore FeatureDefines
so that it's consistent with JSC

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Make building with the CLoop forcibly enabled manually
disable the JITs

  • wtf/Platform.h:

Tools:

Add --cloop support to forcibly enable to CLoop build

  • Scripts/build-jsc:
  • Scripts/build-webkit:
4:11 PM Changeset in webkit [159320] by Lucas Forschler
  • 5 edits in branches/safari-537.73-branch/Source

Versioning.

4:11 PM Changeset in webkit [159319] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Replace calls to deprecated CFPropertyList functions in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=124384

Reviewed by Anders Carlsson.

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::sessionStateData): Replaced CFPropertyListWriteToStream() with CFPropertyListWrite().
(WebKit::WebPageProxy::restoreFromSessionStateData): Replaced CFPropertyListCreateFromXMLData() with CFPropertyListCreateWithData().

4:10 PM Changeset in webkit [159318] by Lucas Forschler
  • 1 copy in tags/Safari-537.73.10

New Tag.

3:37 PM WebKitGTK/2.2.x edited by Martin Robinson
(diff)
3:33 PM WikiStart edited by Martin Robinson
Removed defunct links (including links to non-upstream ports) and spam (diff)
3:27 PM Changeset in webkit [159317] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Change Fail->Failure in some recent expectations.

Suddenly, everything is clear.

3:26 PM Changeset in webkit [159316] by Lucas Forschler
  • 2 edits in trunk/Tools

Add webkit slave.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
3:23 PM Changeset in webkit [159315] 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 flaky on Mountain Lion Release bot.
Marking as slow seems to have no effect on the notifyDone timeout, just the outer timeouts.

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

[Cairo] Avoid extra copy when drawing images
https://bugs.webkit.org/show_bug.cgi?id=124209

Patch by Aloisio Almeida Jr <aloisio.almeida@openbossa.org> on 2013-11-14
Reviewed by Martin Robinson.

To solve the bug #58309 a cairo subsurface is being used to limit the
source image boundaries.
In many cases, when a cairo subsurface is used for drawing an image,
it occurs an image copy, causing performance penalty. In the case of
the function PlatformContextCairo::drawSurfaceToContext, the image
copy always happens.
So, we should use the subsurface only when it's really necessary.
In cases where we're drawing the whole image, the subsurface is
unnecessary.

The proposed patch avoid the use of subsurfaces when sampling the whole
image.

No new tests. It's an enhancement. Already covered by existing tests.

  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::PlatformContextCairo::drawSurfaceToContext):

3:03 PM Changeset in webkit [159313] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

build.webkit.org/dashboard can’t open different results in two new tabs
https://bugs.webkit.org/show_bug.cgi?id=124383

Reviewed by Alexey Proskuryakov.

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

(BuildbotQueueView.prototype.revisionLinksForIteration):

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

(StatusLineView.prototype._clicked):
Use _blank (which is effectively open-in-new-tab, in Safari) instead of _new (which isn't a
real pseudo-target and instead acts as a named target and will end up causing all link clicks
to open in the same secondary tab).

2:20 PM Changeset in webkit [159312] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

generate-message-receiver.py can't handle nested #ifs
https://bugs.webkit.org/show_bug.cgi?id=121877

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-11-14
Reviewed by Darin Adler.

parser.py was modifieded to collect and combine conditions of nested #ifs.
messages_unittest.py extended to check these modifications.

  • Scripts/webkit2/messages_unittest.py:

(LoadSomething):
(std):
(AddEvent):
(LoadSomethingElse):

  • Scripts/webkit2/parser.py:

(combine_condition):
(bracket_if_needed):
(parse):

2:02 PM Changeset in webkit [159311] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Reimplement getDayBoundaries using NSCalendar on 10.9
https://bugs.webkit.org/show_bug.cgi?id=124379

Reviewed by Dan Bernstein.

  • History/WebHistory.mm:

(getDayBoundaries):

1:44 PM Changeset in webkit [159310] by ap@apple.com
  • 11 edits
    4 adds in trunk

Implement raw format for WebCrypto key export
https://bugs.webkit.org/show_bug.cgi?id=124376

Reviewed by Anders Carlsson.

Source/WebCore:

Tests: crypto/subtle/aes-export-key.html

crypto/subtle/hmac-export-key.html

A CryptoKey just exports its native CryptoKeyData, which will also work nicely for
JWK format soon. For spki and pkcs8, we'll need to figure out the best way to
utilize platform library support for ASN.1, but we are not there yet.

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::exportKey):

  • crypto/CryptoKey.h:
  • crypto/SubtleCrypto.idl:
  • crypto/keys/CryptoKeyAES.cpp:

(WebCore::CryptoKeyAES::exportData):

  • crypto/keys/CryptoKeyAES.h:
  • crypto/keys/CryptoKeyHMAC.cpp:

(WebCore::CryptoKeyHMAC::exportData):

  • crypto/keys/CryptoKeyHMAC.h:
  • crypto/keys/CryptoKeyRSA.h:
  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::CryptoKeyRSA::exportData):
Added a dummy implementation for RSA.

LayoutTests:

  • crypto/subtle/aes-export-key-expected.txt: Added.
  • crypto/subtle/aes-export-key.html: Added.
  • crypto/subtle/hmac-export-key-expected.txt: Added.
  • crypto/subtle/hmac-export-key.html: Added.
1:40 PM Changeset in webkit [159309] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] WKAction keys are not exported
https://bugs.webkit.org/show_bug.cgi?id=124378

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKBrowsingContextController.mm: Made the keys constant pointers.
  • UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Exported the keys.
1:30 PM Changeset in webkit [159308] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Simply generated domain dispatch methods for domains with few commands
https://bugs.webkit.org/show_bug.cgi?id=124374

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-11-14
Reviewed by Timothy Hatcher.

  • inspector/CodeGeneratorInspector.py:

(Generator.go):
(Generator.process_command):

  • inspector/CodeGeneratorInspectorStrings.py:
1:26 PM Changeset in webkit [159307] by betravis@adobe.com
  • 18 edits
    6 adds in trunk

[CSS Shapes] Accept the new <box> value for shape-outside
https://bugs.webkit.org/show_bug.cgi?id=124227

Reviewed by David Hyatt.

Source/WebCore:

The shape-outside property can now be set to the box values [margin/border/padding/content]-box.
This patch adds the parsing code required to accept the new values, and the layout code
to create a rectangle shape that has the size and position of the appropriate box.

Tests: fast/shapes/shape-outside-floats/shape-outside-boxes-001.html

fast/shapes/shape-outside-floats/shape-outside-boxes-002.html
fast/shapes/shape-outside-floats/shape-outside-boxes-003.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Output the new box values.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): Accept the new box values.

  • css/CSSValueKeywords.in: Add margin-box value.
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyShape::applyValue): Accept the new box values.

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::borderLogicalWidth): Added new utility methods to help
with box sizing.
(WebCore::RenderBoxModelObject::borderLogicalHeight): Ditto.
(WebCore::RenderBoxModelObject::paddingLogicalWidth): Ditto.
(WebCore::RenderBoxModelObject::paddingLogicalHeight): Ditto.

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape): You can create a shape from a box's dimensions, rather
than always using a BasicShape or RasterShape value.

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeInfo.cpp:

(WebCore::::computedShape): Create the appropriate shape based on the box values.

  • rendering/shapes/ShapeInfo.h:

(WebCore::ShapeInfo::setShapeSize): Adjust for the box size when using a box value.
(WebCore::ShapeInfo::logicalTopOffset): Ditto.
(WebCore::ShapeInfo::logicalLeftOffset): Ditto.

  • rendering/shapes/ShapeInsideInfo.cpp:

(WebCore::ShapeInsideInfo::isEnabledFor): Enable for the box values.

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::isEnabledFor): Disable for shape-inside.

  • rendering/style/ShapeValue.h:

(WebCore::ShapeValue::createBoxValue): Create the appropriate shape value for a box.
(WebCore::ShapeValue::box): Return the box value for this ShapeValue.
(WebCore::ShapeValue::ShapeValue): Create a ShapeValue from a box value.

LayoutTests:

Test the different box values with different writing modes.

  • fast/shapes/parsing/parsing-shape-inside-expected.html: Adding box values as invalid.
  • fast/shapes/parsing/parsing-shape-inside.html: Ditto.
  • fast/shapes/parsing/parsing-shape-outside-expected.html: Adding box values as valid.
  • fast/shapes/parsing/parsing-shape-outside.html: Ditto.
  • fast/shapes/shape-outside-floats/shape-outside-boxes-001-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-boxes-001.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-boxes-002-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-boxes-002.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-boxes-003-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-boxes-003.html: Added.
1:26 PM Changeset in webkit [159306] by jer.noble@apple.com
  • 3 edits in trunk/LayoutTests

Flaky Test: media/video-fast-seek.html
https://bugs.webkit.org/show_bug.cgi?id=124298

Reviewed by Eric Carlson.

Don't check for the precise results of currentTime, as MediaTime -> double
rounding will occasionally result in errors.

  • media/video-fast-seek-expected.txt:
  • media/video-fast-seek.html:
1:14 PM Changeset in webkit [159305] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit/mac

Stop using deprecated NSPropertyListSerialization methods
https://bugs.webkit.org/show_bug.cgi?id=124377

Reviewed by Mark Rowe.

  • History/WebHistory.mm:

(-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):
(WebKit::NetscapePluginHostManager::instantiatePlugin):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WKPCIdentifierInfo):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::marshalValue):
(WebKit::NetscapePluginInstanceProxy::marshalValues):
(WebKit::NetscapePluginInstanceProxy::demarshalValue):
(WebKit::NetscapePluginInstanceProxy::demarshalValues):

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::getPropertyNames):

12:13 PM Changeset in webkit [159304] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

fullscreen/anonymous-block-merge-crash.html often times out in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=124318

  • platform/mac/TestExpectations:

Used the wrong kind of failure for a notifyDone timeout.

12:12 PM Changeset in webkit [159303] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Rubber-stamped by Tim Horton.

Post-checkin review comment! StickToViewportBounds sounds better and more accurate
than StickToWindowBounds.

  • platform/ScrollTypes.h:
12:10 PM Changeset in webkit [159302] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Unreviewed build failure; update MediaPlayerPrivateAVFFoundationCF::seekToTime after r159208.

After r159208, seekToTime takes tolerance parameters.

Patch by Jer Noble <jer.noble@apple.com> on 2013-11-13

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
(WebCore::AVFWrapper::seekToTime):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
12:05 PM Changeset in webkit [159301] 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 slow on Mountain Lion Release bot.

12:03 PM Changeset in webkit [159300] by Beth Dakin
  • 12 edits in trunk/Source/WebCore

Add a new mode where fixed elements don't constrain their positions during a
rubber band
https://bugs.webkit.org/show_bug.cgi?id=124260

Reviewed by Tim Horton.

This patch adds a new enum called ScrollBehaviorForFixedElements, which has
two values, StickToDocumentBounds or StickToWindowBounds. StickToDocumentBounds
corresponds to our current behavior, where fixed elements constrain
their positions during a rubber-band so that they stay stuck to the document.
The new mode, StickToWindowBounds, will cause fixed elements to always stay
fixed relative to the window.

scrollOffsetForFixedPosition() now takes a new parameter for the fixed behavior
so that it knows whether or not to constrain the position.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollOffsetForFixedPosition):

Right now, just return StickToDocumentBounds and retain existing behavior.
(WebCore::FrameView::scrollBehaviorForFixedElements):

  • page/FrameView.h:

The scrolling thread needs to know about the fixed element scroll behavior,
so this code makes ScrollingStateScrollingNodes keep track of that
information to pass over to the scrolling thread.

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::scrollBehaviorForFixedElements):

  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
(WebCore::ScrollingCoordinatorMac::setScrollBehaviorForFixedElementsForNode):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

Here is the new enum.

  • platform/ScrollTypes.h:


Another place where we only want to constrain scroll position if that is the
mode we are in.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::customPositionForVisibleRectComputation):

11:56 AM Changeset in webkit [159299] by ap@apple.com
  • 3 edits
    2 adds in trunk

[Mac] HMAC sign/verify crashes when key is empty
https://bugs.webkit.org/show_bug.cgi?id=124372

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/hmac-sign-verify-empty-key.html

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

a non-null pointer then.

LayoutTests:

  • crypto/subtle/hmac-sign-verify-empty-key-expected.txt: Added.
  • crypto/subtle/hmac-sign-verify-empty-key.html: Added.
11:43 AM Changeset in webkit [159298] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION (r159276): Fix lots of crashes for arm_traditional architecture.
https://bugs.webkit.org/show_bug.cgi?id=124365

Reviewed by Oliver Hunt.

Crashes were caused by a mixup between regular registers and temporary registers in ARM_EXTRA_GPRS.

  • llint/LowLevelInterpreter32_64.asm: Warning, t3 != a3. It's safer to use an implementation using aX

registers like the MIPS one for cCallX macros.

  • offlineasm/arm.rb: Rearrange ARM_EXTRA_GPRS according to the new register distribution in LLINT.
11:16 AM Changeset in webkit [159297] by andersca@apple.com
  • 2 edits in trunk/Tools

Remove duplicate entry.

  • Scripts/webkitpy/common/config/contributors.json:
11:00 AM Changeset in webkit [159296] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Implement RSASSA-PKCS1-v1_5 sign/verify
https://bugs.webkit.org/show_bug.cgi?id=124335

Build fix.

  • crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
10:57 AM Changeset in webkit [159295] by Samuel White
  • 5 edits
    2 adds in trunk

AX: Calling NSAccessibilityColumnsAttribute and NSAccessibilityRowsAttribute simply to get column/row count can be very expensive.
https://bugs.webkit.org/show_bug.cgi?id=124293

Reviewed by Chris Fleizach.

Source/WebCore:

Added ability to get accessibility table column or row count without fetching all columns or rows.

Test: platform/mac/accessibility/table-column-and-row-count.html

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

Added test to ensure NSAccessibilityColumnsAttribute and NSAccessibilityRowsAttribute
behave as expected. Also updated existing table tests to reflect this additional API.

  • platform/mac/accessibility/table-column-and-row-count-expected.txt: Added.
  • platform/mac/accessibility/table-column-and-row-count.html: Added.
  • platform/mac/accessibility/table-detection-expected.txt:
  • platform/mac/accessibility/table-with-rules-expected.txt:
10:51 AM Changeset in webkit [159294] by Lucas Forschler
  • 6 edits in trunk

Versioning.

10:49 AM Changeset in webkit [159293] by Lucas Forschler
  • 1 copy in tags/Safari-538.6

New Tag.

10:26 AM Changeset in webkit [159292] by ap@apple.com
  • 9 edits
    1 copy
    3 adds
    5 deletes in trunk

Implement RSASSA-PKCS1-v1_5 sign/verify
https://bugs.webkit.org/show_bug.cgi?id=124335

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/rsassa-pkcs1-v1_5-sign-verify.html

  • WebCore.xcodeproj/project.pbxproj: Added new files, removed Mac SHA algorithm files.
  • crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::getCommonCryptoDigestAlgorithm):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
Implemented. These take two steps, first a digest is computed, and then it's signed.

  • crypto/CryptoDigest.h: Added.
  • crypto/mac/CryptoDigestMac.cpp: Added.

(WebCore::CryptoDigest::CryptoDigest):
(WebCore::CryptoDigest::~CryptoDigest):
(WebCore::CryptoDigest::create):
(WebCore::CryptoDigest::addBytes):
(WebCore::CryptoDigest::computeHash):
Added a cross-platform interface and Mac implementation to compute a digest. It
should be possible to use it outside WebCrypto if we need to (perhaps even merge
with WTF SHA-1 class).
The Mac implementation is kind of ugly, but at least it encapsulates the ugliness.

  • crypto/algorithms/CryptoAlgorithmSHA1.cpp: (WebCore::CryptoAlgorithmSHA1::digest):
  • crypto/algorithms/CryptoAlgorithmSHA224.cpp: (WebCore::CryptoAlgorithmSHA224::digest):
  • crypto/algorithms/CryptoAlgorithmSHA256.cpp: (WebCore::CryptoAlgorithmSHA256::digest):
  • crypto/algorithms/CryptoAlgorithmSHA384.cpp: (WebCore::CryptoAlgorithmSHA384::digest):
  • crypto/algorithms/CryptoAlgorithmSHA512.cpp: (WebCore::CryptoAlgorithmSHA512::digest):
  • crypto/mac/CryptoAlgorithmSHA1Mac.cpp: Removed.
  • crypto/mac/CryptoAlgorithmSHA224Mac.cpp: Removed.
  • crypto/mac/CryptoAlgorithmSHA256Mac.cpp: Removed.
  • crypto/mac/CryptoAlgorithmSHA384Mac.cpp: Removed.
  • crypto/mac/CryptoAlgorithmSHA512Mac.cpp: Removed.

These are all cross-platform now.

LayoutTests:

  • crypto/subtle/rsassa-pkcs1-v1_5-sign-verify-expected.txt: Added.
  • crypto/subtle/rsassa-pkcs1-v1_5-sign-verify.html: Added.
10:21 AM Changeset in webkit [159291] by hmuller@adobe.com
  • 3 edits
    4 adds in trunk

[CSS Shapes] Empty polygons with non-zero shape-padding cause an ASSERT crash
https://bugs.webkit.org/show_bug.cgi?id=124324

Reviewed by Andreas Kling.

Source/WebCore:

PolygonShape::shapePaddingBounds() and PolygonShape::shapeMarginBounds() no
longer attempt to compute a new FloatPolygon when the original is empty, i.e.
when it has less than three vertices.

Tests: fast/shapes/shape-inside/shape-inside-empty-polygon-crash.html

fast/shapes/shape-outside-floats/shape-outside-floats-empty-polygon-crash.html

  • rendering/shapes/PolygonShape.cpp:

(WebCore::PolygonShape::shapePaddingBounds): Don't compute a padding FloatPolygon if the original polygon is empty.
(WebCore::PolygonShape::shapeMarginBounds): Don't compute a margin FloatPolygon if the original polygon is empty.

LayoutTests:

  • fast/shapes/shape-inside/shape-inside-empty-polygon-crash-expected.txt: Added.
  • fast/shapes/shape-inside/shape-inside-empty-polygon-crash.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-empty-polygon-crash-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-empty-polygon-crash.html: Added.
10:13 AM Changeset in webkit [159290] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r159276): rbp register overwritten in Win 64 version of callToJavascript stub
https://bugs.webkit.org/show_bug.cgi?id=124361

Reviewed by Oliver Hunt.

Swapped operand ordering to: mov rax, rbp

  • jit/JITStubsMSVC64.asm:
9:45 AM Changeset in webkit [159289] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Cleaner Backend Method Calling Code Generation
https://bugs.webkit.org/show_bug.cgi?id=124333

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-11-14
Reviewed by Timothy Hatcher.

No change in functionality, just improved generated code.

  • inspector/CodeGeneratorInspector.py:

(Generator.process_command):

  • inspector/CodeGeneratorInspectorStrings.py:
  • inspector/InspectorBackendDispatcher.cpp:
  • inspector/InspectorBackendDispatcher.h:
8:52 AM Changeset in webkit [159288] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

REGRESSION (r159276): Fix lots of crashes for sh4 architecture.
https://bugs.webkit.org/show_bug.cgi?id=124347

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

Since r159276, we have (t4 == a0 == r4) and (t5 == a1 == r5) in LLINT for sh4.
This leads to argument register trampling in cCallX macros, especially with cCall2
macro when arg1 == t4.

  • llint/LowLevelInterpreter32_64.asm: Use a new "setargs" pseudo-op to setup arguments for sh4.
  • offlineasm/instructions.rb:
  • offlineasm/sh4.rb: Lower "setargs" pseudo-op to setup argument registers and prevent register trampling issues.
8:49 AM Changeset in webkit [159287] by commit-queue@webkit.org
  • 7 edits in trunk/Tools

[ATK] Change WKTR/DRT AX methods to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=124352

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-11-14
Reviewed by Anders Carlsson.

Change WKTR/DRT accessibility related methods to use nullptr.

  • DumpRenderTree/atk/AccessibilityControllerAtk.cpp:

(AccessibilityController::AccessibilityController):
(AccessibilityController::elementAtPoint):
(AccessibilityController::removeNotificationListener):
(AccessibilityController::childElementById):

  • DumpRenderTree/atk/AccessibilityNotificationHandlerAtk.cpp:

(AccessibilityNotificationHandler::AccessibilityNotificationHandler):

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::elementAtPoint):
(AccessibilityUIElement::linkedUIElementAtIndex):
(AccessibilityUIElement::getChildAtIndex):
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(AccessibilityUIElement::subrole):
(AccessibilityUIElement::roleDescription):
(AccessibilityUIElement::orientation):
(AccessibilityUIElement::ariaDropEffects):
(AccessibilityUIElement::uiElementForSearchPredicate):
(AccessibilityUIElement::cellForColumnAndRow):
(AccessibilityUIElement::disclosedRowAtIndex):
(AccessibilityUIElement::ariaOwnsElementAtIndex):
(AccessibilityUIElement::ariaFlowToElementAtIndex):
(AccessibilityUIElement::selectedRowAtIndex):
(AccessibilityUIElement::rowAtIndex):
(AccessibilityUIElement::disclosedByRow):
(AccessibilityUIElement::removeNotificationListener):
(AccessibilityUIElement::classList):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:

(WTR::AccessibilityController::logAccessibilityEvents):
(WTR::AccessibilityController::resetToConsistentState):
(WTR::childElementById):
(WTR::AccessibilityController::accessibleElementById):
(WTR::AccessibilityController::removeNotificationListener):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:

(WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback):
(WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::childAtIndex):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::uiElementAttributeValue):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar):
(WTR::AccessibilityUIElement::verticalScrollbar):
(WTR::AccessibilityUIElement::removeNotificationListener):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForBounds):
(WTR::AccessibilityUIElement::startTextMarkerForBounds):
(WTR::AccessibilityUIElement::textMarkerForPoint):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::textMarkerForIndex):
(WTR::AccessibilityUIElement::supportedActions):
(WTR::AccessibilityUIElement::pathDescription):
(WTR::AccessibilityUIElement::mathPostscriptsDescription):
(WTR::AccessibilityUIElement::mathPrescriptsDescription):
(WTR::AccessibilityUIElement::classList):

8:03 AM Changeset in webkit [159286] by Antoine Quint
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Popovers may shrink unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=124350

Reviewed by Timothy Hatcher.

Because we always get the intersection of the preferred frame and the container frame to
ensure the popover fits within its container based on a preferred frame that would place
the arrow within the center of the attachment edge, we get in situations where we may
shrink the popover instead of shifting it to fit within the container frame. We now first
shift the preferred frame before getting its intersection with the container frame to
avoid such situations.

  • UserInterface/Popover.js:

(WebInspector.Popover.prototype._bestMetricsForEdge):

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

run-perf-tests should warn loudly if you're using a Debug build.
https://bugs.webkit.org/show_bug.cgi?id=105236

Patch by Éva Balázsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2013-11-14
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.run):

5:48 AM Changeset in webkit [159284] by Seokju Kwon
  • 3 edits in trunk/Source/WebCore

Use [ImplementedAs=defaultStatus] for Window.defaultstatus
https://bugs.webkit.org/show_bug.cgi?id=124334

Reviewed by Christophe Dumez.

No new tests, this is just refactoring.

Use [ImplementedAs=defaultStatus] for Window.defaultstatus
and remove unnecessary code from DOMWindow.
Because 'defaultstatus' is an alias of defaultStatus.

  • page/DOMWindow.h:
  • page/DOMWindow.idl:
5:28 AM Changeset in webkit [159283] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix build for sh4 architectures (broken since r159276).
https://bugs.webkit.org/show_bug.cgi?id=124344

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-14
Reviewed by Csaba Osztrogonác.

  • offlineasm/sh4.rb: There is no fp alias for r14 register for sh4.
4:50 AM Changeset in webkit [159282] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix Tools/Scripts/webkitpy/port/factory.py --help to display which configuration is default
https://bugs.webkit.org/show_bug.cgi?id=124143

Patch by Éva Balázsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2013-11-14
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/port/factory.py:

(configuration_options):

3:25 AM Changeset in webkit [159281] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebCore

Generate toSVGPolyline|gonElement() to replace static_cast<>
https://bugs.webkit.org/show_bug.cgi?id=124341

Reviewed by Andreas Kling.

toSVGFoo() supports more plenty helper functions. So, toSVGFoo() needs
to be used instead of static_cast<>.

Additionally, cleanup other static_cast<> as well.

No new tests, no behavior changes.

  • rendering/svg/SVGPathData.cpp:

(WebCore::updatePathFromEllipseElement):
(WebCore::updatePathFromLineElement):
(WebCore::updatePathFromPolygonElement):
(WebCore::updatePathFromPolylineElement):

  • svg/SVGPolygonElement.h:
  • svg/SVGPolylineElement.h:
  • svg/svgtags.in: Add *generateTypeHelpers* keyword to polygon, polyline
3:07 AM Changeset in webkit [159280] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

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

Unreviewed, EFL gatdening.

EFL text areas rebaselined after r129492.

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

  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/basic-textareas-expected.txt:
  • platform/efl/fast/forms/basic-textareas-quirks-expected.txt:
3:01 AM Changeset in webkit [159279] by akling@apple.com
  • 6 edits in trunk/Source

FontDescription copies should share families list, not duplicate it.
<https://webkit.org/b/124338>

Source/WebCore:

Turn FontDescription::m_families into a RefCountedArray<AtomicString>
instead of a Vector<AtomicString, 1>. This allows FontDescription to
share the families list between copies, instead of each object having
its own Vector.

Also, FontDescription itself shrinks by 16 bytes.

Reviewed by Antti Koivisto.

Source/WTF:

Add RefCountedArray::operator==.

Reviewed by Antti Koivisto.

1:12 AM Changeset in webkit [159278] by ryuan.choi@samsung.com
  • 9 edits
    2 moves in trunk/Source/WebKit2

[WK2] Move Coordinated Graphics related code out of DrawingAreaProxy
https://bugs.webkit.org/show_bug.cgi?id=124328

Reviewed by Andreas Kling.

Refactored for DrawingAreaProxy not to include Coordinated Graphics specific code.

  • PlatformEfl.cmake:
  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: Moved from DrawingAreaProxy.cpp.

(WebKit::CoordinatedDrawingAreaProxy::updateViewport):
(WebKit::CoordinatedDrawingAreaProxy::contentsRect):

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Ditto.

(WebKit::CoordinatedDrawingAreaProxy::coordinatedLayerTreeHostProxy): Refactored to return reference instead of pointer.
(WebKit::CoordinatedDrawingAreaProxy::viewportVisibleRect):
(WebKit::CoordinatedDrawingAreaProxy::page):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics.
(WebKit::fuzzyCompare):
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::innerBoundedViewportScale):
(WebKit::PageViewportController::outerBoundedViewportScale):
(WebKit::PageViewportController::deviceScaleFactor):
(WebKit::isIntegral):
(WebKit::PageViewportController::pixelAlignedFloatPoint):
(WebKit::PageViewportController::boundContentsPositionAtScale):
(WebKit::PageViewportController::boundContentsPosition):
(WebKit::PageViewportController::didCommitLoad):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageTransitionViewportReady):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::didChangeViewportSize):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents): Added cast to access CoordinatedDrawingAreaProxy method.
(WebKit::PageViewportController::didChangeViewportAttributes):
(WebKit::PageViewportController::visibleContentsSize):
(WebKit::PageViewportController::applyScaleAfterRenderingContents):
(WebKit::PageViewportController::applyPositionAfterRenderingContents):
(WebKit::PageViewportController::updateMinimumScaleToFit):

  • UIProcess/CoordinatedGraphics/PageViewportController.h:

Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics.
(WebKit::PageViewportController::~PageViewportController):
(WebKit::PageViewportController::hadUserInteraction):
(WebKit::PageViewportController::allowsUserScaling):
(WebKit::PageViewportController::contentsLayoutSize):
(WebKit::PageViewportController::minimumScale):
(WebKit::PageViewportController::maximumScale):
(WebKit::PageViewportController::currentScale):
(WebKit::PageViewportController::setHadUserInteraction):

  • UIProcess/CoordinatedGraphics/WebView.cpp: Added some casts to access CoordinatedDrawingAreaProxy methods.

(WebKit::WebView::coordinatedGraphicsScene): Simplified code using reference.
(WebKit::WebView::updateViewportSize):

  • UIProcess/DrawingAreaProxy.cpp: Removed Coordinated Graphics macro and related codes.
  • UIProcess/DrawingAreaProxy.h: Ditto.
1:04 AM Changeset in webkit [159277] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebCore

Introduce FILTER_TYPE_CASTS for child filter class
https://bugs.webkit.org/show_bug.cgi?id=124332

Reviewed by Andreas Kling.

To use TYPE_CASTS_BASE, define FILTER_TYPE_CASTS macro. Thanks to
it, static_cast<SVGFilter*> can be replaced by toSVGFilter().

No new tests, no behavior changes.

  • platform/graphics/filters/Filter.h:

Add isSVGFilter() to check if casting object is SVGFilter object.

(WebCore::Filter::isSVGFilter):

  • rendering/svg/RenderSVGResourceFilterPrimitive.cpp:

(WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::determineAbsolutePaintRect):
(WebCore::FEImage::platformApplySoftware):

  • svg/graphics/filters/SVGFilter.h:
Note: See TracTimeline for information about the timeline view.