Skip to content
Commits on May 3, 2016
  1. [Mac] AirPlay fails if target is set before AVPlayer has been created

    eric.carlson@apple.com committed May 3, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157147
    <rdar://problem/24197592>
    
    Reviewed by Dean Jackson.
    
    No new tests, it won't be possible to test this until
    https://bugs.webkit.org/show_bug.cgi?id=157290 has been fixed.
    
    * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
    (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  2. Web Inspector: Unexpected "Script Element #" resources in Debugger Si…

    commit-queue@webkit.org committed May 3, 2016
    …debar
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157280
    
    Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-02
    Reviewed by Timothy Hatcher.
    
    * UserInterface/Views/DebuggerSidebarPanel.js:
    (WebInspector.DebuggerSidebarPanel.prototype._addScript):
    Don't include Script Element resources in the debugger sidebar by default.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  3. Const-ify some IDB code.

    beidson@apple.com committed May 3, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157287
    
    Reviewed by Alex Christensen.
    
    Source/WebCore:
    
    No new tests (Refactor only).
    
    * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
    * Modules/indexeddb/shared/InProcessIDBServer.cpp:
    (WebCore::InProcessIDBServer::deleteDatabase):
    (WebCore::InProcessIDBServer::openDatabase):
    (WebCore::InProcessIDBServer::abortTransaction):
    (WebCore::InProcessIDBServer::commitTransaction):
    (WebCore::InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
    * Modules/indexeddb/shared/InProcessIDBServer.h:
    
    Source/WebKit2:
    
    * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
    (WebKit::WebIDBConnectionToServer::deleteDatabase):
    (WebKit::WebIDBConnectionToServer::openDatabase):
    (WebKit::WebIDBConnectionToServer::abortTransaction):
    (WebKit::WebIDBConnectionToServer::commitTransaction):
    (WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
    * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  4. Add Resource Timing entry to the Feature Status page.

    jond@apple.com committed May 3, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157285
    
    Reviewed by Timothy Hatcher.
    
    * features.json:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  5. Make console a namespace object (like Math/JSON), allowing functions …

    commit-queue@webkit.org committed May 3, 2016
    …to be called unbound
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157286
    <rdar://problem/26052830>
    
    Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-02
    Reviewed by Timothy Hatcher.
    
    Source/JavaScriptCore:
    
    This changes `console` to be a global namespace object, like `Math` and `JSON`.
    It just holds a bunch of functions, that can be used on their own, unbound.
    For example, `[1,2,3].forEach(console.log)` and `var log = console.log; log(1)`
    used to throw exceptions and now do not.
    
    Previously console was an Object/Prototype pair, so functions were on
    ConsolePrototype (console.__proto__.log) and they needed to be called
    Console objects as the `this` value. Now, `console` is just a standard
    object with a bunch of functions. Since there is no console prototype the
    functions can be passed around and called as expected and they will
    just do the right thing.
    
    For compatability with other browsers, `console` was made enumerable
    on the global object.
    
    * CMakeLists.txt:
    * JavaScriptCore.xcodeproj/project.pbxproj:
    Add new files and remove old files.
    
    * runtime/CommonIdentifiers.h:
    Add "console".
    
    * runtime/ConsoleObject.cpp: Renamed from Source/JavaScriptCore/runtime/ConsolePrototype.cpp.
    (JSC::ConsoleObject::ConsoleObject):
    (JSC::ConsoleObject::finishCreation):
    (JSC::valueToStringWithUndefinedOrNullCheck):
    (JSC::consoleLogWithLevel):
    (JSC::consoleProtoFuncDebug):
    (JSC::consoleProtoFuncError):
    (JSC::consoleProtoFuncLog):
    (JSC::consoleProtoFuncInfo):
    (JSC::consoleProtoFuncWarn):
    (JSC::consoleProtoFuncClear):
    (JSC::consoleProtoFuncDir):
    (JSC::consoleProtoFuncDirXML):
    (JSC::consoleProtoFuncTable):
    (JSC::consoleProtoFuncTrace):
    (JSC::consoleProtoFuncAssert):
    (JSC::consoleProtoFuncCount):
    (JSC::consoleProtoFuncProfile):
    (JSC::consoleProtoFuncProfileEnd):
    (JSC::consoleProtoFuncTakeHeapSnapshot):
    (JSC::consoleProtoFuncTime):
    (JSC::consoleProtoFuncTimeEnd):
    (JSC::consoleProtoFuncTimeStamp):
    (JSC::consoleProtoFuncGroup):
    (JSC::consoleProtoFuncGroupCollapsed):
    (JSC::consoleProtoFuncGroupEnd):
    Console functions no longer need to check if the this object is
    a Console object. They will always just work now.
    
    * runtime/MathObject.cpp:
    * runtime/MathObject.h:
    * runtime/ConsoleObject.h: Renamed from Source/JavaScriptCore/runtime/ConsolePrototype.h.
    (JSC::ConsoleObject::create):
    (JSC::ConsoleObject::createStructure):
    ConsoleObject is a basic object like MathObject.
    
    * runtime/JSConsole.cpp: Removed.
    * runtime/JSConsole.h: Removed.
    * runtime/JSGlobalObject.h:
    * runtime/JSGlobalObject.cpp:
    (JSC::JSGlobalObject::init):
    (JSC::JSGlobalObject::visitChildren):
    Remove JSConsole / ConsolePrototype in favor of the single ConsoleObject.
    
    LayoutTests:
    
    * js/console-expected.txt: Added.
    * js/console.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200350 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Commits on May 2, 2016
  1. REGRESSION(r199964): Animation on pseudo elements doesn't trigger if …

    antti@apple.com committed May 2, 2016
    …first frame matches the current style
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157284
    
    Reviewed by Simon Fraser.
    
    Source/WebCore:
    
    r199964 accidentally changed the logic for computing style change for animations.
    
    Test: fast/css/animation-pseudo-style-change.html
    
    * style/RenderTreeUpdater.cpp:
    (WebCore::RenderTreeUpdater::updateBeforeOrAfterPseudoElement):
    
        If there is an animated style determine the style change using it rather than the originally resolved style.
    
    * style/StyleTreeResolver.cpp:
    (WebCore::Style::TreeResolver::resolveElement):
    
        Here too.
    
    LayoutTests:
    
    * fast/css/animation-pseudo-style-change-expected.html: Added.
    * fast/css/animation-pseudo-style-change.html: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  2. Add the ability to accumulate logs for specific logging channels to h…

    beidson@apple.com committed May 2, 2016
    …elp diagnose test timeouts.
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157274
    
    Reviewed by Alex Christensen.
    Source/WebCore:
    
    * platform/Logging.cpp:
    (WebCore::setLogChannelToAccumulate): Set the given log channel to accumulate logging,
      and dirty the initializeLoggingChannelsIfNecessary flag.
    (WebCore::initializeLoggingChannelsIfNecessary): Change from being a one-time-only call to a
      one-time-for-each-time-somebody-calls-setLogChannelToAccumulate call.
    * platform/Logging.h:
    
    * testing/js/WebCoreTestSupport.cpp:
    (WebCoreTestSupport::setLogChannelToAccumulate):
    (WebCoreTestSupport::initializeLoggingChannelsIfNecessary):
    * testing/js/WebCoreTestSupport.h:
    
    Source/WTF:
    
    This patch changes WTFLog to add the logging string to the logging accumulator if the logging channel says so.
    It also adds support for using this new accumulation mechanism.
    
    * WTF.xcodeproj/project.pbxproj:
    
    * wtf/Assertions.cpp:
    (WTF::resetAccumulatedLogs):
    (WTF::getAndResetAccumulatedLogs):
    * wtf/Assertions.h:
    
    * wtf/LoggingAccumulator.h: Added. Expose functions to get accumulated logs and to reset the accumulation.
    
    * wtf/text/WTFString.cpp:
    (WTF::String::format): Update to handle %@ on CF (Well, really ObjC) platforms.
    
    Tools:
    
    Add the new accumulate method to DRT's TestRunner, dump the accumulated logs if there's a timeout,
    and reset them in between tests:
    * DumpRenderTree/TestRunner.cpp:
    (accummulateLogsForChannel):
    (TestRunner::staticFunctions):
    (TestRunner::waitToDumpWatchdogTimerFired):
    (TestRunner::setAccummulateLogsForChannel):
    * DumpRenderTree/TestRunner.h:
    * DumpRenderTree/mac/DumpRenderTree.mm:
    (resetWebViewToConsistentStateBeforeTesting):
    
    Also add the new method to WKTR's TestRunner, but just stubbed for now:
    * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
    * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
    (WTR::TestRunner::accummulateLogsForChannel):
    * WebKitTestRunner/InjectedBundle/TestRunner.h:
    
    LayoutTests:
    
    For the tests that are known flakes that are not imported, add the "accumulate IndexedDB logs" command.
    
    * storage/indexeddb/modern/resources/256-open-databases.js:
    * storage/indexeddb/modern/resources/abort-requests-cancelled.js:
    * storage/indexeddb/modern/resources/autoincrement-abort.js:
    * storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
    * storage/indexeddb/resources/odd-strings.js:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  3. Web Inspector: Prefer "Console Evaluation" to "Eval Code" if we know …

    commit-queue@webkit.org committed May 2, 2016
    …it was a console evaluation
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157278
    
    Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-02
    Reviewed by Timothy Hatcher.
    
    * Localizations/en.lproj/localizedStrings.js:
    "Console Evaluation" string.
    
    * UserInterface/Controllers/DebuggerManager.js:
    (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload): Deleted.
    Delete an assert that would throw when the location is noSourceID:-1:-1.
    
    * UserInterface/Models/CallFrame.js:
    (WebInspector.CallFrame.fromDebuggerPayload):
    (WebInspector.CallFrame.fromPayload):
    (WebInspector.CallFrame):
    When this is in a Console Evalution provide better values.
    
    * UserInterface/Models/GarbageCollection.js:
    (WebInspector.GarbageCollection):
    Drive-by address a common assertions seen while paused.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  4. Sort the project file.

    simon.fraser@apple.com committed May 2, 2016
    Source/WebCore:
    
    * WebCore.xcodeproj/project.pbxproj:
    
    Source/WebKit2:
    
    * WebKit2.xcodeproj/project.pbxproj:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  5. Make Length, LengthSize and LengthPoint blending not use member funct…

    simon.fraser@apple.com committed May 2, 2016
    …ions
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157281
    
    Reviewed by Zalan Bujtas.
    
    Having blend() be a member function is ambiguous because it's hard to tell which are
    the 'from' and 'to' values. Fix Length, LengthSize and LengthPoint accordingly.
    
    No behavior change.
    
    * page/animation/CSSPropertyAnimation.cpp:
    (WebCore::blendFunc):
    * platform/Length.cpp:
    (WebCore::blendMixedTypes):
    (WebCore::blend):
    (WebCore::Length::blendMixedTypes): Deleted.
    * platform/Length.h:
    (WebCore::Length::blend): Deleted.
    * platform/LengthPoint.h:
    (WebCore::blend):
    (WebCore::LengthPoint::blend): Deleted.
    * platform/LengthSize.h:
    (WebCore::blend):
    (WebCore::LengthSize::blend): Deleted.
    * platform/graphics/filters/FilterOperation.cpp:
    (WebCore::BlurFilterOperation::blend):
    * platform/graphics/transforms/TranslateTransformOperation.cpp:
    (WebCore::TranslateTransformOperation::blend):
    * rendering/style/BasicShapes.cpp:
    (WebCore::BasicShapePolygon::blend):
    (WebCore::BasicShapeInset::blend):
    * rendering/style/BasicShapes.h:
    (WebCore::BasicShapeCenterCoordinate::blend):
    (WebCore::BasicShapeRadius::blend):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  6. Fix shouldUpdateScrollLayerPositionSynchronously() for non-main frame…

    simon.fraser@apple.com committed May 2, 2016
    …s. Remove updatesScrollLayerPositionOnMainThread()
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157277
    
    Reviewed by Dean Jackson, Tim Horton.
    
    Source/WebCore:
    
    shouldUpdateScrollLayerPositionSynchronously() gave an answer for the main frame even if
    called for a subframe. This could have caused scroll snapping, and isRubberBandInProgress()
    to give wrong answers sometimes. Fix by passing in the FrameView.
    
    I was unable to easily come up with a testcase to detect the incorrect behavior.
    
    Remove updatesScrollLayerPositionOnMainThread() which is unused by all ports.
    
    * page/FrameView.cpp:
    (WebCore::FrameView::isScrollSnapInProgress):
    (WebCore::FrameView::shouldUpdateCompositingLayersAfterScrolling):
    (WebCore::FrameView::isRubberBandInProgress):
    (WebCore::FrameView::updatesScrollLayerPositionOnMainThread): Deleted.
    * page/FrameView.h:
    * page/scrolling/ScrollingCoordinator.cpp:
    (WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):
    (WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionSynchronously):
    * page/scrolling/ScrollingCoordinator.h:
    * page/scrolling/mac/ScrollingCoordinatorMac.mm:
    (WebCore::ScrollingCoordinatorMac::updateTiledScrollingIndicator):
    * platform/ScrollableArea.h:
    * platform/win/PopupMenuWin.h:
    * rendering/RenderLayer.cpp:
    (WebCore::RenderLayer::setupFontSubpixelQuantization):
    * rendering/RenderLayer.h:
    * rendering/RenderListBox.h:
    
    Source/WebKit2:
    
    Remove updatesScrollLayerPositionOnMainThread() which is unused by all ports.
    
    * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  7. Add to the Animations log channel output about which properties are b…

    simon.fraser@apple.com committed May 2, 2016
    …eing blended
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157271
    
    Reviewed by Dean Jackson.
    
    Make the Animations log channel dump information as CSS properties are being blended.
    Sample output:
    
      blending left from 0px to 400px at 0.57 -> 227.76px
      blending transform from translate(0px, 0px, 0px) to translate(400px, 0px, 0px) at 0.74 -> translate(294.97px, 0px, 0px)
    
    This makes it easier to see, for example, transitions to or from "auto" values.
    
    * CMakeLists.txt:
    * WebCore.xcodeproj/project.pbxproj:
    * page/animation/CSSPropertyAnimation.cpp:
    (WebCore::PropertyWrapperGetter::value):
    (WebCore::PropertyWrapperMaybeInvalidColor::value):
    (WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty):
    (WebCore::CSSPropertyAnimation::blendProperties):
    * platform/Length.cpp:
    (WebCore::operator<<):
    * platform/LengthBox.h:
    * platform/graphics/transforms/IdentityTransformOperation.h:
    * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
    (WebCore::Matrix3DTransformOperation::dump):
    * platform/graphics/transforms/Matrix3DTransformOperation.h:
    * platform/graphics/transforms/MatrixTransformOperation.cpp:
    (WebCore::MatrixTransformOperation::dump):
    * platform/graphics/transforms/MatrixTransformOperation.h:
    * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
    (WebCore::PerspectiveTransformOperation::dump):
    * platform/graphics/transforms/PerspectiveTransformOperation.h:
    * platform/graphics/transforms/RotateTransformOperation.cpp:
    (WebCore::RotateTransformOperation::dump):
    * platform/graphics/transforms/RotateTransformOperation.h:
    * platform/graphics/transforms/ScaleTransformOperation.cpp:
    (WebCore::ScaleTransformOperation::dump):
    * platform/graphics/transforms/ScaleTransformOperation.h:
    * platform/graphics/transforms/SkewTransformOperation.cpp:
    (WebCore::SkewTransformOperation::dump):
    * platform/graphics/transforms/SkewTransformOperation.h:
    * platform/graphics/transforms/TransformOperation.h:
    * platform/graphics/transforms/TransformOperations.cpp:
    (WebCore::operator<<):
    * platform/graphics/transforms/TransformOperations.h:
    * platform/graphics/transforms/TranslateTransformOperation.cpp:
    (WebCore::TranslateTransformOperation::dump):
    * platform/graphics/transforms/TranslateTransformOperation.h:
    * rendering/style/NinePieceImage.cpp:
    (WebCore::operator<<):
    * rendering/style/NinePieceImage.h:
    * svg/SVGLength.cpp:
    (WebCore::operator<<):
    * svg/SVGLength.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200341 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  8. Modernize HTMLConstructionSite

    cdumez@apple.com committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157279
    
    Reviewed by Alex Christensen.
    
    Modernize HTMLConstructionSite: Use less raw pointers, more auto, more
    range loops and more nullptr.
    
    * dom/ScriptElement.h:
    * html/parser/HTMLConstructionSite.cpp:
    (WebCore::setAttributes):
    (WebCore::shouldUseLengthLimit):
    (WebCore::executeReparentTask):
    (WebCore::HTMLConstructionSite::attachLater):
    (WebCore::HTMLConstructionSite::executeQueuedTasks):
    (WebCore::HTMLConstructionSite::HTMLConstructionSite):
    (WebCore::HTMLConstructionSite::takeForm):
    (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
    (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
    (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
    (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
    (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
    (WebCore::HTMLConstructionSite::setDefaultCompatibilityMode):
    (WebCore::HTMLConstructionSite::setCompatibilityMode):
    (WebCore::HTMLConstructionSite::finishedParsing):
    (WebCore::HTMLConstructionSite::insertDoctype):
    (WebCore::HTMLConstructionSite::insertComment):
    (WebCore::HTMLConstructionSite::insertCommentOnDocument):
    (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
    (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
    (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
    (WebCore::HTMLConstructionSite::insertHTMLFormElement):
    (WebCore::HTMLConstructionSite::insertHTMLElement):
    (WebCore::HTMLConstructionSite::insertHTMLElementOrFindCustomElementInterface):
    (WebCore::HTMLConstructionSite::insertCustomElement):
    (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
    (WebCore::HTMLConstructionSite::insertFormattingElement):
    (WebCore::HTMLConstructionSite::insertScriptElement):
    (WebCore::HTMLConstructionSite::insertForeignElement):
    (WebCore::HTMLConstructionSite::insertTextNode):
    (WebCore::HTMLConstructionSite::reparent):
    (WebCore::HTMLConstructionSite::insertAlreadyParsedChild):
    (WebCore::HTMLConstructionSite::takeAllChildren):
    (WebCore::HTMLConstructionSite::createElement):
    (WebCore::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface):
    (WebCore::HTMLConstructionSite::createHTMLElement):
    (WebCore::HTMLConstructionSite::createElementFromSavedToken):
    (WebCore::HTMLConstructionSite::indexOfFirstUnopenFormattingElement):
    (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
    (WebCore::HTMLConstructionSite::findFosterSite):
    (WebCore::HTMLConstructionSite::shouldFosterParent):
    (WebCore::HTMLConstructionSite::fosterParent):
    (WebCore::HTMLConstructionSite::~HTMLConstructionSite): Deleted.
    (WebCore::HTMLConstructionSite::setForm): Deleted.
    (WebCore::HTMLConstructionSite::setCompatibilityModeFromDoctype): Deleted.
    (WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode): Deleted.
    (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion): Deleted.
    * html/parser/HTMLConstructionSite.h:
    (WebCore::HTMLConstructionSite::inQuirksMode):
    (WebCore::HTMLConstructionSite::isTelephoneNumberParsingEnabled):
    (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
    * html/parser/HTMLElementStack.cpp:
    (WebCore::HTMLNames::isRootNode):
    (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
    (WebCore::HTMLElementStack::ElementRecord::replaceElement):
    (WebCore::HTMLElementStack::ElementRecord::isAbove):
    (WebCore::HTMLElementStack::popAll):
    (WebCore::HTMLElementStack::popUntil):
    (WebCore::HTMLElementStack::popUntilPopped):
    (WebCore::HTMLElementStack::pushRootNode):
    (WebCore::HTMLElementStack::pushHTMLHtmlElement):
    (WebCore::HTMLElementStack::pushRootNodeCommon):
    (WebCore::HTMLElementStack::pushHTMLHeadElement):
    (WebCore::HTMLElementStack::pushHTMLBodyElement):
    (WebCore::HTMLElementStack::push):
    (WebCore::HTMLElementStack::insertAbove):
    (WebCore::HTMLElementStack::removeHTMLHeadElement):
    (WebCore::HTMLElementStack::remove):
    (WebCore::HTMLElementStack::contains):
    (WebCore::inScopeCommon):
    (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
    (WebCore::HTMLElementStack::inScope):
    (WebCore::HTMLElementStack::pushCommon):
    (WebCore::HTMLElementStack::popCommon):
    (WebCore::HTMLElementStack::removeNonTopCommon):
    (WebCore::HTMLElementStack::show):
    (WebCore::HTMLElementStack::hasOnlyOneElement): Deleted.
    (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement): Deleted.
    (WebCore::HTMLElementStack::pop): Deleted.
    (WebCore::HTMLElementStack::popUntilTableScopeMarker): Deleted.
    (WebCore::HTMLElementStack::oneBelowTop): Deleted.
    * html/parser/HTMLElementStack.h:
    (WebCore::HTMLElementStack::ElementRecord::stackItem):
    (WebCore::HTMLElementStack::ElementRecord::setNext): Deleted.
    (WebCore::HTMLElementStack::popUntilPopped): Deleted.
    * html/parser/HTMLFormattingElementList.cpp:
    (WebCore::HTMLFormattingElementList::contains):
    (WebCore::HTMLFormattingElementList::swapTo):
    (WebCore::HTMLFormattingElementList::append):
    (WebCore::HTMLFormattingElementList::remove):
    (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
    (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):
    * html/parser/HTMLFormattingElementList.h:
    (WebCore::HTMLFormattingElementList::Entry::Entry):
    (WebCore::HTMLFormattingElementList::Entry::replaceElement):
    (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
    (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
    (WebCore::HTMLFormattingElementList::Bookmark::mark):
    (WebCore::HTMLFormattingElementList::first):
    (WebCore::HTMLFormattingElementList::Entry::isMarker): Deleted.
    (WebCore::HTMLFormattingElementList::Entry::stackItem): Deleted.
    (WebCore::HTMLFormattingElementList::Entry::operator!=): Deleted.
    * html/parser/HTMLTreeBuilder.cpp:
    (WebCore::HTMLTreeBuilder::processDoctypeToken):
    (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
    (WebCore::HTMLTreeBuilder::processStartTagForInBody):
    (WebCore::HTMLTreeBuilder::insertGenericHTMLElement):
    (WebCore::HTMLTreeBuilder::processTemplateStartTag):
    (WebCore::HTMLTreeBuilder::processStartTagForInTable):
    (WebCore::HTMLTreeBuilder::processStartTag):
    (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody):
    (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
    (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
    (WebCore::HTMLTreeBuilder::processEndTagForInBody):
    (WebCore::HTMLTreeBuilder::processComment):
    (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
    (WebCore::HTMLTreeBuilder::processStartTagForInHead):
    (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
    (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
    (WebCore::HTMLTreeBuilder::processScriptStartTag):
    (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  9. Add fail-fast option to run-javascriptcore-tests

    commit-queue@webkit.org committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157270
    
    Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2016-05-02
    Reviewed by Geoffrey Garen.
    
    * Scripts/run-javascriptcore-tests: Add fail-fast command line option.
    Defaults to yes, which is the current behavior.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  10. [Win] Clean up annoying compiler warnings

    peavo@outlook.com committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=149813
    
    Reviewed by Alex Christensen.
    
    * bytecode/PropertyCondition.cpp:
    (JSC::PropertyCondition::isWatchableWhenValid):
    * dfg/DFGObjectAllocationSinkingPhase.cpp:
    * dfg/DFGSpeculativeJIT32_64.cpp:
    (JSC::DFG::SpeculativeJIT::emitCall):
    * inspector/InspectorBackendDispatcher.cpp:
    (Inspector::BackendDispatcher::sendPendingErrors):
    * jit/JITCall32_64.cpp:
    (JSC::JIT::compileOpCall):
    * parser/Parser.cpp:
    (JSC::Parser<LexerType>::parseAssignmentExpression):
    * runtime/ClonedArguments.cpp:
    (JSC::ClonedArguments::createWithInlineFrame):
    * runtime/Error.cpp:
    (JSC::addErrorInfoAndGetBytecodeOffset):
    * runtime/IntlNumberFormat.cpp:
    (JSC::IntlNumberFormat::initializeNumberFormat):
    * runtime/JSObject.cpp:
    (JSC::JSObject::heapSnapshot):
    (JSC::callToPrimitiveFunction):
    * runtime/RegExpPrototype.cpp:
    (JSC::flagsString):
    * runtime/SamplingProfiler.cpp:
    (JSC::SamplingProfiler::StackFrame::functionStartColumn):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  11. Web Inspector: Adding a new console message shouldn't modify DOM when…

    nvasilyev@apple.com committed May 2, 2016
    … the console log is hidden
    
    
    https://bugs.webkit.org/show_bug.cgi?id=155629
    <rdar://problem/25235470>
    
    Reviewed by Timothy Hatcher.
    
    Instead of rendering console messages right away, store them (in _pendingMessages)
    and render only when the console tab or the split console is visible.
    Also, batch rendering operations using requestAnimationFrame.
    
    * UserInterface/Controllers/JavaScriptLogViewController.js:
    (WebInspector.JavaScriptLogViewController):
    Store console message views in _pendingMessages.
    
    (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
    (WebInspector.JavaScriptLogViewController.prototype.renderPendingMessages):
    Use requestAnimationFrame batching. Run isScrolledToBottom() at most only once
    per batch.
    
    (WebInspector.JavaScriptLogViewController.prototype.renderPendingMessagesSoon):
    (WebInspector.JavaScriptLogViewController.prototype._didRenderConsoleMessageView):
    There is no need to run scrollToBottom again.
    
    * UserInterface/Views/ConsoleCommandView.js:
    (WebInspector.ConsoleCommandView):
    Move all DOM operations to a new render method.
    
    (WebInspector.ConsoleCommandView.prototype.render):
    * UserInterface/Views/ConsoleMessageView.js:
    (WebInspector.ConsoleMessageView):
    (WebInspector.ConsoleMessageView.prototype.render):
    (WebInspector.ConsoleMessageView.prototype.set repeatCount):
    (WebInspector.ConsoleMessageView.prototype._renderRepeatCount):
    * UserInterface/Views/LogContentView.js:
    (WebInspector.LogContentView.prototype.shown):
    When the console tab or the split console is opened render all pending messages.
    
    (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
    No need to scrollToBottom once again.
    
    (WebInspector.LogContentView.prototype._messageAdded):
    (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated):
    (WebInspector.LogContentView.prototype._scopeFromMessageLevel): Deleted.
    (WebInspector.LogContentView.prototype._markScopeBarItemUnread): Added.
    Rename _pulseScopeBarItemBorder. In the very first version the border was pulsing,
    but now we use small colored circles instead.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  12. Remove unneeded casts once we upgrade to a version of Visual Studio t…

    peavo@outlook.com committed May 2, 2016
    …hat is not broken
    
    
    https://bugs.webkit.org/show_bug.cgi?id=121235
    
    Reviewed by Darin Adler.
    
    * css/MediaQueryEvaluator.cpp:
    (WebCore::createFunctionMap):
    * dom/make_names.pl:
    (printWrapperFactoryCppFile):
    * loader/archive/ArchiveFactory.cpp:
    (WebCore::archiveMIMETypes):
    * rendering/svg/SVGPathData.cpp:
    (WebCore::updatePathFromGraphicsElement):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  13. Crash if a certificate chain has null certificates

    achristensen@apple.com committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157206
    
    Reviewed by Alexey Proskuryakov.
    
    * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
    (WebKit::certificatesMatch):
    SecTrustGetCertificateAtIndex can return null.
    If this ever happens, something has gone horribly wrong in the security code and we should crash.
    See rdar://problem/21723172
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  14. Uncaught Exception: TypeError: null is not an object (evaluating 'sou…

    commit-queue@webkit.org committed May 2, 2016
    …rceCodeLocation.formattedLineNumber')
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157239
    <rdar://problem/26030791>
    
    Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-05-02
    Reviewed by Timothy Hatcher.
    
    * UserInterface/Controllers/IssueManager.js:
    (WebInspector.IssueManager.issueMatchSourceCode):
    Require a sourceCodeLocation for Script errors.
    
    * UserInterface/Views/SourceCodeTextEditor.js:
    (WebInspector.SourceCodeTextEditor.prototype._addIssue):
    Be safe against a missing sourceCodeLocation.
    
    * UserInterface/Views/SourceCodeTextEditor.css:
    (.source-code.text-editor > .CodeMirror .issue-widget.inline > .arrow):
    (@media (-webkit-min-device-pixel-ratio: 2)):
    Adjust the style, on non-Retina the inline message arrow would sometimes
    be detached from the warning message.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  15. Fix build.

    andersca@apple.com committed May 2, 2016
    * platform/mac/WebPlaybackControlsManager.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  16. Web Inspector: Zooming of docked Web Inspector affects the webpage, b…

    timothy@apple.com committed May 2, 2016
    …ut reset to 0 does not
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157234
    rdar://problem/26027177
    
    Always prevent default for the zoom keyboard shortcuts to avoid passing the event back to
    Safari to handle and add explicit beeps when max/min is hit.
    
    Reviewed by Brian Burg.
    
    * UserInterface/Base/Main.js:
    (WebInspector.contentLoaded): Removed setting implicitlyPreventsDefault on zoom keyboard shortcuts.
    (WebInspector._increaseZoom): Add explicit beep and remove preventDefault call.
    (WebInspector._decreaseZoom): Ditto.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  17. DataDetector underline color should be based on the text color

    weinig@apple.com committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157272
    
    Fixes:
        <rdar://problem/25663930> DataDetectors links should use the default text color for their parent nodes
        <rdar://problem/25663983> DataDetectors links underline color update
    
    Reviewed by Tim Horton.
    
    * editing/cocoa/DataDetection.mm:
    (WebCore::DataDetection::detectContentInRange):
    When using light links, use the color of the parent element as the text color, and that same color with
    20% alpha as the underline color.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  18. Addressing post-review comments after r200116

    mmaxfield@apple.com committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157228
    
    Reviewed by Anders Carlsson.
    
    * Shared/WebPreferencesDefinitions.h:
    * UIProcess/API/Cocoa/WKWebView.mm:
    (-[WKWebView _initializeWithConfiguration:]):
    * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
    * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
    (-[WKWebViewConfiguration encodeWithCoder:]):
    (-[WKWebViewConfiguration initWithCoder:]):
    (-[WKWebViewConfiguration copyWithZone:]):
    * UIProcess/WebPageProxy.cpp:
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::updatePreferences):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  19. [CMake] MiniBrowser fails to build because libsoup link flags are not…

    clopez@igalia.com committed May 2, 2016
    … defined.
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157268
    
    Reviewed by Michael Catanzaro.
    
    * MiniBrowser/gtk/CMakeLists.txt:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  20. [Win] Enable IndexedDB.

    peavo@outlook.com committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157192
    
    Reviewed by Brent Fulgham.
    
    .:
    
    * Source/cmake/OptionsWin.cmake:
    
    Source/WTF:
    
    Fix compile errors when format specifiers like PRIu64 is used, by defining
    __STDC_FORMAT_MACROS before inttypes.h is included.
    
    * wtf/Platform.h: 
    
    LayoutTests:
    
    * platform/win/TestExpectations: Update IndexedDB test expectations.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  21. document.currentScript must be null when we're executing a script ins…

    rniwa@webkit.org committed May 2, 2016
    …ide a shadow tree
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157245
    
    Reviewed by Darin Adler.
    
    Source/WebCore:
    
    Fix the bug by not setting currentScript as spec'ed in HTML5 specification:
    https://html.spec.whatwg.org/multipage/dom.html#dom-document-currentscript
    https://html.spec.whatwg.org/multipage/scripting.html#execute-the-script-block
    as of 3dc763829ca1598427b588cf08830c1e2af5a05c
    
    New behavior matches that of Google Chrome Canary.
    
    Test: fast/shadow-dom/Document-prototype-currentScript.html
    
    * dom/CurrentScriptIncrementer.h:
    (WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
    (WebCore::CurrentScriptIncrementer::~CurrentScriptIncrementer):
    * dom/ScriptElement.cpp:
    (WebCore::ScriptElement::executeScript):
    
    LayoutTests:
    
    Add a W3C style testharness.js test.
    
    * fast/shadow-dom/Document-prototype-currentScript-expected.txt: Added.
    * fast/shadow-dom/Document-prototype-currentScript.html: Added.
    * fast/shadow-dom/resources/Document-prototype-currentScript-helper.js: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  22. Do not reuse cache entries with conditional headers

    achristensen@apple.com committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157205
    rdar://problem/25856933
    
    Reviewed by Chris Dumez.
    
    Source/WebCore:
    
    Test: http/tests/xmlhttprequest/if-modified-since-0.html
    
    * loader/cache/CachedRawResource.cpp:
    (WebCore::CachedRawResource::canReuse):
    CachedResourceLoader::determineRevalidationPolicy asserts that the request is not conditional,
    which means that it does not have any headers like If-Modified-Since.  They are usually different,
    because we put the timestamp in the If-Modified-Since header, so it fails the canReuse test because
    time has passed since the last If-Modified-Since header was sent.  When a user sets the If-Modified-Since
    manually to something that is constant, we reuse cache entries when we should not.
    * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
    (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
    Set the source so we can use it in Internals.
    
    LayoutTests:
    
    * http/tests/xmlhttprequest/if-modified-since-0-expected.txt: Added.
    * http/tests/xmlhttprequest/if-modified-since-0.html: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  23. ToThis should be able to be eliminated in Constant Folding

    keith_miller@apple.com committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157213
    
    Reviewed by Saam Barati.
    
    This patch enables eliminating the ToThis value when we have abstract interpreter
    indicates the node is not needed. Since there are Objects that override their
    ToThis behavior we first check if we can eliminate the node by looking at its
    speculated type. If the function is in strict mode then we can eliminate ToThis as
    long as the speculated type is not SpecObjectOther since that contains objects
    that may set OverridesToThis. If the function is not in strict mode then we can
    eliminate ToThis as long is the speculated type is an object that is not SpecObjectOther.
    
    If we can't eliminate with type information we can still eliminate the ToThis node with
    the proven structure set. When ToThis only sees structures that do not set OverridesToThis
    it can be eliminated. Additionally, if the function is in strict mode then we can eliminate
    ToThis as long as all only the object structures don't set OverridesToThis.
    
    * dfg/DFGAbstractInterpreterInlines.h:
    (JSC::DFG::isToThisAnIdentity):
    (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
    * dfg/DFGConstantFoldingPhase.cpp:
    (JSC::DFG::ConstantFoldingPhase::foldConstants):
    * dfg/DFGFixupPhase.cpp:
    (JSC::DFG::FixupPhase::fixupToThis):
    * tests/stress/to-this-global-object.js: Added.
    (test):
    (test2):
    (get for):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  24. Speculatively fix the cmake build

    yoav@yoav.ws committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157262
    
    Reviewed by Darin Adler.
    
    This patch adds WEB_TIMING build flag guards around calls to DOMWindow()->performance(),
    in order to make sure builds that have WEB_TIMING disabled (e.g. cmake on Mac) continue
    to build.
    
    No new tests as there's no functional change.
    
    * loader/cache/CachedResourceLoader.cpp:
    (WebCore::CachedResourceLoader::loadDone):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  25. CSP: Add workaround for XtraMath

    dbates@webkit.org committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157252
    
    Reviewed by Andy Estes.
    
    Source/WebCore:
    
    * platform/RuntimeApplicationChecks.h:
    * platform/RuntimeApplicationChecks.mm:
    (WebCore::IOSApplication::isXtraMath): Added.
    
    Source/WebKit/mac:
    
    * WebView/WebView.mm:
    (shouldAllowContentSecurityPolicySourceStarToMatchAnyProtocol): Allow * to match any protocol for
    applicable versions of app XtraMath.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  26. DatabaseTracker::closeAllDatabases calls Database::close from the wro…

    dbates@webkit.org committed May 2, 2016
    …ng thread
    
    
    https://bugs.webkit.org/show_bug.cgi?id=147672
    <rdar://problem/22357464>
    
    Reviewed by Brady Eidson.
    
    Source/WebCore:
    
    Schedule a DatabaseCloseTask when Database::close() is called from a thread other than the
    database thread as the database thread is responsible for interacting with the database.
    
    Currently -[WebDatabaseManager startBackgroundTask] and WebProcess::processWillSuspendImminently()
    call DatabaseTracker::closeAllDatabases() indirectly and directly, respectively, from a
    thread other than the database thread. In a debug build, this causes an assertion failure
    in Database::close(). In a release/production build, this starts a race between the calling
    thread and the database thread that can lead to a crash. It is the responsibility of the
    database thread to manage the database. We should ensure that calling Database::close()
    delegates the responsibility of actually closing the database to the database thread to
    avoid interfering with the database thread or the need to synchronize access to data
    structures used by the database thread.
    
    * Modules/webdatabase/Database.cpp:
    (WebCore::Database::interrupt): Added. Turns around and calls SQLiteDatabase::interrupt().
    (WebCore::Database::close): Added. Schedules a DatabaseCloseTask to close the database and
    wait for it to complete if we have not already scheduled closing the database.
    (WebCore::Database::performClose): Renamed; formerly named close.
    (WebCore::Database::markAsDeletedAndClose): Extracted logic to schedule a DatabaseCloseTask
    from here to Database::close() and modified this function to call Database::close().
    * Modules/webdatabase/Database.h:
    * Modules/webdatabase/DatabaseTask.cpp:
    (WebCore::DatabaseCloseTask::doPerformTask): Call Database::performClose() instead of Database::close()
    as the latter has been repurposed to schedule closing the database.
    * Modules/webdatabase/DatabaseThread.cpp:
    (WebCore::DatabaseThread::databaseThread): Ditto.
    * Modules/webdatabase/DatabaseTracker.cpp:
    (WebCore::DatabaseTracker::closeAllDatabases): Added argument currentQueryBehavior (defaults
    to CurrentQueryBehavior::RunToCompletion - close every database after completion of the
    current database query, if any).
    * Modules/webdatabase/DatabaseTracker.h:
    * platform/sql/SQLiteDatabase.cpp:
    (WebCore::SQLiteDatabase::interrupt): Added. This is safe to call regardless of the state
    of the database and thread safe by <https://www.sqlite.org/c3ref/interrupt.html>.
    * platform/sql/SQLiteDatabase.h:
    
    Source/WebKit/mac:
    
    Update the background assertion expiration callback to call DatabaseTracker::closeAllDatabases()
    with CurrentQueryBehavior::Interrupt so that we abort a long running query and close the database
    immediately to avoid holding a locked file when the process is suspended.
    
    * Storage/WebDatabaseManager.mm:
    (+[WebDatabaseManager startBackgroundTask]):
    
    Source/WebKit2:
    
    Call DatabaseTracker::closeAllDatabases() with CurrentQueryBehavior::Interrupt so that we abort
    a long running query and close the database immediately to avoid holding a locked file when the
    process is suspended.
    
    * WebProcess/WebProcess.cpp:
    (WebKit::WebProcess::processWillSuspendImminently):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  27. Class contructor and methods shouldn't have "arguments" and "caller"

    gskachkov@gmail.com committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=144238
    
    Reviewed by Ryosuke Niwa.
    
    Source/JavaScriptCore:
    
    Added TypeError that is raised in case of access to properties 'arguments' or 'caller'
    of constructor or method of class.
    
    * runtime/JSFunction.cpp:
    (JSC::getThrowTypeErrorGetterSetter):
    (JSC::JSFunction::getOwnPropertySlot):
    * runtime/JSGlobalObject.cpp:
    (JSC::JSGlobalObject::createThrowTypeErrorArgumentsAndCaller):
    (JSC::JSGlobalObject::visitChildren):
    * runtime/JSGlobalObject.h:
    (JSC::JSGlobalObject::throwTypeErrorArgumentsAndCallerGetterSetter):
    * runtime/JSGlobalObjectFunctions.cpp:
    (JSC::globalFuncThrowTypeErrorArgumentsAndCaller):
    * runtime/JSGlobalObjectFunctions.h:
    
    LayoutTests:
    
    * js/class-method-and-constructor-properties-expected.txt: Added.
    * js/class-method-and-constructor-properties.html: Added.
    * js/script-tests/class-method-and-constructor-properties.js: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  28. Move ResourceTiming behind a runtime flag

    yoav@yoav.ws committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157133
    
    Reviewed by Alex Christensen.
    
    .:
    
    * Source/cmake/WebKitFeatures.cmake: Remove the PERFORMANCE_TIMELINE build flag.
    
    Source/JavaScriptCore:
    
    * runtime/CommonIdentifiers.h: Added PerformanceEntry, PerformanceEntryList and PerformanceResourceTiming as property names.
    
    Source/WebCore:
    
    Move the ResourceTiming API from being behind a build time flag to be behind an
    off-by-default runtime flag, that can be turned on using internals.
    
    Tests: fast/dom/Window/window-properties-performance-resource-timing.html
           http/tests/performance/performance-resource-timing-entries.html
    
    * DerivedSources.make: Added idl files for PerformanceEntry, PerformanceEntryList and PerformanceResourceTiming.
    * WebCore.xcodeproj/project.pbxproj: Added the various Performance* files to the project.
    * bindings/generic/RuntimeEnabledFeatures.cpp: Added ResourceTiming as a runtime flag.
    (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
    * bindings/generic/RuntimeEnabledFeatures.h: Added ResourceTiming as a runtime flag.
    (WebCore::RuntimeEnabledFeatures::setResourceTimingEnabled):
    (WebCore::RuntimeEnabledFeatures::resourceTimingEnabled):
    * bindings/js/JSPerformanceEntryCustom.cpp: Removed #if for ResourceTiming, and replaced PERFORMANCE_TIMELINE for WEB_TIMING.
    Added build flag around UserTiming related h files.
    (WebCore::toJS): Deleted.
    * dom/EventNames.h: Renamed webkitresourcetimingbufferfull to resourcetimingbufferfull.
    * loader/DocumentThreadableLoader.cpp: Replace #if for ResourceTiming with runtime flag.
    (WebCore::DocumentThreadableLoader::loadRequest):
    * loader/ResourceLoadNotifier.cpp: Replace #if for ResourceTiming with runtime flag.
    (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
    * loader/cache/CachedResourceLoader.cpp: Replace #if for ResourceTiming with runtime flag.
    (WebCore::CachedResourceLoader::revalidateResource):
    (WebCore::CachedResourceLoader::loadResource):
    (WebCore::CachedResourceLoader::storeResourceTimingInitiatorInformation):
    (WebCore::CachedResourceLoader::loadDone):
    * loader/cache/CachedResourceLoader.h: Remove #if for ResourceTiming.
    * page/Performance.cpp: Remove #if for ResourceTiming.
    (WebCore::Performance::Performance): Removed #if for ResourceTiming related initialization.
    (WebCore::Performance::webkitGetEntries): Renamed to getEntries.
    (WebCore::Performance::webkitGetEntriesByType): Renamed to getEntriesByType.
    (WebCore::Performance::webkitGetEntriesByName): Renamed to getEntriesByName.
    * page/Performance.h: Remove #if for ResourceTiming.
    * page/Performance.idl: Replace #if for ResourceTiming with runtime flag.
    * page/PerformanceEntry.cpp: Remove the PERFORMANCE_TIMELINE build flag.
    * page/PerformanceEntry.h: Remove the PERFORMANCE_TIMELINE build flag.
    * page/PerformanceEntry.idl: Replace the PERFORMANCE_TIMELINE build flag with runtime flag.
    * page/PerformanceEntryList.cpp: Remove the PERFORMANCE_TIMELINE build flag.
    * page/PerformanceEntryList.h: Remove the PERFORMANCE_TIMELINE build flag.
    * page/PerformanceEntryList.idl: Replace the PERFORMANCE_TIMELINE build flag with runtime flag.
    * page/PerformanceResourceTiming.cpp: Remove the RESOURCE_TIMING build flag.
    * page/PerformanceResourceTiming.h: Remove the RESOURCE_TIMING build flag.
    * page/PerformanceResourceTiming.idl: Replace the RESOURCE_TIMING build flag with runtime flag.
    * testing/Internals.cpp: Add a method that enables ResourceTiming.
    (WebCore::Internals::setResourceTimingSupport):
    * testing/Internals.h: Add a method that enables ResourceTiming.
    * testing/Internals.idl: Add a method that enables ResourceTiming.
    
    LayoutTests:
    
    Added tests that make sure ResourceTiming APIs are exposed and that resources
    show up as entries in the performance timeline.
    
    * fast/dom/Window/window-properties-performance-resource-timing-expected.txt: Added.
    * fast/dom/Window/window-properties-performance-resource-timing.html: Added.
    * fast/dom/Window/window-properties-performance.html: Removed "//;".
    * http/tests/performance/performance-resource-timing-entries-expected.txt: Added.
    * http/tests/performance/performance-resource-timing-entries.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  29. Assertion failure for bound function with custom prototype and Reflec…

    utatane.tea@gmail.com committed May 2, 2016
    …t.construct
    
    
    https://bugs.webkit.org/show_bug.cgi?id=157081
    
    Reviewed by Saam Barati.
    
    We ensured `newTarget != exec->callee()`. However, it does not mean `newTarget.get("prototype") != exec->callee()->get("prototype")`.
    When the given `prototype` is the same to `baseStructure->sotredPrototype()`, it is unnecessary to create a new structure from this
    baseStructure.
    
    * bytecode/InternalFunctionAllocationProfile.h:
    (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase):
    * tests/stress/custom-prototype-may-be-same-to-original-one.js: Added.
    (shouldBe):
    (boundFunction):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  30. AX: Crash at WebCore::AccessibilityObject::getAttribute const + 9

    n_wang@apple.com committed May 2, 2016
    https://bugs.webkit.org/show_bug.cgi?id=157256
    
    Reviewed by Chris Fleizach.
    
    Source/WebCore:
    
    When the <label> for the input element has no renderer, it will cause
    crash when we ask for the title element text. Fixed it by getting the
    aria-label attribute directly from the <label> element instead of its
    accessibility object.
    
    Test case covered in accessibility/mac/aria-label-on-label-element.html.
    
    * accessibility/AccessibilityNodeObject.cpp:
    (WebCore::AccessibilityNodeObject::titleElementText):
    
    LayoutTests:
    
    * accessibility/mac/aria-label-on-label-element-expected.txt:
    * accessibility/mac/aria-label-on-label-element.html:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Something went wrong with that request. Please try again.