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 16 commits
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
  3. 14 Nov, 2013 22 commits
    • commit-queue@webkit.org's avatar
      XMLSerializer escapes < > & correctly inside <script> and <style> tags. · d9eb969a
      commit-queue@webkit.org authored
      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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9eb969a
    • bjonesbe@adobe.com's avatar
      ASSERTION FAILED:... · 40a09c02
      bjonesbe@adobe.com authored
      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):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40a09c02
    • commit-queue@webkit.org's avatar
      Clean up sequence handling in Blob constructor · 933bf408
      commit-queue@webkit.org authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      933bf408
    • oliver@apple.com's avatar
      Make CLoop easier to build, and make it work · 7c1eb76c
      oliver@apple.com authored
      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:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c1eb76c
    • commit-queue@webkit.org's avatar
      [Cairo] Avoid extra copy when drawing images · b4822a07
      commit-queue@webkit.org authored
      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):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4822a07
    • ap@apple.com's avatar
      Implement raw format for WebCrypto key export · 32fdefdd
      ap@apple.com authored
      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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32fdefdd
    • commit-queue@webkit.org's avatar
      Web Inspector: Simply generated domain dispatch methods for domains with few commands · 416e3e9d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124374
      
      Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-11-14
      Reviewed by Timothy Hatcher.
      
      * inspector/CodeGeneratorInspector.py:
      (Generator.go):
      (Generator.process_command):
      * inspector/CodeGeneratorInspectorStrings.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      416e3e9d
    • betravis@adobe.com's avatar
      [CSS Shapes] Accept the new <box> value for shape-outside · edfb6516
      betravis@adobe.com authored
      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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      edfb6516
    • bdakin@apple.com's avatar
      Rubber-stamped by Tim Horton. · 079d6fd7
      bdakin@apple.com authored
      Post-checkin review comment! StickToViewportBounds sounds better and more accurate 
      than StickToWindowBounds.
      
      * platform/ScrollTypes.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      079d6fd7
    • bfulgham@apple.com's avatar
      Unreviewed build failure; update MediaPlayerPrivateAVFFoundationCF::seekToTime after r159208. · 4d1ad22f
      bfulgham@apple.com authored
      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:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159302 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d1ad22f
    • bdakin@apple.com's avatar
      Add a new mode where fixed elements don't constrain their positions during a · 817d70e7
      bdakin@apple.com authored
      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):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      817d70e7
    • ap@apple.com's avatar
      [Mac] HMAC sign/verify crashes when key is empty · 46bab23a
      ap@apple.com authored
      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.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46bab23a
    • ap@apple.com's avatar
      Implement RSASSA-PKCS1-v1_5 sign/verify · 2062a132
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124335
      
      Build fix.
      
      * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159296 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2062a132
    • samuel_white@apple.com's avatar
      AX: Calling NSAccessibilityColumnsAttribute and NSAccessibilityRowsAttribute... · 6c469be7
      samuel_white@apple.com authored
      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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159295 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c469be7
    • lforschler@apple.com's avatar
      Versioning. · f27addbc
      lforschler@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f27addbc
    • ap@apple.com's avatar
      Implement RSASSA-PKCS1-v1_5 sign/verify · cbf00156
      ap@apple.com authored
      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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159292 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cbf00156
    • hmuller@adobe.com's avatar
      [CSS Shapes] Empty polygons with non-zero shape-padding cause an ASSERT crash · ae389127
      hmuller@adobe.com authored
      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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159291 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae389127
    • commit-queue@webkit.org's avatar
      Web Inspector: Cleaner Backend Method Calling Code Generation · 7e377a59
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124333
      
      Patch by Joseph Pecoraro <pecoraro@apple.com> 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:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e377a59
    • seokju@webkit.org's avatar
      Use [ImplementedAs=defaultStatus] for Window.defaultstatus · b2e4bfca
      seokju@webkit.org authored
      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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159284 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2e4bfca
    • gyuyoung.kim@samsung.com's avatar
      Generate toSVGPolyline|gonElement() to replace static_cast<> · d9284ee2
      gyuyoung.kim@samsung.com authored
      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
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9284ee2
    • akling@apple.com's avatar
      FontDescription copies should share families list, not duplicate it. · f4dbca39
      akling@apple.com authored
      <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.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f4dbca39
    • gyuyoung.kim@samsung.com's avatar
      Introduce FILTER_TYPE_CASTS for child filter class · 19709355
      gyuyoung.kim@samsung.com authored
      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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19709355