1. 26 Apr, 2017 1 commit
  2. 09 Apr, 2017 1 commit
    • Blink Reformat's avatar
      The Blink Rename · 1c4d759e
      Blink Reformat authored
      Identifiers in Blink now largely follow the standard Chrome style
      conventions, with several additional rules:
      - web-exposed methods remain namedLikeThis() for consistency with
        Javascript bindings.
      - method names are never named_in_hacker_case()
      - enumerator names are kNamedLikeThis.
      
      This commit was generated by the following process.
      1. Running //tools/clang/rewrite_to_chrome_style across the codebase.
      2. Apply manual fixes.
      3. git cl format
      
      BUG=578344
      R=lukasza@chromium.org
      TBR=darin@chromium.org
      
      Change-Id: Ide5d397d3c6a5d973fd0a6f81dccf82561d4bb71
      Reviewed-on: https://chromium-review.googlesource.com/472192Reviewed-by: default avatarBlink Reformat <blink-reformat@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#463139}
      1c4d759e
  3. 29 Mar, 2017 1 commit
  4. 28 Mar, 2017 2 commits
  5. 02 Mar, 2017 1 commit
    • bokan's avatar
      Use nine-patch resource for drawing Aura overlay scrollbar thumb. · e7a058aa
      bokan authored
      This patch factors out the nine-patch generation from NinePatchLayer
      into a NinePatchGenerator and uses it to create a nine-patch scrollbar
      layer that can change size without a repaint. This is used only in the
      compositor. Scrollbars painted in Blink paint to the full required size.
      
      The new scrollbar type is implemented in OverlayScrollbarLayer and Impl.
      We add methods to NativeTheme to draw 9-patch versions of a theme part,
      currently implemented for the scrollbar thumb for overlays in
      NativeThemeAura. The NativeTheme provides two methods:
      
      NinePatchCanvasSize() returns the size of the smallest canvas onto which
      a nine patch part can be drawn.
      
      NinePatchAperture() returns the rect in the canvas, whose size is
      provided by the method above, which will be used as the middle patch in
      the resource. Resizing the part will stretch only the middle patch in
      both directions.
      
      This is used mainly for the thinning animation in Aura overlay
      scrollbars. We still need to repaint due to hover and pressed effects.
      Technically, we could avoid repainting on size changes too but this would
      require some additional work.
      
      BUG=669670
      CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
      
      Review-Url: https://codereview.chromium.org/2591863003
      Cr-Commit-Position: refs/heads/master@{#454413}
      e7a058aa
  6. 28 Jan, 2017 1 commit
  7. 22 Dec, 2016 1 commit
    • bokan's avatar
      Aura overlay scrollbars shouldn't invalidate thumb on scroll or enabled state. · 65f5be3d
      bokan authored
      We still invalidate the scroll controls on ScrollableArea, which is used if the
      scrollbars are painted into the ScrollableArea itself, rather than composited
      layers.
      
      The thumbNeedsRepaint property on Scrollbar is used to repaint a scrollbar thumb
      that's actually changed appearance. This isn't actually needed when the thumb
      simply changes scroll offset. Nor is it needed when the enabled/disabled state
      changes since the compositor knows how to hide them itself. Thus, a composited
      scrollbar now needs to repaint only when the hovered or pressed state changes
      or if there's a geometry change.
      
      BUG=669670
      
      Review-Url: https://codereview.chromium.org/2590163004
      Cr-Commit-Position: refs/heads/master@{#440450}
      65f5be3d
  8. 21 Dec, 2016 1 commit
  9. 12 Dec, 2016 1 commit
    • tkent's avatar
      SELECT element: Fix a bug that intrinsic width is too narrow in less-than-100% zoom level. · 0151427d
      tkent authored
      This is a regression by crbug.com/432795.  Scrollbar thickness is fixed regardless
      of zoom level.  So popup width was too narrow in less-than-100% zoom level.
      
      With this CL, popupInternalPaddingEnd() returns zoomed value as ever if zoom level
      is 100%+, and returns a value based on actual scrollbar thickness otherwise.
      
      Also, popupIntenalPaddingEnd() respects to the actual scrollbar thickness instead
      of returning fixed '18' pixel.  The default scrollbar thickness on Windows is 17.
      popupInternalPaddingEnd() returns 1 + <scrollbar thickness>.
      
      We need to update ThemePainterDefault::setupMenuListArrow() so that it can support
      variable width of scrollbars.
      
      Summary of behavior changes:
      
      All platforms except Mac:
        menulist box is wider in less-than-100% zoom level.
      
      Windows Aura theme:
        menulist box is not changed in 100%+ zoom level.
      
      Non-Windows Aura theme and Mock theme:
        menulist box  is narrower by 2px because scrollbar thickness is 15px.
      
      BUG=667236
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
      
      Review-Url: https://codereview.chromium.org/2560733002
      Cr-Commit-Position: refs/heads/master@{#437864}
      0151427d
  10. 18 Nov, 2016 1 commit
    • bokan's avatar
      Disable overlay scrollbars to hide them on non-Mac. · 4337e5dd
      bokan authored
      In https://codereview.chromium.org/2467693002/ I accidentally removed the code
      that disabled/enabled scrollbars based on whether they're hidden. This was
      because it caused an invalidation cycle on Mac but I had forgotten that the
      reason for disabling scrollbars that are invisible is that painting code uses
      this as a signal to "hide" the scrollbar.
      
      This patch brings the code back but makes the behavior dependent on a flag in
      ScrollbarTheme. This is needed since the signalling is flipped on Mac. On Mac,
      painting code makes the scrollbars invisible which then sets the
      scrollbarsHidden flag on the ScrollableArea. On Aura, a timer determines that
      the scrollbars need to be hidden and disables them which causes an invalidation
      and repaint.
      
      BUG=307091
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
      
      Review-Url: https://codereview.chromium.org/2509843004
      Cr-Commit-Position: refs/heads/master@{#433300}
      4337e5dd
  11. 16 Nov, 2016 1 commit
  12. 11 Nov, 2016 1 commit
    • bokan's avatar
      [Reland] Implement overlay scrollbar fade out for non-composited scrollers. · eb757fdb
      bokan authored
      In crrev.com/2442573002 and crrev.com/2453553003 I added fade out for Aura
      overlay scrollbars. In this patch I add a simple instantly disappearing
      fade-out for scrollers that aren't composited.
      
      The changes in this patch are:
      
      -Plumb through the fade out durations into Blink. Any time a ScrollableArea is
      scrolled or resized we show the scrollbars and start a timer to make them
      disappear. The scrollbars are marked as "hidden" and made disabled and invisible
      to hit testing.
      
      -Fixed hit testing for overlay scrollbars so we can't scroll by clicking on the
      track (which isn't painted).
      
      -Fixed two layout tests:
        third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-hittest.html
        overlay-scrollbar-mouse-capture.html
        These tests turn on overlay scrollbars but try to scroll by clicking a
        button/track which I fixed. The tests now drag the thumb instead.
      
      -In crrev.com/2453553003 I added didChangeScrollbarsHidden to disable overlay
      scrollbars so they're invisible to hit testing. It turns out Mac overlay
      scrollbars already have this functionality in
      ScrollableArea::scrollbarVisibilityChanged and
      Scrollbar::shouldParticipateInHitTesting so I removed didChangeScrollbarsHidden
      and used these. I also removed some redundancy in the Mac path so that Mac and
      Aura overlays disable hit testing in the same way.
      
      -Removed the static compile assert about ScrollableArea staying small. There's
      no reason ScrollableArea is particularily special and this encourages
      developers to duplicate functionality in the descendant classes.
      
      BUG=592098, 662402
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
      
      Committed: https://crrev.com/4430234f2f5f52efe60ad2b8e6608112352259da
      Committed: https://crrev.com/60d2bbbc8fa4cce01bbd90c97d3e989a47d6dedf
      Review-Url: https://codereview.chromium.org/2467693002
      Cr-Original-Original-Commit-Position: refs/heads/master@{#429616}
      Cr-Original-Commit-Position: refs/heads/master@{#430065}
      Cr-Commit-Position: refs/heads/master@{#431466}
      eb757fdb
  13. 09 Nov, 2016 1 commit
    • bokan's avatar
      Revert of Implement overlay scrollbar fade out for non-composited scrollers.... · 424b967d
      bokan authored
      Revert of Implement overlay scrollbar fade out for non-composited scrollers. (patchset #11 id:200001 of https://codereview.chromium.org/2467693002/ )
      
      Reason for revert:
      Speculative revert for issue crbug.com/662402
      
      BUG=662402
      
      Original issue's description:
      > [Reland] Implement overlay scrollbar fade out for non-composited scrollers.
      >
      > In crrev.com/2442573002 and crrev.com/2453553003 I added fade out for Aura
      > overlay scrollbars. In this patch I add a simple instantly disappearing
      > fade-out for scrollers that aren't composited.
      >
      > The changes in this patch are:
      >
      > -Plumb through the fade out durations into Blink. Any time a ScrollableArea is
      > scrolled or resized we show the scrollbars and start a timer to make them
      > disappear. The scrollbars are marked as "hidden" and made disabled and invisible
      > to hit testing.
      >
      > -Fixed hit testing for overlay scrollbars so we can't scroll by clicking on the
      > track (which isn't painted).
      >
      > -Fixed two layout tests:
      >   third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-hittest.html
      >   overlay-scrollbar-mouse-capture.html
      >   These tests turn on overlay scrollbars but try to scroll by clicking a
      >   button/track which I fixed. The tests now drag the thumb instead.
      >
      > -In crrev.com/2453553003 I added didChangeScrollbarsHidden to disable overlay
      > scrollbars so they're invisible to hit testing. It turns out Mac overlay
      > scrollbars already have this functionality in
      > ScrollableArea::scrollbarVisibilityChanged and
      > Scrollbar::shouldParticipateInHitTesting so I removed didChangeScrollbarsHidden
      > and used these. I also removed some redundancy in the Mac path so that Mac and
      > Aura overlays disable hit testing in the same way.
      >
      > -Removed the static compile assert about ScrollableArea staying small. There's
      > no reason ScrollableArea is particularily special and this encourages
      > developers to duplicate functionality in the descendant classes.
      >
      > BUG=592098
      > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
      >
      > Committed: https://crrev.com/4430234f2f5f52efe60ad2b8e6608112352259da
      > Committed: https://crrev.com/60d2bbbc8fa4cce01bbd90c97d3e989a47d6dedf
      > Cr-Original-Commit-Position: refs/heads/master@{#429616}
      > Cr-Commit-Position: refs/heads/master@{#430065}
      
      TBR=jbroman@chromium.org,dtapuska@chromium.org,piman@chromium.org,pkasting@chromium.org,rbyers@chromium.org,skobes@chromium.org,thestig@chromium.org
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=592098
      
      Review-Url: https://codereview.chromium.org/2489703002
      Cr-Commit-Position: refs/heads/master@{#430824}
      424b967d
  14. 04 Nov, 2016 2 commits
    • bokan's avatar
      [Reland] Implement overlay scrollbar fade out for non-composited scrollers. · 60d2bbbc
      bokan authored
      In crrev.com/2442573002 and crrev.com/2453553003 I added fade out for Aura
      overlay scrollbars. In this patch I add a simple instantly disappearing
      fade-out for scrollers that aren't composited.
      
      The changes in this patch are:
      
      -Plumb through the fade out durations into Blink. Any time a ScrollableArea is
      scrolled or resized we show the scrollbars and start a timer to make them
      disappear. The scrollbars are marked as "hidden" and made disabled and invisible
      to hit testing.
      
      -Fixed hit testing for overlay scrollbars so we can't scroll by clicking on the
      track (which isn't painted).
      
      -Fixed two layout tests:
        third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-hittest.html
        overlay-scrollbar-mouse-capture.html
        These tests turn on overlay scrollbars but try to scroll by clicking a
        button/track which I fixed. The tests now drag the thumb instead.
      
      -In crrev.com/2453553003 I added didChangeScrollbarsHidden to disable overlay
      scrollbars so they're invisible to hit testing. It turns out Mac overlay
      scrollbars already have this functionality in
      ScrollableArea::scrollbarVisibilityChanged and
      Scrollbar::shouldParticipateInHitTesting so I removed didChangeScrollbarsHidden
      and used these. I also removed some redundancy in the Mac path so that Mac and
      Aura overlays disable hit testing in the same way.
      
      -Removed the static compile assert about ScrollableArea staying small. There's
      no reason ScrollableArea is particularily special and this encourages
      developers to duplicate functionality in the descendant classes.
      
      BUG=592098
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
      
      Committed: https://crrev.com/4430234f2f5f52efe60ad2b8e6608112352259da
      Review-Url: https://codereview.chromium.org/2467693002
      Cr-Original-Commit-Position: refs/heads/master@{#429616}
      Cr-Commit-Position: refs/heads/master@{#430065}
      60d2bbbc
    • tapted's avatar
      Revert of Implement overlay scrollbar fade out for non-composited scrollers.... · 86250055
      tapted authored
      Revert of Implement overlay scrollbar fade out for non-composited scrollers. (patchset #7 id:120001 of https://codereview.chromium.org/2467693002/ )
      
      Reason for revert:
      WebKit Linux Precise MSAN failing since
      https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Precise%20MSAN/builds/855
      
      Errors like
      
      STDERR: ==4==WARNING: MemorySanitizer: use-of-uninitialized-value
      STDERR:     #0 0xafdca9e in showOverlayScrollbars third_party/WebKit/Source/platform/scroll/ScrollableArea.cpp:569:7
      
      Original issue's description:
      > Implement overlay scrollbar fade out for non-composited scrollers.
      >
      > In crrev.com/2442573002 and crrev.com/2453553003 I added fade out for Aura
      > overlay scrollbars. In this patch I add a simple instantly disappearing
      > fade-out for scrollers that aren't composited.
      >
      > The changes in this patch are:
      >
      > -Plumb through the fade out durations into Blink. Any time a ScrollableArea is
      > scrolled or resized we show the scrollbars and start a timer to make them
      > disappear. The scrollbars are marked as "hidden" and made disabled and invisible
      > to hit testing.
      >
      > -Fixed hit testing for overlay scrollbars so we can't scroll by clicking on the
      > track (which isn't painted).
      >
      > -Fixed two layout tests:
      >   third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-hittest.html
      >   overlay-scrollbar-mouse-capture.html
      >   These tests turn on overlay scrollbars but try to scroll by clicking a
      >   button/track which I fixed. The tests now drag the thumb instead.
      >
      > -In crrev.com/2453553003 I added didChangeScrollbarsHidden to disable overlay
      > scrollbars so they're invisible to hit testing. It turns out Mac overlay
      > scrollbars already have this functionality in
      > ScrollableArea::scrollbarVisibilityChanged and
      > Scrollbar::shouldParticipateInHitTesting so I removed didChangeScrollbarsHidden
      > and used these. I also removed some redundancy in the Mac path so that Mac and
      > Aura overlays disable hit testing in the same way.
      >
      > -Removed the static compile assert about ScrollableArea staying small. There's
      > no reason ScrollableArea is particularily special and this encourages
      > developers to duplicate functionality in the descendant classes.
      >
      > BUG=592098
      > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
      >
      > Committed: https://crrev.com/4430234f2f5f52efe60ad2b8e6608112352259da
      > Cr-Commit-Position: refs/heads/master@{#429616}
      
      TBR=jbroman@chromium.org,dtapuska@chromium.org,piman@chromium.org,pkasting@chromium.org,rbyers@chromium.org,skobes@chromium.org,bokan@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=592098
      
      Review-Url: https://codereview.chromium.org/2478463003
      Cr-Commit-Position: refs/heads/master@{#429766}
      86250055
  15. 03 Nov, 2016 1 commit
    • bokan's avatar
      Implement overlay scrollbar fade out for non-composited scrollers. · 4430234f
      bokan authored
      In crrev.com/2442573002 and crrev.com/2453553003 I added fade out for Aura
      overlay scrollbars. In this patch I add a simple instantly disappearing
      fade-out for scrollers that aren't composited.
      
      The changes in this patch are:
      
      -Plumb through the fade out durations into Blink. Any time a ScrollableArea is
      scrolled or resized we show the scrollbars and start a timer to make them
      disappear. The scrollbars are marked as "hidden" and made disabled and invisible
      to hit testing.
      
      -Fixed hit testing for overlay scrollbars so we can't scroll by clicking on the
      track (which isn't painted).
      
      -Fixed two layout tests:
        third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-tickmarks-hittest.html
        overlay-scrollbar-mouse-capture.html
        These tests turn on overlay scrollbars but try to scroll by clicking a
        button/track which I fixed. The tests now drag the thumb instead.
      
      -In crrev.com/2453553003 I added didChangeScrollbarsHidden to disable overlay
      scrollbars so they're invisible to hit testing. It turns out Mac overlay
      scrollbars already have this functionality in
      ScrollableArea::scrollbarVisibilityChanged and
      Scrollbar::shouldParticipateInHitTesting so I removed didChangeScrollbarsHidden
      and used these. I also removed some redundancy in the Mac path so that Mac and
      Aura overlays disable hit testing in the same way.
      
      -Removed the static compile assert about ScrollableArea staying small. There's
      no reason ScrollableArea is particularily special and this encourages
      developers to duplicate functionality in the descendant classes.
      
      BUG=592098
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
      
      Review-Url: https://codereview.chromium.org/2467693002
      Cr-Commit-Position: refs/heads/master@{#429616}
      4430234f
  16. 02 Nov, 2016 1 commit
  17. 28 Oct, 2016 1 commit
    • chaopeng's avatar
      Aura overlay scrollbars adjust color for dark backgrounds · 3386732f
      chaopeng authored
      Since we already save the overlay scrollbar color theme in ScrollableArea for
      Mac, this patch plumbs it through for Aura overlay scrollbars.
      
      Also we rename ScrollbarOverlayStyle to ScrollbarOverlayColorTheme to avoid
      misleading since we already have ScrollbarStyle WebThemeEngine.h.
      
      BUG=636662
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
      
      Review-Url: https://codereview.chromium.org/2426793002
      Cr-Commit-Position: refs/heads/master@{#428367}
      3386732f
  18. 03 Oct, 2016 1 commit
  19. 01 Oct, 2016 1 commit
    • Blink Reformat's avatar
      Reformat blink. · 1c8e1a77
      Blink Reformat authored
      This should be behavior-preserving, so if `git blame` claims that this
      CL touched something last, look at the previous CL touching the line
      you're looking at.
      
        find third_party/WebKit/ -name '*.cpp' -o -name '*.h' -o -name '*.mm' | \
            xargs buildtools/linux64/clang-format -i
      
      BUG=563793
      
      Cr-Commit-Position: refs/heads/master@{#422256}
      1c8e1a77
  20. 09 Jun, 2016 1 commit
    • wangxianzhu's avatar
      WebScrollbarThemeClientImpl should not be DisplayItemClient · ac033054
      wangxianzhu authored
      WebScrollbarThemeClientImpl inherited DisplayItemClient from
      ScrollbarThemeClient but it is never used as a DisplayItemClient.
      
      Let Scrollbar instead of ScrollbarThemeClient inherit
      DisplayItemClient, and use Scrollbar type in ScrollbarTheme
      paint methods.
      
      This avoids the need to let WebScrollbarThemeClientImpl follow
      the rules of DisplayItemClient caching.
      
      Review-Url: https://codereview.chromium.org/2045963003
      Cr-Commit-Position: refs/heads/master@{#398818}
      ac033054
  21. 25 Jan, 2016 1 commit
    • Nico Weber's avatar
      Add more missing closing namespace comments. · be94d600
      Nico Weber authored
      This helps clang-format a bit (without these, it removes the empty
      line before the namespace's closing '}'), and since we want these
      comments anyway, just add them.
      
      Patch created by running (in src/out/Release):
      time ~/src/llvm-rw/tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py \
          -checks=-*,google-readability-namespace-comments -p ../.. \
          -clang-tidy-binary ~/src/llvm-build/bin/clang-tidy \
          -header-filter third_party/WebKit/Source -j8 -fix third_party/WebKit/Source
      
      Previously I created compile_commands.json by running (in src/):
          ninja -C out/Release/ -t compdb objcxx cxx > compile_commands.json
      
      To let clang-tidy and clang agree on which revision should be used for precompiled
      header files (I did this on Mac), I gypped like so and built 'blink' and 'webcore' normally
      before running clang-tidy:
      
      GYP_DEFINES='make_clang_dir=/Users/thakis/src/llvm-build clang_use_chrome_plugins=0 fastbuild=1 component=shared_library' build/gyp_chromium
      
      This is like https://codereview.chromium.org/1629693002/, but for all of blink.
      No behavior change.
      
      BUG=580787, 403854
      R=jochen@chromium.org
      
      Review URL: https://codereview.chromium.org/1627713002 .
      
      Cr-Commit-Position: refs/heads/master@{#371243}
      be94d600
  22. 20 Jan, 2016 1 commit
  23. 19 Jan, 2016 1 commit
  24. 04 Jan, 2016 1 commit
  25. 29 Dec, 2015 3 commits
  26. 14 Dec, 2015 1 commit
  27. 10 Dec, 2015 1 commit
  28. 08 Dec, 2015 1 commit
  29. 02 Dec, 2015 1 commit
  30. 27 Nov, 2015 1 commit
    • ccameron's avatar
      Mac: Don't repaint scrollbars every frame · a54da38a
      ccameron authored
      The core issue here is that Blink, when it sees that it needs to
      change the scrollbar in any way (even just moving the thumb), uses the
      signal blink::Scrollbar::setNeedsPaintInvalidation(). This will trigger
      a call to cc::PaintedScrollbarLayer::Update(), which will re-paint all
      controls into textures and then emit quads the quads for the controls.
      
      We often only need to re-arrange the quads for the controls of the
      scrollbar, not re-paint them.
      
      The system that knows whether or not the controls need to be
      repainted is blink::ScrollbarTheme (because that's the code that knows
      the theme that will be used to do the painting).
      
      Add blink::ScrollbarTheme::shouldRepaintAllPartsOnInvalidation() to
      indicate if a call to blink::Scrollbar::setNeedsPaintInvalidation()
      should cause re-painting of all of the controls. If this returns false
      for a given theme, then methods blink::Scrollbar::setNeedsPaintTrack()
      and blink::Scrollbar::setNeedsPaintThumb() may be used to specify more
      granular control.
      
      Back in cc::PaintedScrollbarLayer::Update(), use the methods
      cc::Scrollbar::NeedsPaintPart() to check if re-paint is needed (it is
      hooked up to the bit that is set by the blink::Scrollbar methods).
      
      While we're in the neighborhood, it is worth noting that most of the
      repainting of scrollbars on Mac is due to the alpha of the thumb or the
      track changing. Add methods to blink::Scrollbar to query the opacity
      of the controls, so that we can do the blending at compositing time
      instead of requiring a repaint.
      
      And, while we're in that neighborhood, fix cc::CALayerOverlay's
      FromTextureQuad function to correctly take into account per-vertex
      opacity.
      
      BUG=549277
      TEST=
      - Set the system to only show scrollbars while scrolling
      - Open a page with a vertical scrollbar
      - Scroll to make the scroll thumb appear
      - Hover the mouse somewhere below the thumb
      - The thumb should become thicker and the track should appear
      - After some time, the thumb and the track should fade away
      TEST=
      - Open a page with a scrollbar and search (command-F) for some text
      - Ensure that the ticks on the vertical scrollbar appear
      CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1458703010
      
      Cr-Commit-Position: refs/heads/master@{#361938}
      a54da38a
  31. 17 Nov, 2015 1 commit
  32. 29 Oct, 2015 2 commits
  33. 01 Oct, 2015 1 commit
    • wangxianzhu's avatar
      Let LayoutObjects be const to painters · 36c3845d
      wangxianzhu authored
      Painters should not modify LayoutObject status except some status
      dedicated for painting. The exceptions are marked mutable.
      
      List of 'mutable's added in this CL:
      - FrameView::m_isPainting: for assertion (in FrameView::layout(),
        Document::updateLayoutTrees() and FramePainter::paintContents()).
        Will change to document cycle states.
      - LayoutObject::BitFields::m_boxDecorationBackgroundState: Lazily
        updated in LayoutObject::boxDecorationBackgroundIsKnownToBeObscured().
      - LayoutTable::m_currentBorder: Used temporarily during painting only.
        Will move into painter.
      
      List of 'const_cast's added in this CL:
      - ImageQualityController::highQualityRepaintTimerFired()
        when invalidating LayoutObject on timer. Will change to
        mutableForPainting[1].
      - LineBoxListPainter::paint()
        This is of const sementics, but LineLayoutBoxModel doesn't support
        const for now (crbug.com/535785)
      - SVGFilterPainter::prepareEffect()
        when calling m_filter.setFilterDataForLayoutObject. TODO(pdr).
      - ScrollbarPainter::paintIntoRect()
        a layer violation that the painter changes geometry of scrollbars.
        There is an existing FIXME.
      - When calling get() on a Map<non-const-pointer, ...>.
      - Used to implement const version of getters based on the non-const
        version.
      
      [1] mutableForPainting: https://codereview.chromium.org/1363613002/#msg6
      
      Review URL: https://codereview.chromium.org/1361363003
      
      Cr-Commit-Position: refs/heads/master@{#351868}
      36c3845d
  34. 23 Jul, 2015 1 commit
  35. 21 Apr, 2015 1 commit