1. 30 May, 2020 1 commit
  2. 26 May, 2020 1 commit
  3. 06 Mar, 2020 1 commit
    • Emilio Cobos Álvarez's avatar
      Bug 1620359 - Don't clear the "uses viewport units" bit when a font that... · 3d29b274
      Emilio Cobos Álvarez authored
      Bug 1620359 - Don't clear the "uses viewport units" bit when a font that doesn't cause a style change loads. r=jfkthame
      
      This is probably an old-ish bug made more frequent by the font loading
      optimizations.
      
      PostRebuildAllStyleData is a bit of a misnomer, but was always calling
      ClearCachedData() on the style set, even if we weren't guaranteed to restyle
      every element.
      
      This means both wasted work and correctness issues (as the "uses <rare-feature>"
      bits are cleared during this call, on the assumption that we'll then visit all
      elements and that'd recompute it properly).
      
      For now, unify a bit the different code paths and only clear these bits if we're
      guaranteed to restyle all elements.
      
      I should rename this to something better in a follow-up, and ideally also
      decouple the ClearCachedData() calls a bit...
      
      Differential Revision: https://phabricator.services.mozilla.com/D65740
      
      --HG--
      extra : moz-landing-system : lando
      3d29b274
  4. 06 Oct, 2019 1 commit
  5. 29 Jul, 2019 1 commit
    • Emilio Cobos Álvarez's avatar
      Bug 1568778 - Do suppress adjustments when switching an undisplayed element to... · e91be6b3
      Emilio Cobos Álvarez authored
      Bug 1568778 - Do suppress adjustments when switching an undisplayed element to be abspos. r=dholbert
      
      One of the issues with the test-case in this bug is that the page consumes a ton
      of CPU due to scroll anchor adjustments being triggered from scroll events,
      which in turn cause other scroll events to fire.
      
      This happens in Chrome as well (just scroll to the bottom of the test-case, and
      do `addEventListener("scroll", () => console.log("scroll"))` on devtools. But I
      think it's worth fixing. This patch fixes it and overall I think it's a slightly
      better approach to suppress adjustments than what we're doing.
      
      Differential Revision: https://phabricator.services.mozilla.com/D39339
      
      --HG--
      extra : moz-landing-system : lando
      e91be6b3
  6. 19 Jul, 2019 1 commit
  7. 24 Jun, 2019 1 commit
  8. 26 Mar, 2019 1 commit
  9. 29 Mar, 2019 3 commits
  10. 18 Mar, 2019 1 commit
  11. 14 Mar, 2019 1 commit
  12. 01 Mar, 2019 3 commits
  13. 19 Feb, 2019 1 commit
    • Emilio Cobos Álvarez's avatar
      Bug 1525955 - Include anon boxes in CSSPseudoElementType, to remove... · dad3a20b
      Emilio Cobos Álvarez authored
      Bug 1525955 - Include anon boxes in CSSPseudoElementType, to remove ComputedStyle::mPseudoTag. r=heycam
      
      This is more consistent with what the Rust bits of the style system do, and
      removes a pointer from ComputedStyle which is always nice.
      
      This also aligns the Rust bits with the C++ bits re. not treating xul pseudos as
      anonymous boxes. See the comment in nsTreeStyleCache.cpp regarding those.
      
      Can't wait for XUL trees to die.
      
      Depends on D19001
      
      Differential Revision: https://phabricator.services.mozilla.com/D19002
      
      --HG--
      extra : moz-landing-system : lando
      dad3a20b
  14. 29 Jan, 2019 3 commits
  15. 30 Nov, 2018 1 commit
  16. 21 Sep, 2018 1 commit
  17. 06 Aug, 2018 1 commit
  18. 30 Jul, 2018 1 commit
    • Hiroyuki Ikezoe's avatar
      Bug 1478643 - Apply change hints for transform animation in the case where the... · 0ffcf236
      Hiroyuki Ikezoe authored
      Bug 1478643 - Apply change hints for transform animation in the case where the current transform style is 'none' and no change hint produced in AddLayerChangesForAnimation. r=birtles
      
      The applying change hints are the same as what we apply for transform style
      changed from something to 'none'.
      
      All test cases pass with this fix fail without the fix.
      
      MozReview-Commit-ID: 7HStU26lRPq
      
      --HG--
      extra : rebase_source : 701361d477ab7954ab15fde75fd40d98724e47b3
      0ffcf236
  19. 15 May, 2018 1 commit
    • Emilio Cobos Álvarez's avatar
      Bug 1459529: Remove UPDATE_STYLE. r=heycam · cb56e2c9
      Emilio Cobos Álvarez authored
      Now that BeginUpdate is useless for the UPDATE_STYLE case, we don't need the
      update mechanism at all. Just ensure that ApplicableStylesChanged is called on
      the pres shell via the relevant RuleChanged, etc. notifications.
      
      There's a big hidden gotcha here. nsIDocument::BeginUpdate does put a script
      blocker on the stack for these updates. However it's not needed, since no script
      can run during these notifications (only the stylesheet events we post for
      devtools, but those use AsyncEventDispatcher and PostDOMEvents, so they don't
      try to run immediately).
      
      nsIDocument::BeginUpdate also does XBL binding attached queue stuff, but we
      can't change bindings during these notifications anyway, so it also doesn't
      matter.
      
      MozReview-Commit-ID: HJvK6zQfloh
      cb56e2c9
  20. 09 Apr, 2018 1 commit
  21. 07 Apr, 2018 4 commits
  22. 22 Mar, 2018 3 commits
  23. 28 Mar, 2018 1 commit
  24. 28 Nov, 2017 1 commit
    • Jeremy Chen's avatar
      Bug 1421197 - use 64-bit for restyle generation counters to avoid overflow issues. r=heycam · d4489c8a
      Jeremy Chen authored
      It is expected to use 64-bit for all the restyle generation counters, since the
      getter methods all return uint64_t type at present. However, we're using uint32_t
      for the actual counter variables, which means the potential overflow issue is not
      avoided.
      
      In this patch, we use 64-bit for the restyle generation counters, so the overflow
      issue can be avoided as expected.
      
      MozReview-Commit-ID: 2y2afIcuwvc
      
      --HG--
      extra : rebase_source : 3fe64d7d3fc00fa1031eef9f0c15b64405435dfd
      d4489c8a
  25. 17 Apr, 2018 1 commit
  26. 27 Feb, 2018 1 commit
    • Emilio Cobos Álvarez's avatar
      Bug 1427625: Optimize appends to avoid restyling unnecessarily. r=xidorn · a133a50a
      Emilio Cobos Álvarez authored
      This unfortunately doesn't fix my test-case (because we're replacing the text
      content all the time and all that), but it's still worth it, since it fixes the
      case we care about (the parser appending).
      
      We could also optimize pure insertions (since in that case we can still figure
      out what the old text was), but it's probably annoying and not worth the churn.
      
      In any case, we cannot optimize anything that resembles any kind of removal,
      because from there we don't know the old text in any way (and the text nodes
      like to reuse string buffers and such).
      
      We could do two other optimizations to replace / extend this one, in that order:
      
       * Pass the buffer and length to CharacterDataWillChange, and use that to get
         the exact old text and the new one in RestyleManager. That would make the
         optimization exact.
      
       * Pass some sort of Maybe<bool> mWasWhitespace down the CharacterDataChangeInfo
         which is computed like:
      
          HasFlag(NS_CACHED_TEXT_IS_ONLY_WHITESPACE)
            ? Some(NS_TEXT_IS_ONLY_WHITESPACE)
            : Nothing()
      
      It's not clear to me it's going to be completely worth the churn, so I haven't
      done those yet, if we see code in the wild which resembles my testcase, we can
      think of doing it.
      
      MozReview-Commit-ID: 2rTWaZti8rv
      
      --HG--
      extra : rebase_source : 7390b8740801eb7b91700bb2533c43c173ac5db9
      a133a50a
  27. 02 Oct, 2017 1 commit
    • Nicholas Nethercote's avatar
      Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. · d225f715
      Nicholas Nethercote authored
      (Path is actually r=froydnj.)
      
      Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
      nsISupports. This means that nsAtom is now a better name for it than nsIAtom.
      
      MozReview-Commit-ID: 91U22X2NydP
      
      --HG--
      rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
      extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
      d225f715
  28. 16 Aug, 2017 1 commit
  29. 14 Aug, 2017 1 commit