1. 15 Jun, 2014 3 commits
    • pdr@chromium.org's avatar
      Reduce the number of CachedUAStyles · 3407d103
      pdr@chromium.org authored
      CachedUAStyles are large (160b) and not cheap to create because they
      include several Length objects which have non-trivial destructors,
      making CachedUAStyles expensive to destruct. This patch reduces the
      number of CachedUAStyles by only creating them when needed.
      
      There are two changes in this patch:
      1) CachedUAStyle& is no longer a member on StyleAdjuster but is
      instead passed in through StyleAdjuster::adjustRenderStyle.
      
      2) The cached UA style is now constructed as-needed in
      StyleResolverState::cacheUserAgentBorderAndBackground.
      StyleResolverState always owned the CachedUAStyle but this patch
      makes it explicit by changing the type to OwnPtr<CachedUAStyle>. A
      null check was needed in RenderTheme::adjustStyle but otherwise
      CachedUAStyle was not accessed without being set.
      
      Before patch:
        facebook.com - 19,850 CachedUAStyles constructed
        wikipedia cat - 22,686 CachedUAStyles constructed
      
      With patch:
        facebook.com - 538 CachedUAStyles constructed
        wikipedia cat - 16 CachedUAStyles constructed
      
      Review URL: https://codereview.chromium.org/338673002
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@176163 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      3407d103
    • dcheng@chromium.org's avatar
      Change Page::m_mainFrame to be a Frame. · b5f0d23c
      dcheng@chromium.org authored
      With OOPI, the main frame can be either local or remote. Features that depend
      on the main frame being local will have to be updated to account for this fact.
      
      This patch takes an aggressive approach--most locations that depend on main
      frame being local have been updated to directly attempt to downcast to
      LocalFrame, with no attempt to check that the main frame is local first. The
      only places that check are those on the critical path towards getting
      rendering/input events working with the updated OOPI infrastructure.
      
      BUG=346764
      
      Review URL: https://codereview.chromium.org/336553003
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@176162 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      b5f0d23c
    • ojan@chromium.org's avatar
      Green the garden-o-matic unittests. · f4701ffc
      ojan@chromium.org authored
      Also fixes a real bug where we reversed the order of the
      type/release/debug columns for the list of failing builders,
      but we didn't adjust cellByBuildType or the tests to account
      for it. Instead, re-reverse the order. Tests pass, bug fixed.
      I'm not sure when this bug got introduced, but its at least
      from before the Blink fork, as are most of these other test
      failures.
      
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/332073002
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@176161 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      f4701ffc
  2. 14 Jun, 2014 18 commits
  3. 13 Jun, 2014 19 commits