Skip to content
Commits on Feb 7, 2016
  1. REGRESSION(r195661): [GTK] Scrollbar tests crashing after overlay scr…

    carlosgc@webkit.org committed
    …ollbar groundwork
    
    
    https://bugs.webkit.org/show_bug.cgi?id=153695
    
    Reviewed by Michael Catanzaro.
    
    Source/WebCore:
    
    The problem is that ScrollAnimation objects are not destroyed by
    the ScrollAnimator destructor, because I forgot to add a virtual
    destructor for ScrollAnimation in r195661.
    
    * platform/ScrollAnimation.h:
    (WebCore::ScrollAnimation::~ScrollAnimation):
    
    LayoutTests:
    
    * platform/gtk/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  2. Unreviewed, update several layout tests for WK1 after r196227.

    cdumez@apple.com committed
    * http/tests/security/cross-frame-access-enumeration-expected.txt:
    * http/tests/security/cross-frame-access-enumeration.html:
    * http/tests/security/cross-frame-access-get-expected.txt:
    * http/tests/security/cross-frame-access-get.html:
    * http/tests/security/cross-frame-access-history-get-expected.txt:
    * http/tests/security/cross-frame-access-history-get-override-expected.txt:
    * http/tests/security/cross-frame-access-history-get-override.html:
    * http/tests/security/cross-frame-access-history-get.html:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196237 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  3. REGRESSION (r195432): Web Inspector: bottom right section of the styl…

    nvasilyev@apple.com committed
    …es sidebar is 1px taller than the console prompt
    
    
    https://bugs.webkit.org/show_bug.cgi?id=153959
    <rdar://problem/24541053>
    
    Reviewed by Timothy Hatcher.
    
    * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
    (.sidebar > .panel.details.css-style > .content ~ .options-container):
    (.sidebar > .panel.details.css-style > .content ~ .class-list-container)::
    Revert the height to what it used to be prior r195432.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  4. [GTK] Rebaseline some tests and update expectations after r196222

    mcatanzaro@igalia.com committed
    Unreviewed test gardening.
    
    * platform/gtk/TestExpectations:
    * platform/gtk/fast/clip/outline-overflowClip-expected.txt:
    * platform/gtk/fast/repaint/layer-outline-expected.txt:
    * platform/gtk/fast/repaint/layer-outline-horizontal-expected.txt:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  5. Call CFRelease() on SecRequirementRef when no longer needed

    dbates@webkit.org committed
    https://bugs.webkit.org/show_bug.cgi?id=153954
    <rdar://problem/24540259>
    
    Reviewed by Dan Bernstein.
    
    * Shared/mac/ChildProcessMac.mm:
    (WebKit::ChildProcess::initializeSandbox):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  6. [GTK] imported/blink/compositing/squashing/abspos-under-abspos-overfl…

    mcatanzaro@igalia.com committed
    …ow-scroll.html is flaky
    
    Unreviewed test gardening.
    
    * platform/gtk/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  7. FTL must store the call site index before runtime calls, even if it's…

    fpizlo@apple.com committed
    … the tail call slow path
    
    
    https://bugs.webkit.org/show_bug.cgi?id=153955
    rdar://problem/24290970
    
    Reviewed by Saam Barati.
    
    This is necessary because you could throw an exception in a host call on the tail call's slow
    path. That'll route us to lookupExceptionHandler(), which unwinds starting with the call site
    index of our frame. Bad things happen if it's not set. Prior to this patch it was possible
    for the call site index field to be uninitialized, which meant that the throwing machinery
    was making a wild guess about where we are.
    
    * ftl/FTLLowerDFGToLLVM.cpp:
    (JSC::FTL::DFG::LowerDFGToLLVM::compileTailCall):
    * tests/stress/tail-call-host-call-throw.js: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  8. Code clean up: Move Rotater function closer to Stage static methods.

    jonlee@apple.com committed
    The Rotater is used together with those methods; keep them close.
    
    * Animometer/tests/resources/main.js:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  9. Update the JS includes due to ResultsTable move.

    jonlee@apple.com committed
    * Animometer/developer.html:
    * Animometer/index.html:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  10. Move createElement and createSVGElement to Utilities.

    jonlee@apple.com committed
    * Animometer/resources/extensions.js:
    (Utilities.createElement): Added.
    (Utilities.createSVGElement): Added.
    (DocumentExtension.createElement): Deleted.
    (DocumentExtension.createSvgElement): Deleted.
    
    * Animometer/resources/debug-runner/animometer.js:
    * Animometer/resources/runner/animometer.js:
    * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js:
    * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js:
    * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  11. Add a convenience function for creating a class.

    jonlee@apple.com committed
    The pattern for creating a class is common enough to add as a Utilities
    helper function. It also makes it easy to collapse class definitions when
    editing.
    
    * Animometer/resources/debug-runner/animometer.js: Move ProgressBar definition,
    since it is only used here.
    * Animometer/resources/runner/animometer.js: Move ResultsDashboard and
    ResultsTable definition, since it is only used here.
    * Animometer/resources/extensions.js: Move Utilities definition to the top. Convert
    Point, Insets, SimplePromise.
    (ProgressBar): Moved to animometer.js.
    (ResultsDashboard): Moved to animometer.js.
    (ResultsTable): Moved to animometer.js.
    * Animometer/resources/runner/benchmark-runner.js: Convert BenchmarkRunnerState,
    BenchmarkRunner.
    * Animometer/tests/resources/main.js: Convert Rotater, Stage, Animator, Benchmark.
    * Animometer/tests/resources/sampler.js: Convert Experiment, Sampler.
    
    Convert test primitives.
    * Animometer/tests/master/resources/canvas-tests.js: Convert CanvasLineSegment,
    CanvasArc, CanvasLinePoint.
    * Animometer/tests/simple/resources/simple-canvas-paths.js: Convert CanvasLineSegment,
    CanvasLinePoint, CanvasQuadraticSegment, CanvasQuadraticPoint, CanvasBezierSegment,
    CanvasBezierPoint, CanvasArcToSegment, CanvasArcToSegmentFill, CanvasArcSegment,
    CanvasArcSegmentFill, CanvasRect, CanvasRectFill.
    * Animometer/tests/simple/resources/tiled-canvas-image.js: Convert CanvasImageTile.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  12. Prevent cross-origin access to window.history

    cdumez@apple.com committed
    https://bugs.webkit.org/show_bug.cgi?id=153931
    
    Reviewed by Darin Adler.
    
    Source/WebCore:
    
    Prevent cross-origin access to window.history to match the specification [1]
    and the behavior of other browsers (tested Firefox and Chrome).
    
    [1] https://html.spec.whatwg.org/multipage/browsers.html#security-window
    
    No new tests, already covered by existing tests that
    were updated in this patch.
    
    * bindings/js/JSHistoryCustom.cpp:
    (WebCore::JSHistory::pushState):
    (WebCore::JSHistory::replaceState):
    (WebCore::JSHistory::state): Deleted.
    * page/DOMWindow.idl:
    * page/History.idl:
    
    LayoutTests:
    
    Update / rebaseline several layout tests now that cross-origin access to
    window.history is prevented.
    
    * fast/frames/sandboxed-iframe-history-denied-expected.txt:
    * http/tests/history/cross-origin-replace-history-object-child-expected.txt:
    * http/tests/security/cross-frame-access-call-expected.txt:
    * http/tests/security/cross-frame-access-call.html:
    * http/tests/security/cross-frame-access-delete-expected.txt:
    * http/tests/security/cross-frame-access-delete.html:
    * http/tests/security/cross-frame-access-history-prototype-expected.txt:
    * http/tests/security/cross-frame-access-history-put.html: Removed.
    * http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
    * http/tests/security/cross-frame-access-object-getPrototypeOf.html:
    * http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
    * http/tests/security/cross-frame-access-object-setPrototypeOf.html:
    * http/tests/security/resources/cross-frame-iframe-for-history-put-test.html: Removed.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Commits on Feb 6, 2016
  1. ScrollbarPainters needs to be deallocated on the main thread

    bdakin@apple.com committed
    https://bugs.webkit.org/show_bug.cgi?id=153932
    -and corresponding-
    rdar://problem/24015483
    
    Reviewed by Dan Bernstein.
    
    Darin pointed out that this was still race-y. There was still a race 
    condition between the destruction of the two local variables and the
    destruction of the lambda on the main thread. This should fix that. 
    * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
    * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
    (WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac):
    (WebCore::ScrollingTreeFrameScrollingNodeMac::releaseReferencesToScrollbarPaintersOnTheMainThread):
    (WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  2. Minor improvements to debug harness.

    jonlee@apple.com committed
    * Animometer/developer.html:
    * Animometer/resources/debug-runner/animometer.css:
    (#suites): Put the complexity text boxes closer to the test names.
    (#options):
    (#rawFPS circle): Make the interval FPS appear as a separate data series, with a line.
    (#intervalFPS path):
    (#intervalFPS circle):
    * Animometer/resources/debug-runner/animometer.js:
    (window.optionsManager.updateLocalStorageFromUI): Convert number inputs from text.
    (window.suitesManager._onChangeTestCheckbox): Refactor to take a checkbox.
    (window.suitesManager._createTestElement): Enhance such that typing into the complexity
    input will automatically select that test for running.
    (window.suitesManager.updateLocalStorageFromJSON): Make the harness work for private
    browsing.
    * Animometer/resources/debug-runner/graph.js: Separate the intervalFPS data, and show
    more accuracy in timestamps.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  3. Refactor helper methods for getting random values for a stage.

    jonlee@apple.com committed
    Instead of requiring a Stage instance, just attach it to the Stage object.
    
    * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js:
    * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js:
    * Animometer/tests/bouncing-particles/resources/bouncing-particles.js:
    * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js:
    * Animometer/tests/master/resources/canvas-tests.js:
    * Animometer/tests/master/resources/particles.js:
    * Animometer/tests/misc/resources/canvas-electrons.js:
    * Animometer/tests/misc/resources/canvas-stars.js:
    * Animometer/tests/misc/resources/compositing-transforms.js:
    * Animometer/tests/resources/main.js:
    * Animometer/tests/simple/resources/simple-canvas-paths.js:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  4. Finish auditing call sites of upper() and lower(), eliminate many, an…

    darin@apple.com committed
    …d rename the functions
    
    
    https://bugs.webkit.org/show_bug.cgi?id=153905
    
    Reviewed by Sam Weinig.
    
    Source/JavaScriptCore:
    
    * runtime/IntlObject.cpp:
    (JSC::canonicalLangTag): Use converToASCIIUppercase on the language tag.
    
    * runtime/StringPrototype.cpp:
    (JSC::stringProtoFuncToLowerCase): Tweak style and update for name change.
    (JSC::stringProtoFuncToUpperCase): Ditto.
    
    Source/WebCore:
    
    * Modules/mediasource/MediaSource.cpp:
    (WebCore::MediaSource::isTypeSupported): Use convertToASCIILowercase on MIME type.
    
    * accessibility/AccessibilityObject.cpp:
    (WebCore::AccessibilityObject::selectText): Use new names for lower and upper. Also
    tweaked style a tiny bit and used u_toupper rather than converting an entire
    string to uppercase.
    
    * dom/Document.cpp:
    (WebCore::Document::addImageElementByCaseFoldedUsemap): Renamed to reflect the use
    of case folding rather than lowercasing.
    (WebCore::Document::removeImageElementByCaseFoldedUsemap): Ditto.
    (WebCore::Document::imageElementByCaseFoldedUsemap): Ditto.
    * dom/Document.h: Ditto.
    * dom/DocumentOrderedMap.cpp:
    (WebCore::DocumentOrderedMap::getElementByCaseFoldedMapName): Ditto.
    (WebCore::DocumentOrderedMap::getElementByCaseFoldedUsemap): Ditto.
    * dom/DocumentOrderedMap.h: Ditto.
    
    * dom/TreeScope.cpp:
    (WebCore::TreeScope::getImageMap): Removed unneeded special case for null string.
    Simplified logic for cases where the URL does not have a "#" character in it.
    Use case folding instead of lowercase.
    
    * editing/cocoa/HTMLConverter.mm:
    (HTMLConverter::_processText): Removed unneded special case for the empty string.
    Use makCapitalized instead of Cocoa function for "capitalize". Use upper and lower
    functions by their new names.
    
    * html/HTMLImageElement.cpp:
    (WebCore::HTMLImageElement::parseAttribute): Use case folding instead of
    lowerasing for the usemap attribute.
    (WebCore::HTMLImageElement::insertedInto): Ditto.
    (WebCore::HTMLImageElement::removedFrom): Ditto.
    (WebCore::HTMLImageElement::matchesCaseFoldedUsemap): Ditto.
    * html/HTMLImageElement.h: Rename since usemap is case folded now, not lowercased.
    
    * html/HTMLMapElement.cpp:
    (WebCore::HTMLMapElement::imageElement): Use case folding instead of lowercasing
    for usemap.
    (WebCore::HTMLMapElement::parseAttribute): Ditto.
    
    * platform/Language.cpp:
    (WebCore::canonicalLanguageIdentifier): Use convertToASCIILowercase for language code.
    (WebCore::indexOfBestMatchingLanguageInList): Ditto.
    
    * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
    (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use new name for the upper function.
    
    * platform/network/HTTPParsers.cpp:
    (WebCore::parseContentTypeOptionsHeader): Use equalLettersIgnoringASCIICase instead
    of lowercasing to check for a specific header value.
    
    * platform/network/MIMEHeader.cpp:
    (WebCore::retrieveKeyValuePairs): Use convertToASCIILowercase for MIME header name.
    (WebCore::MIMEHeader::parseContentTransferEncoding): Use equalLettersIgnoringASCIICase
    instead of lowercasing.
    
    * platform/network/cf/ResourceHandleCFNet.cpp:
    (WebCore::allowsAnyHTTPSCertificateHosts): Make this hash ASCII case-insensitive.
    (WebCore::clientCertificates): Ditto.
    (WebCore::ResourceHandle::createCFURLConnection): Remove call to lower since the
    set is now ASCII case-insensitive.
    (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate): Ditto.
    (WebCore::ResourceHandle::setClientCertificate): Ditto.
    
    * platform/network/curl/CookieJarCurl.cpp:
    (WebCore::getNetscapeCookieFormat): Use equalLettersIgnoringASCIICase instead of
    lowercasing.
    
    * platform/network/curl/MultipartHandle.cpp:
    (WebCore::MultipartHandle::didReceiveResponse): Use convertToASCIILowercase to
    make a MIME type lowercase.
    
    * platform/network/curl/ResourceHandleCurl.cpp:
    (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate): Removed unneeded
    conversion to lowercase now that the set is ASCII case-insensitive.
    (WebCore::ResourceHandle::setClientCertificate): Removed code that populates a map
    that is then never used for anything.
    
    * platform/network/curl/ResourceHandleManager.cpp:
    (WebCore::headerCallback): Use convertToASCIILowercase for MIME type.
    
    * platform/network/curl/SSLHandle.cpp: Made hash maps keyed by host names
    ASCII case-insensitive.
    (WebCore::addAllowedClientCertificate): Removed lowercasing since the map itself
    is now ASCII case insensitve.
    (WebCore::setSSLClientCertificate): Ditto. Also use auto for iterator type so we
    don't have to write out the map type.
    (WebCore::sslIgnoreHTTPSCertificate): Ditto.
    (WebCore::certVerifyCallback): Ditto.
    
    * platform/network/soup/ResourceHandleSoup.cpp: Made hash maps keyed by host names
    ASCII case-insensitive.
    (WebCore::allowsAnyHTTPSCertificateHosts): Ditto.
    (WebCore::handleUnignoredTLSErrors): Ditto.
    (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate): Ditto.
    (WebCore::ResourceHandle::setClientCertificate): Ditto.
    
    * platform/text/LocaleToScriptMappingDefault.cpp: Made hash maps keyed by script
    names ASCII case-insensitive. USE WTF_ARRAY_LENGTH as appropriate.
    (WebCore::scriptNameToCode): Use modern style to initialize the map. Removed
    unnecessary lowercasing of the script name before looking at the map.
    (WebCore::localeToScriptCodeForFontSelection): Ditto.
    
    * platform/text/win/LocaleWin.cpp:
    (WebCore::convertLocaleNameToLCID): Made map ASCII case-insensitive and removed
    unneeded lowercasing.
    
    * platform/win/PasteboardWin.cpp:
    (WebCore::clipboardTypeFromMIMEType): Use equalLettersIgnoringASCIICase instead
    of lowercasing.
    
    * rendering/RenderText.cpp:
    (WebCore::applyTextTransform): Use new names for the upper and lower functions.
    
    * xml/XMLHttpRequest.cpp:
    (WebCore::XMLHttpRequest::responseIsXML): Remove unneeded lowercasing, since
    DOMImplementation now has ASCII case-insensitive handling of MIME types.
    
    Source/WebKit/mac:
    
    * Plugins/WebBasePluginPackage.mm:
    (-[WebBasePluginPackage getPluginInfoFromPLists]): Use modern for loops.
    (-[WebBasePluginPackage supportsExtension:]): Use convertToASCIILowercase for extension assert.
    Also use modern for loop.
    (-[WebBasePluginPackage supportsMIMEType:]): Ditto.
    (-[WebBasePluginPackage MIMETypeForExtension:]): Ditto.
    
    Source/WebKit/win:
    
    * Plugins/PluginDatabase.cpp:
    (WebCore::PluginDatabase::pluginForMIMEType): Use ASCII case-insensitive map rather
    than lowercasing the MIME type.
    (WebCore::PluginDatabase::setPreferredPluginForMIMEType): Ditto.
    
    * Plugins/PluginDatabase.h: Make m_preferredPlugins use an ASCII case-insensitive hash.
    
    * Plugins/PluginPackage.h: Use ASCII case-insensitive hash for maps keyed by MIME type.
    
    * Plugins/PluginPackageWin.cpp:
    (WebCore::PluginPackage::fetchInfo): Use convertToASCIILowercase to lowercase a MIME type.
    
    Source/WebKit2:
    
    * NetworkProcess/CustomProtocols/CustomProtocolManager.h: Use ASCII case-insensitive hash
    for set of registered schemes.
    
    * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
    (WebKit::getPluginInfoFromPropertyLists): Use convertToASCIILowercase for MIME type and
    for file extensions.
    
    * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
    (WebKit::NetscapePluginModule::parseMIMEDescription): Use convertToASCIILowercase for
    MIME description.
    
    * UIProcess/API/efl/ewk_context.cpp:
    (ewk_context_preferred_languages_set): Use convertToASCIILowercase for language.
    
    * UIProcess/API/gtk/WebKitWebContext.cpp:
    (webkit_web_context_set_preferred_languages): Use convertToASCIILowercase for language.
    
    * UIProcess/Plugins/PluginInfoStore.cpp:
    (WebKit::PluginInfoStore::findPluginForExtension): Use Vector::contains instead of
    writing it out using std::find.
    (WebKit::pathExtension): Lowercase the result with convertToASCIILowercase instead of
    leaving that to the caller.
    (WebKit::PluginInfoStore::findPlugin): Removed call to lower since pathExtension
    handles that now.
    
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::findPlugin): Use convertToASCIILowercase for MIME type.
    
    * UIProcess/WebProcessPool.cpp:
    (WebKit::WebProcessPool::globalURLSchemesWithCustomProtocolHandlers): Use
    an ASCII case-insensitive hash.
    (WebKit::WebProcessPool::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
    Remove lowercasing, since the hash is now ASCII case-insensitive.
    (WebKit::WebProcessPool::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
    Ditto.
    
    * UIProcess/WebProcessPool.h: Use an ASCII case-insensitive hash.
    
    * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
    (WebKit::NetscapePlugin::initialize): Use convertToASCIILowercase on parameter names
    and values.
    
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::pluginSupportsExtension): Use convertToASCIILowercase for extension assertion.
    Also use a modern for loop.
    (WebKit::WebFrameLoaderClient::objectContentType): Make the checks for empty MIME types
    a little less redundant. Reordered logic to avoid checking the list of supported MIME
    types extra times, and to eliminate the need for a boolean. Use convertToASCIILowercase
    on the extension.
    
    Source/WTF:
    
    * wtf/text/AtomicString.cpp:
    (WTF::AtomicString::lower): Deleted.
    * wtf/text/AtomicString.h: Deleted the lower function.
    
    * wtf/text/StringImpl.cpp:
    (WTF::StringImpl::convertToLowercaseWithoutLocale): Renamed from lower.
    (WTF::StringImpl::convertToUppercaseWithoutLocale): Renamed from upper.
    (WTF::StringImpl::convertToLowercaseWithLocale): Renamed from lower.
    (WTF::StringImpl::convertToUppercaseWithLocale): Renamed from upper.
    (WTF::StringImpl::foldCase): Added fast cases for ASCII since this is
    now used in some more-performance-critical code.
    * wtf/text/StringImpl.h: Renamed lower and upper.
    
    * wtf/text/WTFString.cpp:
    (WTF::String::convertToLowercaseWithoutLocale): Renamed from lower.
    (WTF::String::convertToUppercaseWithoutLocale): Renamed from upper.
    (WTF::String::convertToLowercaseWithLocale): Renamed from lower.
    (WTF::String::convertToUppercaseWithLocale): Renamed from upper.
    * wtf/text/WTFString.h: Renamed lower and upper. Removed unneeded comment.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  5. Outline should contribute to visual overflow.

    zalan@apple.com committed
    https://bugs.webkit.org/show_bug.cgi?id=153299
    
    This patch eliminates the special outline handling (RenderView::setMaximalOutlineSize).
    Now that outline is part of visual overflow, we don't have to inflate the layers to accomodate
    outline borders.
    This patch fixes several focusring related repaint issues. However when both the outline: auto
    and the descendant renderer are composited, we still don't paint properly in certain cases. -not a regression.
    (Also when parent renderer has overflow: hidden repaint does not take outline into account. -regression.)
    It changes column behavior (see TestExpectations) since outline behaves now like any other visual overflow properties.
    
    Reviewed by David Hyatt.
    
    Source/WebCore:
    
    Test: fast/repaint/focus-ring-repaint.html
          fast/repaint/focus-ring-repaint-with-negative-offset.html
    
    * css/html.css: resetting to old behavior.
    (:focus):
    (input:focus, textarea:focus, isindex:focus, keygen:focus, select:focus):
    * rendering/InlineFlowBox.cpp:
    (WebCore::InlineFlowBox::addToLine):
    (WebCore::InlineFlowBox::addOutlineVisualOverflow):
    (WebCore::InlineFlowBox::computeOverflow):
    (WebCore::InlineFlowBox::paint): Deleted.
    * rendering/InlineFlowBox.h:
    * rendering/RenderBlock.cpp:
    (WebCore::RenderBlock::computeOverflow):
    (WebCore::RenderBlock::outlineStyleForRepaint):
    (WebCore::RenderBlock::paint): Deleted.
    * rendering/RenderBlockFlow.cpp:
    (WebCore::RenderBlockFlow::layoutBlock): Deleted.
    (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren): Deleted.
    * rendering/RenderBlockLineLayout.cpp:
    (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
    * rendering/RenderBox.cpp:
    (WebCore::RenderBox::addVisualEffectOverflow):
    (WebCore::RenderBox::applyVisualEffectOverflow):
    (WebCore::RenderBox::clippedOverflowRectForRepaint): Deleted.
    * rendering/RenderBoxModelObject.h:
    * rendering/RenderDetailsMarker.cpp:
    (WebCore::RenderDetailsMarker::paint): Deleted.
    * rendering/RenderElement.cpp:
    (WebCore::RenderElement::insertChildInternal):
    (WebCore::RenderElement::styleDidChange):
    (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
    (WebCore::RenderElement::issueRepaintForOutlineAuto):
    (WebCore::RenderElement::updateOutlineAutoAncestor):
    (WebCore::RenderElement::computeMaxOutlineSize): Deleted.
    (WebCore::RenderElement::styleWillChange): Deleted.
    * rendering/RenderElement.h:
    (WebCore::RenderElement::hasContinuation):
    * rendering/RenderInline.cpp:
    (WebCore::RenderInline::paintOutlineForLine): Deleted.
    * rendering/RenderLayer.cpp:
    (WebCore::RenderLayer::calculateClipRects):
    * rendering/RenderLineBoxList.cpp:
    (WebCore::RenderLineBoxList::anyLineIntersectsRect):
    (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
    (WebCore::RenderLineBoxList::paint):
    (WebCore::isOutlinePhase): Deleted.
    * rendering/RenderLineBoxList.h:
    * rendering/RenderListBox.cpp:
    (WebCore::RenderListBox::computePreferredLogicalWidths):
    * rendering/RenderListMarker.cpp:
    (WebCore::RenderListMarker::paint): Deleted.
    * rendering/RenderObject.cpp:
    (WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded): The renderer with outline: auto is responsible for
    painting focusring around the descendants. If we issued repaint only on the descendant when it changes,
    the focusring would not refresh properly. We have to find the ancestor with outline: auto, inflate the repaint rect and
    issue the repaint on the ancestor if we crossed repaint container.
    
    (WebCore::RenderObject::repaintUsingContainer):
    (WebCore::RenderObject::adjustRectForOutlineAndShadow):
    (WebCore::RenderObject::setHasOutlineAutoAncestor):
    (WebCore::RenderObject::adjustRectWithMaximumOutline): Deleted.
    
    * rendering/RenderObject.h: We mark the descendants of outline: auto so that
    when a child renderer changes we can propagate the repaint to the ancestor with outline.
    
    (WebCore::RenderObject::hasOutlineAutoAncestor):
    (WebCore::RenderObject::RenderObjectRareData::RenderObjectRareData):
    * rendering/RenderRegion.cpp:
    (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
    * rendering/RenderReplaced.cpp:
    (WebCore::RenderReplaced::shouldPaint): Deleted.
    (WebCore::RenderReplaced::clippedOverflowRectForRepaint): Deleted.
    * rendering/RenderTable.cpp:
    (WebCore::RenderTable::paint): Deleted.
    * rendering/RenderTableCell.cpp:
    (WebCore::RenderTableCell::clippedOverflowRectForRepaint): Deleted.
    (WebCore::RenderTableCell::paintCollapsedBorders): Deleted.
    * rendering/RenderTableRow.cpp:
    (WebCore::RenderTableRow::layout):
    (WebCore::RenderTableRow::clippedOverflowRectForRepaint): Deleted.
    * rendering/RenderTableSection.cpp:
    (WebCore::RenderTableSection::layoutRows):
    (WebCore::RenderTableSection::computeOverflowFromCells): Deleted.
    (WebCore::RenderTableSection::paintObject): Deleted.
    * rendering/RenderTheme.h:
    (WebCore::RenderTheme::platformFocusRingWidth):
    * rendering/RenderView.cpp:
    (WebCore::RenderView::setMaximalOutlineSize): Deleted.
    * rendering/RenderView.h:
    * rendering/style/RenderStyle.cpp:
    (WebCore::RenderStyle::changeAffectsVisualOverflow):
    (WebCore::RenderStyle::outlineWidth):
    * rendering/style/RenderStyle.h:
    
    LayoutTests:
    
    * fast/repaint/focus-ring-repaint-expected.txt: Added.
    * fast/repaint/focus-ring-repaint.html: Added.
    * fast/repaint/focus-ring-repaint-expected-with-negative-offset.txt: Added.
    * fast/repaint/focus-ring-repaint-with-negative-offset.html: Added.
    * TestExpectations:
    * platform/mac/TestExpectations:
    * platform/mac/compositing/geometry/ancestor-overflow-change-expected.txt:
    * platform/mac/compositing/geometry/composited-in-columns-expected.txt:
    * platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:
    * platform/mac/compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
    * platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
    * platform/mac/fast/clip/outline-overflowClip-expected.txt:
    * platform/mac/fast/inline/continuation-outlines-with-layers-expected.txt:
    * platform/mac/fast/repaint/4776765-expected.txt: Added.
    * platform/mac/fast/repaint/focus-ring-expected.txt: Added.
    * platform/mac/fast/repaint/layer-outline-expected.txt:
    * platform/mac/fast/repaint/layer-outline-horizontal-expected.txt:
    * platform/mac/svg/custom/focus-ring-expected.txt:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  6. [GTK] Various tests are flaky

    mcatanzaro@igalia.com committed
    More unreviewed test gardening.
    
    * platform/gtk/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  7. Object.getOwnPropertyDescriptor() does not work on sub-frame's window

    cdumez@apple.com committed
    https://bugs.webkit.org/show_bug.cgi?id=153925
    
    Reviewed by Darin Adler.
    
    Source/JavaScriptCore:
    
    Calling Object.getOwnPropertyDescriptor() on a sub-frame's window was
    returning undefined for that window's own properties. The reason was
    that the check getOwnPropertySlot() is using to make sure the
    PropertySlot is not for a property coming from the prototype was wrong.
    
    The check was checking that 'this != slotBase' which works fine unless
    this is a JSProxy (e.g. JSDOMWindowShell). To handle proxies, the code
    was also checking that 'slotBase.toThis() != this', attempting to
    get the slotBase/Window's proxy. However, due to the implementation of
    toThis(), we were getting the lexical global object's proxy instead of
    slotBase's proxy. To avoid this issue, the new code explicitly checks
    if 'this' is a JSProxy and makes sure 'JSProxy::target() != slotBase',
    instead of using toThis().
    
    * runtime/JSObject.cpp:
    (JSC::JSObject::getOwnPropertyDescriptor):
    
    LayoutTests:
    
    * fast/dom/Window/getOwnPropertyDescriptor-other-window-expected.txt: Added.
    * fast/dom/Window/getOwnPropertyDescriptor-other-window.html: Added.
    Add test case to test calling Object.getOwnPropertyDescriptor() on a
    sub-frame's window.
    
    * http/tests/security/cross-origin-window-property-access-expected.txt:
    * http/tests/security/cross-origin-window-property-access.html:
    - Update test use use an iframe instead of opening a Window for convenience.
    - Use an actual cross-origin URL. The previous URL was same-origin and therefore
      the test would have failed if window.location was a proper getter/setter
      instead of a 'value' descriptor.
    - Add more tests to cover other Window properties (such as 'name') which are
      actual getter / setters to make sure using the current window's getter on
      a cross origin window does not bypass the security origin checks.
    
    * http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
    * http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
    - Drop checks for properties for which cross-origin access via
    getOwnPropertyDescriptor() now works. They used to not work because of the bug
    this patch fixes, and not due to security checks.
    - Most of these properties are part of the properties that the specification
    states can be accessed cross-origin:
      https://html.spec.whatwg.org/multipage/browsers.html#security-window
    - ALL of these properties could already be accessed cross origin via regular
    property getters (e.g. crossOriginWindow.blur) in Safari 9 so there should not
    be any reason for getOwnPropertyDescriptor() not to work.
    - I have also verified that Firefox allows cross-origin access for all these
      properties (via regular getters or getOwnPropertyDescriptor), except for
      the 'history' property. We may want to align our behavior here and prevent
      cross-origin access to 'window.history' but this is not a regression in this
      patch. You could already access crossOriginWindow.history in Safari 9.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  8. [GTK] Various tests are flaky

    mcatanzaro@igalia.com committed
    Unreviewed test gardening.
    
    * platform/gtk/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  9. [GTK] Gardening for unexpected passes

    mcatanzaro@igalia.com committed
    Unreviewed test gardening.
    
    * platform/gtk/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  10. [iOS] Throw away linked code when navigating to a new page.

    akling@apple.com committed
    <https://webkit.org/b/153851>
    
    Reviewed by Gavin Barraclough.
    
    Source/JavaScriptCore:
    
    Add a VM API for throwing away linked code only.
    
    * runtime/VM.cpp:
    (JSC::VM::deleteAllLinkedCode):
    * runtime/VM.h:
    
    Source/WebCore:
    
    When navigating to a new page, tell JSC to throw out any linked code it has lying around.
    Linked code is tied to a specific global object, and as we're creating a new one for the
    new page, none of it is useful to us here.
    
    In the event that the user navigates back, the cost of relinking some code will be far
    lower than the memory cost of keeping all of it around.
    
    This landed previously but was rolled out due to a Speedometer regression. I've made one
    minor but important change here: only throw away code if we're navigating away from an
    existing history item. Or in other words, don't throw away code for "force peeks" or any
    other navigations that are not traditional top-level main frame navigations.
    
    * bindings/js/GCController.cpp:
    (WebCore::GCController::deleteAllLinkedCode):
    * bindings/js/GCController.h:
    * loader/FrameLoader.cpp:
    (WebCore::FrameLoader::commitProvisionalLoad):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  11. Added implementations of AXObjectCache methods for !HAVE(ACCESSIBILITY).

    commit-queue@webkit.org committed
    https://bugs.webkit.org/show_bug.cgi?id=153924
    
    Patch by Konstantin Tokarev <annulen@yandex.ru> on 2016-02-06
    Reviewed by Andreas Kling.
    
    No new tests needed.
    
    * accessibility/AXObjectCache.h:
    (WebCore::AXObjectCache::ariaModalNode): Added stub implementation.
    (WebCore::AXObjectCache::postLiveRegionChangeNotification): Ditto.
    (WebCore::AXObjectCache::rangeForNodeContents): Ditto.
    (WebCore::AXObjectCache::setIsSynchronizingSelection): Ditto.
    (WebCore::AXObjectCache::setTextSelectionIntent): Ditto.
    (WebCore::AXAttributeCacheEnabler::AXAttributeCacheEnabler): Ditto.
    (WebCore::AXAttributeCacheEnabler::~AXAttributeCacheEnabler): Ditto.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  12. Use scope stack instead of nested TreeResolvers for shadow trees

    antti@apple.com committed
    https://bugs.webkit.org/show_bug.cgi?id=153893
    
    Reviewed by Andreas Kling.
    
    Make TreeResolver per-document. This is a step towards iterative style resolve.
    
    This is done replacing use of nested TreeResolvers with a scope stack that maintains
    the style resolver and the selector filter for the current tree scope.
    
    * style/StyleTreeResolver.cpp:
    (WebCore::Style::ensurePlaceholderStyle):
    (WebCore::Style::TreeResolver::Scope::Scope):
    (WebCore::Style::TreeResolver::TreeResolver):
    (WebCore::Style::shouldCreateRenderer):
    (WebCore::Style::TreeResolver::styleForElement):
    (WebCore::Style::TreeResolver::createRenderTreeForShadowRoot):
    (WebCore::Style::TreeResolver::createRenderTreeForSlotAssignees):
    (WebCore::Style::TreeResolver::createRenderTreeRecursively):
    (WebCore::Style::TreeResolver::resolveLocally):
    (WebCore::Style::TreeResolver::resolveShadowTree):
    (WebCore::Style::TreeResolver::resolveBeforeOrAfterPseudoElement):
    (WebCore::Style::TreeResolver::resolveChildren):
    (WebCore::Style::TreeResolver::resolveSlotAssignees):
    (WebCore::Style::TreeResolver::resolveRecursively):
    (WebCore::Style::TreeResolver::resolve):
    (WebCore::Style::detachRenderTree):
    * style/StyleTreeResolver.h:
    (WebCore::Style::TreeResolver::scope):
    (WebCore::Style::TreeResolver::pushScope):
    (WebCore::Style::TreeResolver::pushEnclosingScope):
    (WebCore::Style::TreeResolver::popScope):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  13. Unreviewed. Fix more incorrect ASSERT introduced in r196053.

    carlosgc@webkit.org committed
    * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
    (WebKit::NetscapePluginX11::handleMouseEvent):
    (WebKit::NetscapePluginX11::handleWheelEvent):
    (WebKit::NetscapePluginX11::setFocus):
    (WebKit::NetscapePluginX11::handleMouseEnterEvent):
    (WebKit::NetscapePluginX11::handleMouseLeaveEvent):
    (WebKit::NetscapePluginX11::handleKeyboardEvent):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  14. Unreviewed, rolling out r196104.

    commit-queue@webkit.org committed
    https://bugs.webkit.org/show_bug.cgi?id=153940
    
    Regressed Speedometer on iOS (Requested by kling on #webkit).
    
    Reverted changeset:
    
    "[iOS] Throw away linked code when navigating to a new page."
    https://bugs.webkit.org/show_bug.cgi?id=153851
    http://trac.webkit.org/changeset/196104
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  15. tests fail if display sleeps while run-webkit-tests is running

    aakash_jain@apple.com committed
    https://bugs.webkit.org/show_bug.cgi?id=153919
    
    Reviewed by Alexey Proskuryakov.
    
    * DumpRenderTree/mac/LayoutTestHelper.m:
    (addDisplaySleepAssertion): Add the assertion so that the display doesn't turn off.
    (releaseDisplaySleepAssertion): Release the DisplaySleep Assertion.
    (simpleSignalHandler): Release the DisplaySleepAssertion in case of any iterrupt.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  16. Add a new graphics test for CanvasRenderingContext2D functions: getIm…

    commit-queue@webkit.org committed
    …ageData and putImageData
    
    
    https://bugs.webkit.org/show_bug.cgi?id=151716
    
    Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-02-05
    Reviewed by Darin Adler.
    
    The purpose of this test is to measure the performance of getImageData
    and putImageData functions. This test draws a background on the canvas
    and then gets some random tiles from this background and draw them in
    destinations different from their original sources.
    
    * Animometer/resources/debug-runner/tests.js: Adding the new test to the canvas simple tests suite.
    
    * Animometer/resources/extensions.js:
    (Array.prototype.shuffle): Shuffles the elements of an array.
    
    (Point.zero): Returns a new Point object whose x and y are equal zero.
    (Point.prototype.str): Used for debugging the Point object.
    
    * Animometer/tests/simple/resources/tiled-canvas-image.js: Added.
    (CanvasImageTile):
    (CanvasImageTile.prototype.getImageData):
    (CanvasImageTile.prototype.putImageData):
    (Stage.call.initialize):
    (Stage.call._createTiles):
    (Stage.call._nextTilePosition):
    (Stage.call.tune):
    (Stage.call._drawBackground):
    (Stage.call.animate):
    (Stage.call.complexity):
    (Stage.call):
    * Animometer/tests/simple/tiled-canvas-image.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  17. [GTK] Unreviewed test expectations gardening.

    mcatanzaro@igalia.com committed
    * platform/gtk/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  18. ScrollbarPainters needs to be deallocated on the main thread

    bdakin@apple.com committed
    https://bugs.webkit.org/show_bug.cgi?id=153932
    -and corresponding-
    rdar://problem/24015483
    
    Reviewed by Geoff Garen.
    
    Follow-up fix since the first one was still race-y.
    * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
    (WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac):
    (WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  19. Web Inspector: Visual Styles sidebar should be more forgiving to long…

    commit-queue@webkit.org committed
    … labels
    
    
    https://bugs.webkit.org/show_bug.cgi?id=153927
    <rdar://problem/24343897>
    
    Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-02-05
    Reviewed by Timothy Hatcher.
    
    If a label is too long for it's container, it overflows and is visible
    above the rest of the elements nearby.
    
    * UserInterface/Views/VisualStylePropertyEditor.css:
    (.visual-style-property-container > .visual-style-property-title):
    Adds text overflow to properties that extend beyond the container's width.
    
    * UserInterface/Views/VisualStylePropertyEditor.js:
    (WebInspector.VisualStylePropertyEditor):
    Now also adds the label value as a title attribute to the element, just in
    case the content overflows.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  20. ScrollbarPainters needs to be deallocated on the main thread

    bdakin@apple.com committed
    https://bugs.webkit.org/show_bug.cgi?id=153932
    -and corresponding-
    rdar://problem/24015483
    
    Reviewed by Tim Horton.
    
    Ensure the the destructor of ScrollingTreeFrameScrollingNodeMac and the 
    assignments done in this class are not responsible for deallocating the 
    ScrollbarPainter. 
    * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
    (WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac):
    (WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  21. Mark css3/filters/multiple-filters-invalidation.html as flaky on ios-…

    ryanhaddad@apple.com committed
    …simulator
    
    
    https://bugs.webkit.org/show_bug.cgi?id=153933
    
    Unreviewed test gardening.
    
    * platform/ios-simulator/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  22. Marking pageoverlay/overlay-small-frame-paints.html as flaky on ios-s…

    ryanhaddad@apple.com committed
    …imulator
    
    
    https://bugs.webkit.org/show_bug.cgi?id=153898
    
    Unreviewed test gardening.
    
    * platform/ios-simulator/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  23. Marking css3-text-decoration/text-underline-position/underline-visual…

    ryanhaddad@apple.com committed
    …-overflow-with-subpixel-position.html as failing on ios-simulator
    
    
    https://bugs.webkit.org/show_bug.cgi?id=153315
    
    Unreviewed test gardening.
    
    * platform/ios-simulator/TestExpectations:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Something went wrong with that request. Please try again.