1. 16 Nov, 2013 2 commits
    • zoltan@webkit.org's avatar
      Remove the include of LineWidth.h from SimpleLineLayoutFunctions.cpp · 40a88fcc
      zoltan@webkit.org authored
      <https://webkit.org/b/124449>
      
      Reviewed by Antti Koivisto.
      
      I removed the include of LineWidth, since SimpleLineLayoutFunctions.cpp doesn't use it.
      
      No new tests, no behavior change.
      
      * rendering/SimpleLineLayoutFunctions.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40a88fcc
    • ap@apple.com's avatar
      Support exporting symmetric keys as JWK · ca827605
      ap@apple.com authored
      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:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca827605
  2. 15 Nov, 2013 30 commits
    • commit-queue@webkit.org's avatar
      [Win] JavaScript crashes on 64-bit with JIT enabled. · c5d9e32c
      commit-queue@webkit.org authored
      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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159376 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c5d9e32c
    • roger_fong@apple.com's avatar
      Unreviewed, gtest project file cleanup. · 2e2648db
      roger_fong@apple.com authored
      * gtest/msvc/gtest-md.vcxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159375 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e2648db
    • beidson@apple.com's avatar
      Move IDBCursorBackend operations into their own files · 1eae3156
      beidson@apple.com authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1eae3156
    • ryuan.choi@samsung.com's avatar
      Unreviewed EFL build fix after r159358. · fcad6e92
      ryuan.choi@samsung.com authored
      * UIProcess/efl/PagePolicyClientEfl.cpp:
      (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
      * UIProcess/efl/PagePolicyClientEfl.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159371 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fcad6e92
    • dfarler@apple.com's avatar
      Copy ASAN flag settings to WebCore and JavaScriptCore intermediate build tools · 73ac9c47
      dfarler@apple.com authored
      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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      73ac9c47
    • jer.noble@apple.com's avatar
      [Mac][AVF] Allow video and audio tracks to be initialized with an AVAssetTrack. · 6d19e068
      jer.noble@apple.com authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d19e068
    • jer.noble@apple.com's avatar
      Unreviewed Win build fix; setCurrentTime() no longer takes an exception parameter. · 9eaea415
      jer.noble@apple.com authored
      * FullscreenVideoController.cpp:
      (FullscreenVideoController::setCurrentTime):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9eaea415
    • mhahnenberg@apple.com's avatar
      Remove JSChunk · dc0f013d
      mhahnenberg@apple.com authored
      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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc0f013d
    • beidson@apple.com's avatar
      Let IDBDatabaseBackend create IDBTransactionBackend's directly · 6e5f0963
      beidson@apple.com authored
      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:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e5f0963
    • jer.noble@apple.com's avatar
      HTMLMediaElement should not throw an exception from setCurrentTime or fastSeek. · b96ab1a9
      jer.noble@apple.com authored
      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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b96ab1a9
    • beidson@apple.com's avatar
      Remove last vestiges of IDBBackingStore* from IDBTransactionBackend. · 046ca9e7
      beidson@apple.com authored
      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:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      046ca9e7
    • mhahnenberg@apple.com's avatar
      Remove VTableSpectrum · 5906583d
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124427
      
      Reviewed by Filip Pizlo.
      
      Source/JavaScriptCore:
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * heap/Heap.cpp:
      (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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5906583d
    • beidson@apple.com's avatar
      Make IDBIndexWriter a LevelDB specific concept · fcd7ae95
      beidson@apple.com authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fcd7ae95
    • mitz@apple.com's avatar
      Give the policy client the originating frame of a navigation action · f9b0abcc
      mitz@apple.com authored
      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:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9b0abcc
    • achicu@adobe.com's avatar
      Web Inspector: DOM.performSearch should accept a list of context nodes · 1aa38677
      achicu@adobe.com authored
      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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159357 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1aa38677
    • beidson@apple.com's avatar
      Remove IDBBackingStoreInterface.h includes that are no longer needed · 21c65fb2
      beidson@apple.com authored
      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:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      21c65fb2
    • zoltan@webkit.org's avatar
      Move BreakingContext and LineBreaker into their own files · 64be122e
      zoltan@webkit.org authored
      <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):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64be122e
    • beidson@apple.com's avatar
      Move execution of IDBTransactionBackendOperations to the IDBServerConnection · 05a35ca3
      beidson@apple.com authored
      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:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05a35ca3
    • mhahnenberg@apple.com's avatar
      -dealloc callbacks from wrapped Objective-C objects can happen at bad times · ac6f1fd4
      mhahnenberg@apple.com authored
      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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac6f1fd4
    • commit-queue@webkit.org's avatar
      Modifying RTCIceCandidate object construction to match the spec · a1366a09
      commit-queue@webkit.org authored
      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:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1366a09
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r159337. · 37afb394
      commit-queue@webkit.org authored
      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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37afb394
    • msaboff@apple.com's avatar
      REGRESSION (r158586): callToJavaScript needs to save return PC to Sentinel frame · 1cd33f8a
      msaboff@apple.com authored
      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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1cd33f8a
    • antti@apple.com's avatar
      Hovering over text using simple line path should not cause switch to line boxes · 52e1a9f3
      antti@apple.com authored
      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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52e1a9f3
    • jer.noble@apple.com's avatar
      MediaTime addition and subtraction operators have errors when the rhs is infinite. · 4d56f344
      jer.noble@apple.com authored
      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):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d56f344
    • commit-queue@webkit.org's avatar
      Fixed incorrectly placed NETWORK_PROCESS guard in NetworkConnectionToWebProcess.cpp · 002680e1
      commit-queue@webkit.org authored
      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:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      002680e1
    • stavila@adobe.com's avatar
      [CSS Regions] Implement visual overflow for first & last regions · 81613fc9
      stavila@adobe.com authored
      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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81613fc9
    • commit-queue@webkit.org's avatar
      [GStreamer] Add support for Media Source API · 4ce17731
      commit-queue@webkit.org authored
      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:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ce17731
    • berto@igalia.com's avatar
      [EFL] Leak in ewk_frame_certificate_status_get() · 17edd465
      berto@igalia.com authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      17edd465
    • ossy@webkit.org's avatar
      Cleanup the build from unused parameters in WebKit2 · ba99c3ca
      ossy@webkit.org authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba99c3ca
    • graouts@apple.com's avatar
      Web Inspector: New color picker · d26f595c
      graouts@apple.com authored
      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:
      
      - editable CSS value label (http://webkit.org/b/124356)
      - picking a color anywhere on screen (http://webkit.org/b/124357)
      - swatches based on other colors in page (http://webkit.org/b/124358)
      
      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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d26f595c
  3. 14 Nov, 2013 8 commits