{"push_id":943492822,"size":74,"distinct_size":74,"ref":"refs/heads/master","head":"8827ce92dd19046298f67b96d3d717bbd0ef28ef","before":"413914ec188af3db1d13933784ce8c99c48be288","commits":[{"sha":"d6d2cc7d6bc089ec738753abdae526dc59708a4b","author":{"email":"c77ba1f13dd683021409b41cf8bcdadfeaa22cff@webkit.org","name":"rniwa@webkit.org"},"message":"Text::splitText doesn't update Range end points anchored on parent nodes\nhttps://bugs.webkit.org/show_bug.cgi?id=153227\n\nReviewed by Antti Koivisto.\n\nLayoutTests/imported/w3c:\n\nRebaseline the test now that we're passing more test cases.\n\n* web-platform-tests/dom/ranges/Range-mutations-expected.txt:\n\nSource/WebCore:\n\nWhen a Text node is split into two and there is a Range whose boundary points' container node\nis its parent and offset appears after the Text node, we must update the boundary points as specified\nin step 7 of the concept \"split\" a Text node at https://dom.spec.whatwg.org/#concept-text-split\n\n1. Insert new node into parent before node’s next sibling.\n2. For each range whose start node is node and start offset is greater than offset, set its start node\n   to new node and decrease its start offset by offset.\n3. For each range whose end node is node and end offset is greater than offset, set its end node to\n   new node and decrease its end offset by offset.\n4. For each range whose start node is parent and start offset is equal to the index of node + 1,\n   increase its start offset by one.\n5. For each range whose end node is parent and end offset is equal to the index of node + 1, increase\n   its end offset by one.\n\nFixed the bug by implementing steps 4 and 5 in boundaryTextNodesSplit. New behavior matches the DOM spec\nas well as the behavior of Firefox.\n\nTest: fast/dom/Range/update-range-in-split-text.html\n\n* dom/Range.cpp:\n(WebCore::boundaryTextNodesSplit): See above.\n* dom/RangeBoundaryPoint.h:\n(WebCore::RangeBoundaryPoint::setToAfterChild): Added.\n\nLayoutTests:\n\nAdded a regression test since the rebaselined W3C test is incomprehensible.\n\n* fast/dom/Range/update-range-in-split-text-expected.txt: Added.\n* fast/dom/Range/update-range-in-split-text.html: Added.\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195281 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/d6d2cc7d6bc089ec738753abdae526dc59708a4b"},{"sha":"c5a0ff287404cd5cfc08bc717203e6248fa42e02","author":{"email":"eafc94e4c92497e4d96e62f405cfed8f88446f37@igalia.com","name":"jfernandez@igalia.com"},"message":"[css-grid][css-align] justify-self stretch is not applied for img elements\nhttps://bugs.webkit.org/show_bug.cgi?id=153206\n\nReviewed by Darin Adler.\n\nSource/WebCore:\n\nWhen computing the logical height, we check first if there is an override\nheight value set as a consequence of the stretching logic, so we use it\ndirectly for any kind of element. However, in the case of the width\ncomputation, we don't use such override value because it's the default\nbehavior of block-level boxes.\n\nHowever, we consider some special cases which have to be treated as\nreplaced elements. Theses cases are evaluated first, so we don't let the\nregular width computation logic to be executed, which is what we want\nto implement the stretch behavior.\n\nIn order to let replaced elements, such images, to be stretched as a\nconsequence of the CSS alignment properties, we need to exclude grid\nitems from the cases to be treated as replaced elements during the width\ncomputation.\n\nTest: fast/css-grid-layout/grid-align-stretching-replaced-items.html\n\n* rendering/RenderBox.cpp:\n(WebCore::RenderBox::computeLogicalWidthInRegion):\n(WebCore::RenderBox::hasStretchedLogicalWidth):\n(WebCore::RenderBox::sizesLogicalWidthToFitContent):\n* rendering/RenderBox.h:\n\nLayoutTests:\n\nTest to verify Replaced Elements, like images, are stretched in the inline\naxis, when fulfilling the Box Alignment restrictions on this regard.\n\n* fast/css-grid-layout/grid-align-stretching-replaced-items-expected.txt: Added.\n* fast/css-grid-layout/grid-align-stretching-replaced-items.html: Added.\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195284 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/c5a0ff287404cd5cfc08bc717203e6248fa42e02"},{"sha":"426cf13c13753fcbdfac3fefe43ad035ed84f952","author":{"email":"fe38a18202694ed420a514c465203873969ac583@webkit.org","name":"carlosgc@webkit.org"},"message":"Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/geolocation-permission-requests after r195075.\n\nGeolocation is no longer allowed for unique origins after r195075.\n\n* TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:\n(testWebViewGeolocationPermissionRequests):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195285 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/426cf13c13753fcbdfac3fefe43ad035ed84f952"},{"sha":"63859db30d36ceef4443e85fd53abdb6e3b41af3","author":{"email":"fe38a18202694ed420a514c465203873969ac583@webkit.org","name":"carlosgc@webkit.org"},"message":"[GTK] Add support to load/save session in MiniBrowser\nhttps://bugs.webkit.org/show_bug.cgi?id=153201\n\nReviewed by Michael Catanzaro.\n\nIt makes it easier to test the new WebView session API.\n\n* MiniBrowser/gtk/BrowserWindow.c:\n(browserWindowFinalize): Free the session file path.\n(browserWindowSaveSession): Save the current WebView session if\nthere's a session file path.\n(browserWindowDeleteEvent): Call browserWindowSaveSession().\n(browser_window_load_session): Try to load the session from the\ngiven file path, otherwise fall back to homepage and keep the\nsession file to save the session on window close.\n* MiniBrowser/gtk/BrowserWindow.h:\n* MiniBrowser/gtk/main.c:\n(createBrowserWindow): Pass the given session file path when\nshouldLoadSession is TRUE.\n(main): Only allow to restore/save session when MiniBrowser is\nlaunched without URL arguments.\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195286 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/63859db30d36ceef4443e85fd53abdb6e3b41af3"},{"sha":"174814e5f0dd85fe65d720f2b225799c371950c3","author":{"email":"757f5bb409f1c48343a595d2e53cbd9d9fe6f508@igalia.com","name":"mcatanzaro@igalia.com"},"message":"[GTK] Remove jhbuild-optional.modules\nhttps://bugs.webkit.org/show_bug.cgi?id=152964\n\nReviewed by Alex Christensen.\n\n* gtk/jhbuild-optional.modules: Removed.\n* gtk/jhbuild.modules:\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195287 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/174814e5f0dd85fe65d720f2b225799c371950c3"},{"sha":"790b03736d6191875208e122bde428419ebbb567","author":{"email":"fe38a18202694ed420a514c465203873969ac583@webkit.org","name":"carlosgc@webkit.org"},"message":"[GTK] Runtime critical warnings when loading a URL after a session restore\nhttps://bugs.webkit.org/show_bug.cgi?id=153233\n\nReviewed by Michael Catanzaro.\n\nSource/WebKit2:\n\nThis happens when doing a normal load after restoring the back\nforward list from session state and the list contained forward\nitems. In that case the forward items are removed from the list\nand we try to reference a WebBackForwardListItem wrapper that\nhasn't been created. We create the wrappers on demand, and when\nthe back forward list is populated from session state, items are\nadded to the list without creating their wrappers. That was not\npossible before, and that's why we assumed that any item that is\nremoved from the list should have a wrapper already created.\n\n* UIProcess/API/gtk/WebKitBackForwardList.cpp:\n(webkitBackForwardListChanged): If we don't have a wrapper for the\nremoved item, create a new one to be passed to the signal, but\nwithout adding it to the map.\n\nTools:\n\nAdd new test case.\n\n* TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp:\n(viewLoadChanged):\n(testWebKitWebViewNavigationAfterSessionRestore):\n(beforeAll):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195288 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/790b03736d6191875208e122bde428419ebbb567"},{"sha":"fdba534e62151505caff87c83ddcc7522b205108","author":{"email":"fe38a18202694ed420a514c465203873969ac583@webkit.org","name":"carlosgc@webkit.org"},"message":"Unreviewed. Fix GObject DOM bindings API break after r195264.\n\nAdd webkit_dom_character_data_set_data to the list of functions\nthat used to raise exceptions.\n\n* bindings/scripts/CodeGeneratorGObject.pm:\n(FunctionUsedToRaiseException):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195289 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/fdba534e62151505caff87c83ddcc7522b205108"},{"sha":"4e7df6afdad8288f1f64f571d8b352a67725eca2","author":{"email":"a82ad16292c9f3b890b7b13c336ff95f6bd02623@webkit.org","name":"commit-queue@webkit.org"},"message":"[mips] Logical instructions allow immediates in range 0..0xffff, not 0x7fff\nhttps://bugs.webkit.org/show_bug.cgi?id=152693\n\nPatch by Konstantin Tokarev <annulen@yandex.ru> on 2016-01-19\nReviewed by Michael Saboff.\n\n* offlineasm/mips.rb:\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195290 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/4e7df6afdad8288f1f64f571d8b352a67725eca2"},{"sha":"b05c56bc08b9b2d828519cf8610592672b1c0643","author":{"email":"fe38a18202694ed420a514c465203873969ac583@webkit.org","name":"carlosgc@webkit.org"},"message":"Unreviewed. Fix GTK+ build with GTK+ < 3.14.\n\nFlags GTK_ICON_LOOKUP_DIR_LTR and GTK_ICON_LOOKUP_DIR_RTL were\nadded in GTK+ 3.14.\n\n* rendering/RenderThemeGtk.cpp:\n(WebCore::loadThemedIcon):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195291 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/b05c56bc08b9b2d828519cf8610592672b1c0643"},{"sha":"56a535896300aa8dcaf3a27c29fe0e3caf632870","author":{"email":"ede5d8c27b7232d58457a69f3744a7714b0dc4d7@apple.com","name":"antti@apple.com"},"message":"Selector checker should not mutate document and style\nhttps://bugs.webkit.org/show_bug.cgi?id=153205\n\nReviewed by Darin Adler.\n\nSelector checker currently writes affected-by bits and similar directly to the document and style during selector\nmatching. This is confusing, complicated and wrong.\n\nThis patch changes SelectorChecker and SelectorCompiler to collect style relatationship metadata to a separate\ndata structure (currently part of SelectorChecker::CheckingContext) instead of changing the document and style\ndirectly. The mutations are performed later outside selector checker.\n\n* css/ElementRuleCollector.cpp:\n(WebCore::ElementRuleCollector::ruleMatches):\n(WebCore::ElementRuleCollector::commitStyleRelations):\n\n    Apply the relationship bit to elements and style.\n\n(WebCore::ElementRuleCollector::collectMatchingRulesForList):\n* css/ElementRuleCollector.h:\n* css/SelectorChecker.cpp:\n(WebCore::SelectorChecker::LocalContext::LocalContext):\n\n    LocalContext is now a separate data structure.\n\n(WebCore::addStyleRelation):\n\n    Helper for recording new style relations. This is used where code mutated elements or style directly before.\n\n(WebCore::isFirstChildElement):\n(WebCore::isLastChildElement):\n(WebCore::isFirstOfType):\n(WebCore::isLastOfType):\n(WebCore::countElementsBefore):\n(WebCore::countElementsOfTypeBefore):\n(WebCore::SelectorChecker::SelectorChecker):\n(WebCore::SelectorChecker::match):\n(WebCore::hasScrollbarPseudoElement):\n(WebCore::localContextForParent):\n(WebCore::SelectorChecker::matchRecursively):\n(WebCore::attributeValueMatches):\n(WebCore::anyAttributeMatches):\n(WebCore::canMatchHoverOrActiveInQuirksMode):\n(WebCore::tagMatches):\n(WebCore::SelectorChecker::checkOne):\n(WebCore::SelectorChecker::matchSelectorList):\n(WebCore::SelectorChecker::checkScrollbarPseudoClass):\n(WebCore::SelectorChecker::CheckingContextWithStatus::CheckingContextWithStatus): Deleted.\n(WebCore::checkingContextForParent): Deleted.\n* css/SelectorChecker.h:\n(WebCore::SelectorChecker::CheckingContext::CheckingContext):\n* css/SelectorCheckerTestFunctions.h:\n(WebCore::isEnabled):\n(WebCore::isMediaDocument):\n(WebCore::isChecked):\n(WebCore::isInRange):\n(WebCore::isOutOfRange):\n* css/StyleResolver.h:\n(WebCore::checkRegionSelector):\n* cssjit/SelectorCompiler.cpp:\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelationIfResolvingStyle):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):\n\n    Helpers for generating code for recording new style relations. This is used where code mutated elements or style directly before.\n\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorCheckerExcludingPseudoElements):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):\n(WebCore::SelectorCompiler::addStyleRelationElementFunction):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNoPreviousAdjacentElement):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::moduloIsZero):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateContextFunctionCallTest):\n(WebCore::SelectorCompiler::elementIsActive):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):\n(WebCore::SelectorCompiler::jumpIfElementIsNotEmpty):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):\n(WebCore::SelectorCompiler::elementIsHovered):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):\n(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):\n(WebCore::SelectorCompiler::isPlaceholderShown):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLink):\n(WebCore::SelectorCompiler::nthFilterIsAlwaysSatisified):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChildOf):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChild):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChildOf):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):\n(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext): Deleted.\n(WebCore::SelectorCompiler::setNodeFlag): Deleted.\n(WebCore::SelectorCompiler::SelectorCodeGenerator::markElementIfResolvingStyle): Deleted.\n(WebCore::SelectorCompiler::setFirstChildState): Deleted.\n(WebCore::SelectorCompiler::elementIsActiveForStyleResolution): Deleted.\n(WebCore::SelectorCompiler::setElementStyleIsAffectedByEmpty): Deleted.\n(WebCore::SelectorCompiler::setElementStyleFromContextIsAffectedByEmptyAndUpdateRenderStyleIfNecessary): Deleted.\n(WebCore::SelectorCompiler::elementIsHoveredForStyleResolution): Deleted.\n(WebCore::SelectorCompiler::setLastChildState): Deleted.\n(WebCore::SelectorCompiler::setOnlyChildState): Deleted.\n(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.\n(WebCore::SelectorCompiler::setElementChildIndex): Deleted.\n(WebCore::SelectorCompiler::setChildrenAffectedByBackwardPositionalRules): Deleted.\n(WebCore::SelectorCompiler::setParentAffectedByLastChildOf): Deleted.\n* dom/SelectorQuery.cpp:\n(WebCore::SelectorDataList::selectorMatches):\n(WebCore::SelectorDataList::selectorClosest):\n(WebCore::SelectorDataList::matches):\n* inspector/InspectorCSSAgent.cpp:\n(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):\n* inspector/InspectorStyleSheet.cpp:\n(WebCore::buildObjectForSelectorHelper):\n\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195293 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/56a535896300aa8dcaf3a27c29fe0e3caf632870"},{"sha":"76adbcec34be248d6dd06bb0697259bf564ff2dd","author":{"email":"083d44ce61b1f946a3aa6fbd704954e0195d0658@apple.com","name":"cdumez@apple.com"},"message":"Unreviewed, fix typo in comment added in r195157.\n\n* dom/DocumentType.h:\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195294 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/76adbcec34be248d6dd06bb0697259bf564ff2dd"},{"sha":"f10d8f9bee72c42267dd83b97c737a0fd8e2a42e","author":{"email":"a82ad16292c9f3b890b7b13c336ff95f6bd02623@webkit.org","name":"commit-queue@webkit.org"},"message":"Unreviewed, rolling out r187471.\nhttps://bugs.webkit.org/show_bug.cgi?id=153236\n\npurportedly caused a significant memory regression and want to\nsee if that is true (Requested by thorton on #webkit).\n\nReverted changeset:\n\n\"First in-window viewStateChange synchronously blocks despite\nnot previously being in-window\"\nhttps://bugs.webkit.org/show_bug.cgi?id=147344\nhttp://trac.webkit.org/changeset/187471\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195295 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/f10d8f9bee72c42267dd83b97c737a0fd8e2a42e"},{"sha":"7b1ca3552dcb6f5a9294622fe110228c5b83f73b","author":{"email":"99f346658a335f564f87a5db55db57b4f8371bfa@apple.com","name":"fpizlo@apple.com"},"message":"Fix Air shuffling assertions\nhttps://bugs.webkit.org/show_bug.cgi?id=153213\n\nReviewed by Saam Barati.\n\nFixes some assertions that I was seeing running JSC tests. Adds a new Air test.\n\n* assembler/MacroAssemblerX86Common.h:\n(JSC::MacroAssemblerX86Common::store8):\n(JSC::MacroAssemblerX86Common::getUnusedRegister):\n* b3/air/AirEmitShuffle.cpp:\n(JSC::B3::Air::emitShuffle):\n* b3/air/AirLowerAfterRegAlloc.cpp:\n(JSC::B3::Air::lowerAfterRegAlloc):\n* b3/air/testair.cpp:\n(JSC::B3::Air::testShuffleRotateWithFringe):\n(JSC::B3::Air::testShuffleRotateWithFringeInWeirdOrder):\n(JSC::B3::Air::testShuffleRotateWithLongFringe):\n(JSC::B3::Air::run):\n\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195296 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/7b1ca3552dcb6f5a9294622fe110228c5b83f73b"},{"sha":"5a98133b8f54ceeba087ee825bf595a8f7781d1d","author":{"email":"99f346658a335f564f87a5db55db57b4f8371bfa@apple.com","name":"fpizlo@apple.com"},"message":"Unreviewed, undo unintended commit.\n\n* dfg/DFGCommon.h:\n\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195297 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/5a98133b8f54ceeba087ee825bf595a8f7781d1d"},{"sha":"c6ca104ae25b9ec6bc4855d25ca3c8d36c82c0e2","author":{"email":"99f346658a335f564f87a5db55db57b4f8371bfa@apple.com","name":"fpizlo@apple.com"},"message":"FTL B3 should be just as fast as FTL LLVM on Octane/crypto\nhttps://bugs.webkit.org/show_bug.cgi?id=153113\n\nReviewed by Saam Barati.\n\nSource/JavaScriptCore:\n\nThis is the result of a hacking rampage to close the gap between FTL B3 and FTL LLVM on\nOctane/crypto. It was a very successful rampage.\n\nThe biggest change in this patch is the introduction of a phase called fixObviousSpills()\nthat fixes patterns like:\n\nStore register to stack slot and then use stack slot:\n    Move %rcx, (stack42)\n    Foo use:(stack42) // replace (stack42) with %rcx here.\n\nLoad stack slot into register and then use stack slot:\n    Move (stack42), %rcx\n    Foo use:(stack42) // replace (stack42) with %rcx here.\n\nStore constant into stack slot and then use stack slot:\n    Move $42, %rcx\n    Move %rcx, (stack42)\n    Bar def:%rcx // %rcx isn't available anymore, but we still know that (stack42) is $42\n    Foo use:(stack42) // replace (stack42) with $42 here.\n\nThis phases does these fixups by doing a global forward flow that propagates sets of\nmust-aliases.\n\nAlso added a phase to report register pressure. It pretty-prints code alongside the set of\nin-use registers above each instruction. Using this phase, I found that our register\nallocator is actually doing a pretty awesome job. I had previously feared that we'd have to\nmake substantial changes to register allocation. I don't have such a fear anymore, at least\nfor Octane/crypto. In the future, we can check how the regalloc is performing just by\nenabling logAirRegisterPressure.\n\nAlso fixed some FTL codegen pathologies. We were using bitOr where we meant to use a\nconditional or. LLVM likes to canonicalize boolean expressions this way. B3, on the other\nhand, doesn't do this canonicalization and doesn't have logic to decompose it into sequences\nof branches.\n\nAlso added strength reductions for checked arithmetic. It turns out that LLVM learned how to\nreduce checked multiply to unchecked multiply in some obvious cases that our existing DFG\noptimizations lacked. Ideally, our DFG integer range optimization phase would cover this. But\nthe cases of interest were dead simple - the incoming values to the CheckMul were obviously\ntoo small to cause overflow. I added such reasoning to B3's strength reduction.\n\nFinally, this fixes some bugs with how we were handling subwidth spill slots. The register\nallocator was making two mistakes. First, it might cause a Width64 def or use of a 4-byte\nspill slot. In that case, it would extend the size of the spill slot to ensure that the use\nor def is safe. Second, it emulates ZDef on Tmp behavior by emitting a Move32 to initialize\nthe high bits of a spill slot. But this is unsound because of the liveness semantics of spill\nslots. They cannot have more than one def to initialize their value. I fixed that by making\nallocateStack() be the thing that fixes ZDefs. That's a change to ZDef semantics: now, ZDef\non an anonymous stack slot means that the high bits are zero-filled. I wasn't able to\nconstruct a test for this. It might be a hypothetical bug, but still, I like how this\nsimplifies the register allocator.\n\nThis is a ~0.7% speed-up on Octane.\n\n* CMakeLists.txt:\n* JavaScriptCore.xcodeproj/project.pbxproj:\n* b3/B3CheckSpecial.cpp:\n(JSC::B3::CheckSpecial::hiddenBranch):\n(JSC::B3::CheckSpecial::forEachArg):\n(JSC::B3::CheckSpecial::commitHiddenBranch): Deleted.\n* b3/B3CheckSpecial.h:\n* b3/B3LowerToAir.cpp:\n(JSC::B3::Air::LowerToAir::fillStackmap):\n(JSC::B3::Air::LowerToAir::lower):\n* b3/B3StackmapValue.h:\n* b3/air/AirAllocateStack.cpp:\n(JSC::B3::Air::allocateStack):\n* b3/air/AirAllocateStack.h:\n* b3/air/AirArg.h:\n(JSC::B3::Air::Arg::callArg):\n(JSC::B3::Air::Arg::stackAddr):\n(JSC::B3::Air::Arg::isValidScale):\n* b3/air/AirBasicBlock.cpp:\n(JSC::B3::Air::BasicBlock::deepDump):\n(JSC::B3::Air::BasicBlock::dumpHeader):\n(JSC::B3::Air::BasicBlock::dumpFooter):\n* b3/air/AirBasicBlock.h:\n* b3/air/AirCCallSpecial.cpp:\n(JSC::B3::Air::CCallSpecial::CCallSpecial):\n(JSC::B3::Air::CCallSpecial::~CCallSpecial):\n* b3/air/AirCode.h:\n(JSC::B3::Air::Code::lastPhaseName):\n(JSC::B3::Air::Code::setEnableRCRS):\n(JSC::B3::Air::Code::enableRCRS):\n* b3/air/AirCustom.cpp:\n(JSC::B3::Air::PatchCustom::isValidForm):\n(JSC::B3::Air::CCallCustom::isValidForm):\n* b3/air/AirCustom.h:\n(JSC::B3::Air::PatchCustom::isValidFormStatic):\n(JSC::B3::Air::PatchCustom::admitsStack):\n(JSC::B3::Air::PatchCustom::isValidForm): Deleted.\n* b3/air/AirEmitShuffle.cpp:\n(JSC::B3::Air::ShufflePair::dump):\n(JSC::B3::Air::createShuffle):\n(JSC::B3::Air::emitShuffle):\n* b3/air/AirEmitShuffle.h:\n* b3/air/AirFixObviousSpills.cpp: Added.\n(JSC::B3::Air::fixObviousSpills):\n* b3/air/AirFixObviousSpills.h: Added.\n* b3/air/AirFixSpillSlotZDef.h: Removed.\n* b3/air/AirGenerate.cpp:\n(JSC::B3::Air::prepareForGeneration):\n(JSC::B3::Air::generate):\n* b3/air/AirHandleCalleeSaves.cpp:\n(JSC::B3::Air::handleCalleeSaves):\n* b3/air/AirInst.h:\n* b3/air/AirInstInlines.h:\n(JSC::B3::Air::Inst::reportUsedRegisters):\n(JSC::B3::Air::Inst::admitsStack):\n(JSC::B3::Air::isShiftValid):\n* b3/air/AirIteratedRegisterCoalescing.cpp:\n* b3/air/AirLiveness.h:\n(JSC::B3::Air::AbstractLiveness::AbstractLiveness):\n(JSC::B3::Air::AbstractLiveness::LocalCalc::Iterable::begin):\n(JSC::B3::Air::AbstractLiveness::LocalCalc::Iterable::end):\n(JSC::B3::Air::AbstractLiveness::LocalCalc::Iterable::contains):\n(JSC::B3::Air::AbstractLiveness::LocalCalc::live):\n(JSC::B3::Air::AbstractLiveness::LocalCalc::isLive):\n(JSC::B3::Air::AbstractLiveness::LocalCalc::execute):\n(JSC::B3::Air::AbstractLiveness::rawLiveAtHead):\n(JSC::B3::Air::AbstractLiveness::Iterable::begin):\n(JSC::B3::Air::AbstractLiveness::Iterable::end):\n(JSC::B3::Air::AbstractLiveness::Iterable::contains):\n(JSC::B3::Air::AbstractLiveness::liveAtTail):\n(JSC::B3::Air::AbstractLiveness::workset):\n* b3/air/AirLogRegisterPressure.cpp: Added.\n(JSC::B3::Air::logRegisterPressure):\n* b3/air/AirLogRegisterPressure.h: Added.\n* b3/air/AirOptimizeBlockOrder.cpp:\n(JSC::B3::Air::blocksInOptimizedOrder):\n(JSC::B3::Air::optimizeBlockOrder):\n* b3/air/AirOptimizeBlockOrder.h:\n* b3/air/AirReportUsedRegisters.cpp:\n(JSC::B3::Air::reportUsedRegisters):\n* b3/air/AirReportUsedRegisters.h:\n* b3/air/AirSpillEverything.cpp:\n(JSC::B3::Air::spillEverything):\n* b3/air/AirStackSlot.h:\n(JSC::B3::Air::StackSlot::isLocked):\n(JSC::B3::Air::StackSlot::index):\n(JSC::B3::Air::StackSlot::ensureSize):\n(JSC::B3::Air::StackSlot::alignment):\n* b3/air/AirValidate.cpp:\n* ftl/FTLB3Compile.cpp:\n(JSC::FTL::compile):\n* ftl/FTLLowerDFGToLLVM.cpp:\n(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMul):\n(JSC::FTL::DFG::LowerDFGToLLVM::compileArithDiv):\n(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMod):\n* jit/RegisterSet.h:\n(JSC::RegisterSet::get):\n(JSC::RegisterSet::setAll):\n(JSC::RegisterSet::merge):\n(JSC::RegisterSet::filter):\n* runtime/Options.h:\n\nSource/WTF:\n\n* wtf/IndexSparseSet.h:\n(WTF::IndexSparseSet<OverflowHandler>::IndexSparseSet):\n(WTF::IndexSparseSet<OverflowHandler>::add):\n(WTF::IndexSparseSet<OverflowHandler>::remove):\n* wtf/StringPrintStream.h:\n(WTF::StringPrintStream::length):\n\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195298 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/c6ca104ae25b9ec6bc4855d25ca3c8d36c82c0e2"},{"sha":"0d3d29475734345dd7b5e3da7ae9bc8679c9def1","author":{"email":"4f11a7be697eb6b745758b6d1ce6147e341a0128@apple.com","name":"beidson@apple.com"},"message":"Modern IDB: Split all storage/indexeddb tests into separate HTML + JS format.\nhttps://bugs.webkit.org/show_bug.cgi?id=153178\n\nReviewed by Sam Weinig.\n\n* storage/indexeddb/clone-exception.html:\n* storage/indexeddb/closed-cursor.html:\n* storage/indexeddb/connection-leak.html:\n* storage/indexeddb/cursor-cast.html:\n* storage/indexeddb/cursor-leak.html:\n* storage/indexeddb/cursor-overloads.html:\n* storage/indexeddb/cursor-request-cycle.html:\n* storage/indexeddb/deleteIndex-bug110792.html:\n* storage/indexeddb/deletedatabase-transaction.html:\n* storage/indexeddb/metadata-race.html:\n* storage/indexeddb/noblobs.html:\n* storage/indexeddb/object-lookups-in-versionchange.html:\n* storage/indexeddb/open-bad-versions.html:\n* storage/indexeddb/optional-arguments.html:\n* storage/indexeddb/prefetch-invalidation.html:\n* storage/indexeddb/prefetch-race.html:\n* storage/indexeddb/primary-key-unique-to-objectstore.html:\n* storage/indexeddb/request-leak.html:\n* storage/indexeddb/request-result-cache.html:\n* storage/indexeddb/resources/clone-exception.js: Copied from LayoutTests/storage/indexeddb/clone-exception.html.\n* storage/indexeddb/resources/closed-cursor.js: Copied from LayoutTests/storage/indexeddb/closed-cursor.html.\n* storage/indexeddb/resources/connection-leak.js: Copied from LayoutTests/storage/indexeddb/connection-leak.html.\n* storage/indexeddb/resources/cursor-cast.js: Copied from LayoutTests/storage/indexeddb/cursor-cast.html.\n* storage/indexeddb/resources/cursor-leak.js: Copied from LayoutTests/storage/indexeddb/cursor-leak.html.\n* storage/indexeddb/resources/cursor-overloads.js: Copied from LayoutTests/storage/indexeddb/cursor-overloads.html.\n* storage/indexeddb/resources/cursor-request-cycle.js: Copied from LayoutTests/storage/indexeddb/cursor-request-cycle.html.\n* storage/indexeddb/resources/deleteIndex-bug110792.js: Copied from LayoutTests/storage/indexeddb/deleteIndex-bug110792.html.\n* storage/indexeddb/resources/deletedatabase-transaction.js: Copied from LayoutTests/storage/indexeddb/deletedatabase-transaction.html.\n* storage/indexeddb/resources/metadata-race.js: Copied from LayoutTests/storage/indexeddb/metadata-race.html.\n* storage/indexeddb/resources/noblobs.js: Copied from LayoutTests/storage/indexeddb/noblobs.html.\n* storage/indexeddb/resources/object-lookups-in-versionchange.js: Copied from LayoutTests/storage/indexeddb/object-lookups-in-versionchange.html.\n* storage/indexeddb/resources/open-bad-versions.js: Copied from LayoutTests/storage/indexeddb/open-bad-versions.html.\n* storage/indexeddb/resources/optional-arguments.js: Copied from LayoutTests/storage/indexeddb/optional-arguments.html.\n* storage/indexeddb/resources/prefetch-invalidation.js: Copied from LayoutTests/storage/indexeddb/prefetch-invalidation.html.\n* storage/indexeddb/resources/prefetch-race.js: Copied from LayoutTests/storage/indexeddb/prefetch-race.html.\n* storage/indexeddb/resources/primary-key-unique-to-objectstore.js: Copied from LayoutTests/storage/indexeddb/primary-key-unique-to-objectstore.html.\n* storage/indexeddb/resources/request-leak.js: Copied from LayoutTests/storage/indexeddb/request-leak.html.\n* storage/indexeddb/resources/request-result-cache.js: Copied from LayoutTests/storage/indexeddb/request-result-cache.html.\n* storage/indexeddb/resources/structured-clone.js: Copied from LayoutTests/storage/indexeddb/structured-clone.html.\n* storage/indexeddb/resources/transaction-complete-with-js-recursion-cross-frame.js: Copied from LayoutTests/storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html.\n* storage/indexeddb/resources/transaction-complete-with-js-recursion.js: Copied from LayoutTests/storage/indexeddb/transaction-complete-with-js-recursion.html.\n* storage/indexeddb/resources/transaction-crash-in-tasks.js: Copied from LayoutTests/storage/indexeddb/transaction-crash-in-tasks.html.\n* storage/indexeddb/resources/transaction-ordering.js: Copied from LayoutTests/storage/indexeddb/transaction-ordering.html.\n* storage/indexeddb/resources/transaction-overlapping.js: Copied from LayoutTests/storage/indexeddb/transaction-overlapping.html.\n* storage/indexeddb/resources/version-change-event-basic.js: Copied from LayoutTests/storage/indexeddb/version-change-event-basic.html.\n* storage/indexeddb/resources/version-change-event.js: Copied from LayoutTests/storage/indexeddb/version-change-event.html.\n* storage/indexeddb/structured-clone.html:\n* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:\n* storage/indexeddb/transaction-complete-with-js-recursion.html:\n* storage/indexeddb/transaction-crash-in-tasks.html:\n* storage/indexeddb/transaction-ordering.html:\n* storage/indexeddb/transaction-overlapping.html:\n* storage/indexeddb/transaction-starvation.html:\n* storage/indexeddb/version-change-event-basic.html:\n* storage/indexeddb/version-change-event.html:\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195299 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/0d3d29475734345dd7b5e3da7ae9bc8679c9def1"},{"sha":"737bf009c79363c33bfbc921d56163acfcd275fb","author":{"email":"80ba7d307f87947d398714412ac0b1f517125a6c@apple.com","name":"enrica@apple.com"},"message":"Add support for DataDetectors in WK (iOS).\nhttps://bugs.webkit.org/show_bug.cgi?id=152989\nrdar://problem/22855960\n\nReviewed by Tim Horton.\n\nSource/JavaScriptCore:\n\nAdding feature definition.\n\n* Configurations/FeatureDefines.xcconfig:\n\nSource/WebCore:\n\nThis is the first step toward implementing Data Detectors support\nin WK2. The patch adds a new memeber to the Settings object\nto retrieve the type of detection desired. The DataDetection files\nhave been moved under cocoa, since they are no longer OS X specific.\n\n* Configurations/FeatureDefines.xcconfig:\n* Configurations/WebCore.xcconfig:\n* WebCore.xcodeproj/project.pbxproj:\n* editing/cocoa/DataDetection.h: Copied from Source/WebCore/editing/mac/DataDetection.h.\n* editing/cocoa/DataDetection.mm: Copied from Source/WebCore/editing/mac/DataDetection.mm.\n(WebCore::detectItemAtPositionWithRange):\n(WebCore::DataDetection::detectItemAroundHitTestResult):\n(WebCore::DataDetection::detectContentInRange):\n* editing/mac/DataDetection.h: Removed.\n* editing/mac/DataDetection.mm: Removed.\n* loader/FrameLoader.cpp:\n(WebCore::FrameLoader::checkLoadCompleteForThisFrame):\n* page/Settings.h:\n* page/Settings.in:\n* platform/spi/mac/DataDetectorsSPI.h:\n\nSource/WebKit/mac:\n\nAdding feature definition for data detection.\n\n* Configurations/FeatureDefines.xcconfig:\n\nSource/WebKit2:\n\nThis is the first step toward implementing Data Detectors support\nin WK2. The patch adds a new property to the configuration\nobject to indicate the type of detection desired and propagates\nto the WebProcess.\n\n* Configurations/FeatureDefines.xcconfig:\n* Shared/WebPreferencesDefinitions.h:\n* UIProcess/API/Cocoa/WKWebView.mm:\n(-[WKWebView initWithFrame:configuration:]):\n* UIProcess/API/Cocoa/WKWebViewConfiguration.h:\n* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:\n(-[WKWebViewConfiguration copyWithZone:]):\n* WebKit2.xcodeproj/project.pbxproj:\n* WebProcess/WebPage/Cocoa/WebPageCocoa.mm: Added.\n(WebKit::WebPage::fromWKDataDetectorTypes):\n* WebProcess/WebPage/WebPage.cpp:\n(WebKit::WebPage::updatePreferences):\n* WebProcess/WebPage/WebPage.h:\n\nSource/WTF:\n\nAdding feature definition for data detection.\n\n* wtf/FeatureDefines.h:\n\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195300 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/737bf009c79363c33bfbc921d56163acfcd275fb"},{"sha":"30fc0968a0fef9ea34432c0db4ca318056978043","author":{"email":"4f11a7be697eb6b745758b6d1ce6147e341a0128@apple.com","name":"beidson@apple.com"},"message":"Modern IDB: Split all storage/indexeddb/mozilla tests into separate HTML + JS format.\nhttps://bugs.webkit.org/show_bug.cgi?id=153237\n\nReviewed by Sam Weinig.\n\n* storage/indexeddb/mozilla/index-prev-no-duplicate.html:\n* storage/indexeddb/mozilla/resources/index-prev-no-duplicate.js: Copied from LayoutTests/storage/indexeddb/mozilla/index-prev-no-duplicate.html.\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195301 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/30fc0968a0fef9ea34432c0db4ca318056978043"},{"sha":"fb12e3f3f9c672e1afe68517f0f4d0a718394cae","author":{"email":"81dea2becd6014d7f2a527acd521cad73bee7d2a@apple.com","name":"jer.noble@apple.com"},"message":"[EME] Correctly report errors when generating key requests from AVContentKeySession.\nhttps://bugs.webkit.org/show_bug.cgi?id=151963\n\nReviewed by Eric Carlson.\n\nWebIDL's \"unsigned long\" is a 32-bit unsigned integer, and C++'s \"unsigned long\" is (or, can\nbe) a 64-bit integer on 64-bit platforms. Casting a negative integer to a 64-bit integer\nresults in a number which cannot be accurately stored in a double-length floating point\nnumber. Previously, the mac CDM code would work around this issue by returning the absolute\nvalue of NSError code returned by media frameworks. Instead, fix the underlying problem by\nstoring the MediaKeyError's systemCode as a uint32_t (which more accurately represents the\nsize of a WebIDL \"unsigned long\" on all platforms.)\n\nCheck the error code issued by -contentKeyRequestDataForApp:contentIdentifier:options:error:.\n\n* Modules/encryptedmedia/CDM.h:\n* Modules/encryptedmedia/CDMSessionClearKey.cpp:\n(WebCore::CDMSessionClearKey::generateKeyRequest):\n(WebCore::CDMSessionClearKey::update):\n* Modules/encryptedmedia/CDMSessionClearKey.h:\n* Modules/encryptedmedia/MediaKeySession.cpp:\n(WebCore::MediaKeySession::keyRequestTimerFired):\n(WebCore::MediaKeySession::addKeyTimerFired):\n(WebCore::MediaKeySession::sendError):\n* Modules/encryptedmedia/MediaKeySession.h:\n* Modules/mediacontrols/mediaControlsApple.js:\n(Controller.prototype.handleReadyStateChange):\n* WebCore.xcodeproj/project.pbxproj:\n* html/MediaKeyError.h:\n(WebCore::MediaKeyError::create):\n(WebCore::MediaKeyError::systemCode):\n* html/MediaKeyEvent.h:\n* platform/graphics/CDMSession.h:\n* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:\n* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:\n(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):\n(WebCore::CDMSessionAVContentKeySession::update):\n(WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage):\n* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:\n* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:\n(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):\n(WebCore::CDMSessionAVFoundationObjC::update):\n* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:\n* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:\n(WebCore::CDMSessionAVStreamSession::generateKeyRequest):\n(WebCore::CDMSessionAVStreamSession::update):\n(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage):\n* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:\n* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:\n(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):\n(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):\n(WebCore::CDMSessionMediaSourceAVFObjC::systemCodeForError): Deleted.\n* testing/MockCDM.cpp:\n(WebCore::MockCDMSession::generateKeyRequest):\n(WebCore::MockCDMSession::update):2016-01-15  Simon Fraser  <simon.fraser@apple.com>\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195302 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/fb12e3f3f9c672e1afe68517f0f4d0a718394cae"},{"sha":"c14cf1109369d82df7648f7a82fa8b87a727c846","author":{"email":"7cb20f9549e12eb9af30997a48010eed398a5364@apple.com","name":"mattbaker@apple.com"},"message":"Web Inspector: cleanup TreeOutline class and separate styles from NavigationSidebarPanel\nhttps://bugs.webkit.org/show_bug.cgi?id=153146\n<rdar://problem/24213071>\n\nReviewed by Timothy Hatcher.\n\nThis patch consolidates and simplifies the tree outline styles that were previously\ndefined across various classes. A new stylesheet, TreeOutline.css, includes all\nthe styles needed to create a basic TreeOutline.\n\nIn addition, certain tree features which were previously controlled by manually\ntoggling class names have been promoted to properties of TreeOutline:\n - compact: tree elements have reduced vertical spacing. Used by object trees.\n   The compact and large settings are mutually exclusive.\n - large: tree elements (and their icons) are large. Used by TimelinesSidebarPanel.\n   Previously there existed a `small` class name which was enabled in every\n   case except TimelineSidebarPanel's Timelines tree. Since it was the rule rather\n   than the exception the class has been removed and is now the default style.\n - disclosureButtons: control the appearance of disclosure buttons.\n - customIndent: control use of generated style rules.\n\n* UserInterface/Main.html:\nNew CSS file.\n\n* UserInterface/Views/ApplicationCacheFrameTreeElement.js:\n(WebInspector.ApplicationCacheFrameTreeElement): Deleted.\n* UserInterface/Views/BreakpointTreeElement.js:\n(WebInspector.BreakpointTreeElement): Deleted.\n* UserInterface/Views/CallFrameTreeElement.js:\n(WebInspector.CallFrameTreeElement): Deleted.\n* UserInterface/Views/ContentFlowTreeElement.js:\n(WebInspector.ContentFlowTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/DOMTreeOutline.css:\n(.tree-outline.dom):\n(.tree-outline.dom li.hovered:not(.selected) .selection):\n(.tree-outline.dom li .selection):\n(.tree-outline.dom li.selected .selection):\n(.tree-outline.dom li.elements-drag-over .selection):\n(.tree-outline.dom:focus li.selected .selection):\n(.tree-outline.dom li.selected > span::after):\n(.tree-outline.dom:focus li.selected > span::after):\n(.tree-outline.dom ol):\n(.tree-outline.dom ol.children):\n(.tree-outline.dom ol.children.expanded):\n(.tree-outline.dom li):\n(.tree-outline.dom li.pseudo-class-enabled > .selection::before):\n(.tree-outline.dom.single-node li):\n(.tree-outline.dom:focus li.selected):\n(.tree-outline.dom:focus li.selected.pseudo-class-enabled > .selection::before):\n(.tree-outline.dom:focus li.selected *):\n(.tree-outline.dom li.parent):\n(.tree-outline.dom li .html-tag.close):\n(.tree-outline.dom li.parent::before):\n(.tree-outline.dom:focus li.parent.selected::before):\n(.tree-outline.dom li.parent.expanded::before):\n(.tree-outline.dom:focus li.parent.expanded.selected::before):\n(.tree-outline.dom .html-text-node.large):\n(.tree-outline.dom .html-pseudo-element):\n(.tree-outline.dom .html-fragment.shadow):\n(.showing-find-banner .tree-outline.dom .search-highlight):\n(.dom-tree-outline): Deleted.\n(.dom-tree-outline li.hovered:not(.selected) .selection): Deleted.\n(.dom-tree-outline li .selection): Deleted.\n(.dom-tree-outline li.selected .selection): Deleted.\n(.dom-tree-outline li.elements-drag-over .selection): Deleted.\n(.dom-tree-outline:focus li.selected .selection): Deleted.\n(.dom-tree-outline li.selected > span::after): Deleted.\n(.dom-tree-outline:focus li.selected > span::after): Deleted.\n(.dom-tree-outline ol): Deleted.\n(.dom-tree-outline ol.children): Deleted.\n(.dom-tree-outline ol.children.expanded): Deleted.\n(.dom-tree-outline li): Deleted.\n(.dom-tree-outline li.pseudo-class-enabled > .selection::before): Deleted.\n(.dom-tree-outline.single-node li): Deleted.\n(.dom-tree-outline:focus li.selected): Deleted.\n(.dom-tree-outline:focus li.selected.pseudo-class-enabled > .selection::before): Deleted.\n(.dom-tree-outline:focus li.selected *): Deleted.\n(.dom-tree-outline li.parent): Deleted.\n(.dom-tree-outline li .html-tag.close): Deleted.\n(.dom-tree-outline li.parent::before): Deleted.\n(.dom-tree-outline:focus li.parent.selected::before): Deleted.\n(.dom-tree-outline li.parent.expanded::before): Deleted.\n(.dom-tree-outline:focus li.parent.expanded.selected::before): Deleted.\n(.dom-tree-outline .html-text-node.large): Deleted.\n(.dom-tree-outline .html-pseudo-element): Deleted.\n(.dom-tree-outline .html-fragment.shadow): Deleted.\n(.showing-find-banner .dom-tree-outline .search-highlight): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/DOMTreeOutline.js:\n(WebInspector.DOMTreeOutline):\nUse default TreeOutline DOM element, and simplify element class name.\n\n* UserInterface/Views/DatabaseTableTreeElement.js:\n(WebInspector.DatabaseTableTreeElement): Deleted.\n* UserInterface/Views/DatabaseTreeElement.js:\n(WebInspector.DatabaseTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/ErrorObjectView.css:\n(.error-object:not(.expanded) .tree-outline):\n(.error-object .tree-outline):\n(.error-object:not(.expanded) .error-object-outline): Deleted.\n(.error-object-outline): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/ErrorObjectView.js:\n(WebInspector.ErrorObjectView): Deleted.\nRemoved unused tree outline class name.\n\n* UserInterface/Views/FolderTreeElement.js:\n(WebInspector.FolderTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/FormattedValue.css:\n(.formatted-node > .tree-outline.dom):\n(.formatted-node > .tree-outline.dom ol):\n(.formatted-node > .tree-outline.dom li):\n(.formatted-node > .tree-outline.dom li.hovered:not(.selected) .selection):\n(.formatted-node > .dom-tree-outline): Deleted.\n(.formatted-node > .dom-tree-outline ol): Deleted.\n(.formatted-node > .dom-tree-outline li): Deleted.\n(.formatted-node > .dom-tree-outline li.hovered:not(.selected) .selection): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/GeneralTreeElement.js:\n(WebInspector.GeneralTreeElement.prototype._updateTitleTooltip):\n(WebInspector.GeneralTreeElement.prototype.get small): Deleted.\n(WebInspector.GeneralTreeElement.prototype.set small): Deleted.\n(WebInspector.GeneralTreeElement.prototype.get twoLine): Deleted.\n(WebInspector.GeneralTreeElement.prototype.set twoLine): Deleted.\nRemoved properties `small` and `twoLine`. The first is no longer needed as\nit is now the default tree element style. The second was not being used.\n\n* UserInterface/Views/IndexedDatabaseObjectStoreIndexTreeElement.js:\n(WebInspector.IndexedDatabaseObjectStoreIndexTreeElement): Deleted.\n* UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js:\n(WebInspector.IndexedDatabaseObjectStoreTreeElement): Deleted.\n* UserInterface/Views/IndexedDatabaseTreeElement.js:\n(WebInspector.IndexedDatabaseTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/IssueTreeElement.css:\n(.navigation-sidebar-panel-content-tree-outline .item.small.issue .icon): Deleted.\nNo longer needed.\n\n* UserInterface/Views/IssueTreeElement.js:\n(WebInspector.IssueTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/LayoutTimelineView.css:\n(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.layout .item .subtitle):\n(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/LogTreeElement.js:\n(WebInspector.LogTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/NavigationSidebarPanel.css:\n(.navigation-sidebar-panel-content-tree-outline .children): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .children.expanded): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item): Deleted.\n(.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons > .children): Deleted.\n(.navigation-sidebar-panel-content-tree-outline > .children.hide-disclosure-buttons > .children): Deleted.\n(.navigation-sidebar-panel-content-tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): Deleted.\n(.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item.small): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .disclosure-button): Deleted.\n(.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item .disclosure-button): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.parent .disclosure-button): Deleted.\n(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button): Deleted.\n(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .icon): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .status): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .status:empty): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.\n(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected): Deleted.\n(body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .titles): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .highlighted): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .titles.no-subtitle): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .title::after): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .subtitle): Deleted.\n(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .subtitle:empty): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small.two-line): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small .icon): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small .status): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small .status .indeterminate-progress-spinner): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small .titles): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .status): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles.no-subtitle): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small .subtitle): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .icon): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .title::after): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .subtitle::before): Deleted.\nGeneric tree outline styles removed, cleaned up, and relocated to TreeOutline.css.\n\n* UserInterface/Views/NavigationSidebarPanel.js:\nRemoved static property HideDisclosureButtonsStyleClassName, which is now\nencapsulated by TreeOutline.\n(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):\nUse default TreeOutline DOM element instead of creating it.\n(WebInspector.NavigationSidebarPanel): Deleted.\nRemove call to generate style rules.\n(WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded): Deleted.\nMoved to TreeOutline.js.\n\n* UserInterface/Views/NetworkSidebarPanel.css:\n(.sidebar > .panel.navigation.network.network-grid-content-view-showing .tree-outline.network-grid .item .subtitle):\n(.sidebar > .panel.navigation.network > .content > .tree-outline):\n(.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .tree-outline):\n(.sidebar > .panel.navigation.network.network-grid-content-view-showing .navigation-sidebar-panel-content-tree-outline.network-grid .item .subtitle): Deleted.\n(.sidebar > .panel.navigation.network > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.\n(.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/NetworkSidebarPanel.js:\n(WebInspector.NetworkSidebarPanel):\nDisable tree outline disclosure buttons.\n\n* UserInterface/Views/NetworkTimelineView.css:\n(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.network .item .subtitle):\n(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/NetworkTimelineView.js:\n(WebInspector.NetworkTimelineView):\nDisable tree outline disclosure buttons.\n\n* UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:\n(.object-tree-array-index .index-value .object-tree .tree-outline.object):\n(.object-tree-array-index .index-value .formatted-node .tree-outline.dom):\n(.object-tree-array-index .index-value .object-tree .object-tree-outline): Deleted.\n(.object-tree-array-index .index-value .formatted-node .dom-tree-outline): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/ObjectTreeBaseTreeElement.js:\n(WebInspector.ObjectTreeBaseTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/ObjectTreePropertyTreeElement.css:\n(.tree-outline .item.object-tree-property):\n(.item.object-tree-property.prototype-property):\n(.item.object-tree-property.prototype-property + ol):\n(.object-tree-property): Deleted.\n(.object-tree-property > .titles): Deleted.\n(.object-tree-property > .disclosure-button): Deleted.\n(.object-tree-property.parent > .disclosure-button): Deleted.\n(.object-tree-property.parent.expanded > .disclosure-button): Deleted.\n(.object-tree-property > .icon): Deleted.\n(.object-tree-property.prototype-property): Deleted.\n(.object-tree-property.prototype-property + ol): Deleted.\nUpdated selectors with new tree outline class names, removed styles which\nare now provided by TreeOutline.css.\n\n* UserInterface/Views/ObjectTreeView.css:\n(.object-tree .tree-outline.object):\n(.object-tree.expanded > .tree-outline.object):\n(.tree-outline.object):\n(.object-tree.properties-only .tree-outline.object):\n(.tree-outline.object li):\n(.tree-outline.object ol):\n(.tree-outline.object ol.expanded):\n(.tree-outline.object li .empty-message):\n(.object-tree .object-tree-outline): Deleted.\n(.object-tree.expanded > .object-tree-outline): Deleted.\n(.object-tree-outline): Deleted.\n(.object-tree.properties-only .object-tree-outline): Deleted.\n(.object-tree-outline li): Deleted.\n(.object-tree-outline ol): Deleted.\n(.object-tree-outline ol.expanded): Deleted.\n(.object-tree-outline li .empty-message): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/ObjectTreeView.js:\n(WebInspector.ObjectTreeView):\nUse default TreeOutline DOM element, and simplify element class name.\nEnable custom indent (disables generated style rules).\n\n* UserInterface/Views/ProfileNodeTreeElement.js:\n(WebInspector.ProfileNodeTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/RenderingFrameTimelineView.css:\n(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle):\n(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/ResourceSidebarPanel.js:\n(WebInspector.ResourceSidebarPanel):\nDisable tree outline disclosure buttons.\n(WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated):\nEnable tree outline disclosure buttons.\n\n* UserInterface/Views/ScriptTimelineView.css:\n(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.script .item .subtitle):\n(.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .tree-outline.script .item .alternate-subtitle):\n(.tree-outline .item .alternate-subtitle):\n(.tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle):\n(.tree-outline .item.small:not(.two-line) .alternate-subtitle::before):\n(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): Deleted.\n(.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .navigation-sidebar-panel-content-tree-outline.script .item .alternate-subtitle): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item .alternate-subtitle): Deleted.\n(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle): Deleted.\n(.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .alternate-subtitle::before): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/SearchResultTreeElement.js:\n(WebInspector.SearchResultTreeElement): Deleted.\n* UserInterface/Views/SourceCodeTreeElement.js:\n(WebInspector.SourceCodeTreeElement): Deleted.\n* UserInterface/Views/StorageTreeElement.js:\n(WebInspector.StorageTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/TimelineDataGrid.css:\n(.tree-outline.timeline-data-grid .item:hover):\n(.tree-outline.timeline-data-grid .item:hover .subtitle):\n(.timeline-data-grid-tree-outline): Deleted.\n(.timeline-data-grid-tree-outline .item): Deleted.\n(.timeline-data-grid-tree-outline .item .status): Deleted.\n(.timeline-data-grid-tree-outline .item .icon): Deleted.\n(.timeline-data-grid-tree-outline .item:hover): Deleted.\n(.timeline-data-grid-tree-outline .item .titles): Deleted.\n(.timeline-data-grid-tree-outline .item .title::after): Deleted.\n(.timeline-data-grid-tree-outline .item .subtitle): Deleted.\n(.timeline-data-grid-tree-outline .item:hover .subtitle): Deleted.\n(.timeline-data-grid-tree-outline .item .subtitle:empty): Deleted.\n(.timeline-data-grid-tree-outline .item.small): Deleted.\n(.timeline-data-grid-tree-outline .item.small .icon): Deleted.\n(.timeline-data-grid-tree-outline .item.small .status): Deleted.\n(.timeline-data-grid-tree-outline .item.small .titles): Deleted.\n(.timeline-data-grid-tree-outline .item.small .subtitle): Deleted.\n(.timeline-data-grid-tree-outline .item.small:not(.two-line) .title::after): Deleted.\n(.timeline-data-grid-tree-outline .item.small:not(.two-line) .subtitle::before): Deleted.\nUpdated selectors with new tree outline class names, removed styles which\nare now provided by TreeOutline.css.\n\n* UserInterface/Views/TimelineDataGrid.js:\n(WebInspector.TimelineDataGrid.prototype._createPopoverContent):\nUse default TreeOutline DOM element, and simplify element class name.\n\n* UserInterface/Views/TimelineRecordTreeElement.js:\n(WebInspector.TimelineRecordTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/TimelineSidebarPanel.css:\n(.sidebar > .panel.navigation.timeline > .timelines-content .close-button): Deleted.\nRemoved styles which are now provided by TreeOutline.css.\n\n* UserInterface/Views/TimelineSidebarPanel.js:\n(WebInspector.TimelineSidebarPanel):\nDisable tree outline disclosure buttons, enable large tree style.\n\n* UserInterface/Views/TimelineView.css:\n(.panel.navigation.timeline > .content > .tree-outline):\n(.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .tree-outline):\n(.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.\n(.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/TreeOutline.css: Added.\n(.tree-outline .children):\n(.tree-outline .children.expanded):\n(.tree-outline .item):\n(.tree-outline.compact .item):\n(.tree-outline.large .item):\n(.tree-outline.hide-disclosure-buttons > .children):\n(.tree-outline > .children.hide-disclosure-buttons > .children):\n(.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon):\n(.tree-outline .item .disclosure-button):\n(.tree-outline.hide-disclosure-buttons .item .disclosure-button):\n(.tree-outline .item.parent .disclosure-button):\n(.tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):\n(.tree-outline .item.expanded .disclosure-button):\n(.tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):\n(.tree-outline .item .icon):\n(.tree-outline.compact .item .icon):\n(.tree-outline.large .item .icon):\n(.tree-outline .item .status):\n(.tree-outline.large .item .status):\n(.tree-outline .item .status:empty):\n(.tree-outline .item.selected):\n(.tree-outline:matches(:focus, .force-focus) .item.selected):\n(body.window-inactive .tree-outline .item.selected):\n(.tree-outline .item .titles):\n(.tree-outline.compact .item .titles):\n(.tree-outline.large .item .titles):\n(.tree-outline .item .highlighted):\n(.tree-outline.large .item .titles.no-subtitle):\n(.tree-outline .item .title::after):\n(.tree-outline .item .subtitle):\n(.tree-outline.large .item .subtitle):\n(.tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):\n(.tree-outline .item .subtitle:empty):\n(.tree-outline:not(.large) .item .status .indeterminate-progress-spinner):\n(.tree-outline .item .subtitle::before):\nRelocated tree outlines styles from NavigationSidebarPanel.css.\n\n* UserInterface/Views/TreeOutline.js:\n(WebInspector.TreeOutline):\n(WebInspector.TreeOutline.prototype.get compact):\n(WebInspector.TreeOutline.prototype.set compact):\n(WebInspector.TreeOutline.prototype.get large):\n(WebInspector.TreeOutline.prototype.set large):\n(WebInspector.TreeOutline.prototype.get disclosureButtons):\n(WebInspector.TreeOutline.prototype.set disclosureButtons):\n(WebInspector.TreeOutline.prototype.get customIndent):\n(WebInspector.TreeOutline.prototype.set customIndent):\nAdded properties for tree element appearance and indentation\nbehavior, so clients don't need to manually toggle style classes.\n(WebInspector.TreeOutline._generateStyleRulesIfNeeded):\nRelocated from NavigationSidebarPanel.js.\n\n* UserInterface/Views/TypeTreeElement.js:\n(WebInspector.TypeTreeElement): Deleted.\nRemoved call to obsolete TreeOutline.prototype.small setter.\n\n* UserInterface/Views/TypeTreeView.css:\n(.tree-outline.type):\n(.tree-outline.type li):\n(.tree-outline.type ol):\n(.tree-outline.type ol.expanded):\n(.tree-outline.type li .empty-message):\n(.type-tree-outline): Deleted.\n(.type-tree-outline li): Deleted.\n(.type-tree-outline ol): Deleted.\n(.type-tree-outline ol.expanded): Deleted.\n(.type-tree-outline li .empty-message): Deleted.\nUpdated selectors with new tree outline class names.\n\n* UserInterface/Views/TypeTreeView.js:\n(WebInspector.TypeTreeView):\nUse default TreeOutline DOM element, and simplify element class name.\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@195303 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/Igalia/webkit/commits/c14cf1109369d82df7648f7a82fa8b87a727c846"}]}