Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 2631113003: Add metric to know how user use scrollbar (Closed)
Patch Set: bokan comments addressed Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999 Lars Knoll <knoll@kde.org> 3 * 1999 Lars Knoll <knoll@kde.org>
4 * 1999 Antti Koivisto <koivisto@kde.org> 4 * 1999 Antti Koivisto <koivisto@kde.org>
5 * 2000 Dirk Mueller <mueller@kde.org> 5 * 2000 Dirk Mueller <mueller@kde.org>
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com)
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * Copyright (C) 2009 Google Inc. All rights reserved. 9 * Copyright (C) 2009 Google Inc. All rights reserved.
10 * 10 *
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 : nullptr); 264 : nullptr);
265 m_visuallyNonEmptyCharacterCount = 0; 265 m_visuallyNonEmptyCharacterCount = 0;
266 m_visuallyNonEmptyPixelCount = 0; 266 m_visuallyNonEmptyPixelCount = 0;
267 m_isVisuallyNonEmpty = false; 267 m_isVisuallyNonEmpty = false;
268 m_mainThreadScrollingReasons = 0; 268 m_mainThreadScrollingReasons = 0;
269 m_layoutObjectCounter.reset(); 269 m_layoutObjectCounter.reset();
270 clearFragmentAnchor(); 270 clearFragmentAnchor();
271 m_viewportConstrainedObjects.reset(); 271 m_viewportConstrainedObjects.reset();
272 m_layoutSubtreeRootList.clear(); 272 m_layoutSubtreeRootList.clear();
273 m_orthogonalWritingModeRootList.clear(); 273 m_orthogonalWritingModeRootList.clear();
274 m_sentScrollbarUseUMA.reset();
274 } 275 }
275 276
276 // Call function for each non-throttled frame view in pre tree order. 277 // Call function for each non-throttled frame view in pre tree order.
277 // Note it needs a null check of the frame's layoutView to access it in case of 278 // Note it needs a null check of the frame's layoutView to access it in case of
278 // detached frames. 279 // detached frames.
279 template <typename Function> 280 template <typename Function>
280 void FrameView::forAllNonThrottledFrameViews(const Function& function) { 281 void FrameView::forAllNonThrottledFrameViews(const Function& function) {
281 if (shouldThrottleRendering()) 282 if (shouldThrottleRendering())
282 return; 283 return;
283 284
(...skipping 3466 matching lines...) Expand 10 before | Expand all | Expand 10 after
3750 3751
3751 if (!layerForScrolling()) 3752 if (!layerForScrolling())
3752 return; 3753 return;
3753 WebLayer* layer = layerForScrolling()->platformLayer(); 3754 WebLayer* layer = layerForScrolling()->platformLayer();
3754 if (!layer) 3755 if (!layer)
3755 return; 3756 return;
3756 layer->setUserScrollable(userInputScrollable(HorizontalScrollbar), 3757 layer->setUserScrollable(userInputScrollable(HorizontalScrollbar),
3757 userInputScrollable(VerticalScrollbar)); 3758 userInputScrollable(VerticalScrollbar));
3758 } 3759 }
3759 3760
3761 bool FrameView::shouldSendScrollbarUseUMA(int part) {
3762 if (m_sentScrollbarUseUMA[part])
3763 return false;
3764 m_sentScrollbarUseUMA[part] = true;
3765 return true;
3766 }
3767
3760 IntSize FrameView::visibleContentSize( 3768 IntSize FrameView::visibleContentSize(
3761 IncludeScrollbarsInRect scrollbarInclusion) const { 3769 IncludeScrollbarsInRect scrollbarInclusion) const {
3762 return scrollbarInclusion == ExcludeScrollbars 3770 return scrollbarInclusion == ExcludeScrollbars
3763 ? excludeScrollbars(frameRect().size()) 3771 ? excludeScrollbars(frameRect().size())
3764 : frameRect().size(); 3772 : frameRect().size();
3765 } 3773 }
3766 3774
3767 IntRect FrameView::visibleContentRect( 3775 IntRect FrameView::visibleContentRect(
3768 IncludeScrollbarsInRect scrollbarInclusion) const { 3776 IncludeScrollbarsInRect scrollbarInclusion) const {
3769 return IntRect(IntPoint(flooredIntSize(m_scrollOffset)), 3777 return IntRect(IntPoint(flooredIntSize(m_scrollOffset)),
(...skipping 1216 matching lines...) Expand 10 before | Expand all | Expand 10 after
4986 // This is the top-level frame, so no mapping necessary. 4994 // This is the top-level frame, so no mapping necessary.
4987 if (m_frame->isMainFrame()) 4995 if (m_frame->isMainFrame())
4988 return; 4996 return;
4989 4997
4990 LayoutRect viewportIntersectionRect(remoteViewportIntersection()); 4998 LayoutRect viewportIntersectionRect(remoteViewportIntersection());
4991 transformState.move( 4999 transformState.move(
4992 LayoutSize(-viewportIntersectionRect.x(), -viewportIntersectionRect.y())); 5000 LayoutSize(-viewportIntersectionRect.x(), -viewportIntersectionRect.y()));
4993 } 5001 }
4994 5002
4995 } // namespace blink 5003 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698