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

Side by Side Diff: third_party/WebKit/Source/platform/scroll/Scrollbar.cpp

Issue 1603253003: Add dedicated windowToViewport method (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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) 2004, 2006, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2006, 2008 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 11 matching lines...) Expand all
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #include "platform/scroll/Scrollbar.h" 26 #include "platform/scroll/Scrollbar.h"
27 27
28 #include <algorithm> 28 #include <algorithm>
29 #include "platform/HostWindow.h" 29 #include "platform/HostWindow.h"
30 #include "platform/PlatformGestureEvent.h" 30 #include "platform/PlatformGestureEvent.h"
31 #include "platform/PlatformMouseEvent.h" 31 #include "platform/PlatformMouseEvent.h"
32 #include "platform/geometry/FloatRect.h"
32 #include "platform/graphics/paint/CullRect.h" 33 #include "platform/graphics/paint/CullRect.h"
33 // See windowActiveChangedForSnowLeopardOnly() below. 34 // See windowActiveChangedForSnowLeopardOnly() below.
34 // TODO(ellyjones): remove this when Snow Leopard support is gone. 35 // TODO(ellyjones): remove this when Snow Leopard support is gone.
35 #if OS(MACOSX) 36 #if OS(MACOSX)
36 #include "platform/mac/VersionUtilMac.h" 37 #include "platform/mac/VersionUtilMac.h"
37 #endif 38 #endif
38 #include "platform/scroll/ScrollAnimatorBase.h" 39 #include "platform/scroll/ScrollAnimatorBase.h"
39 #include "platform/scroll/ScrollableArea.h" 40 #include "platform/scroll/ScrollableArea.h"
40 #include "platform/scroll/ScrollbarTheme.h" 41 #include "platform/scroll/ScrollbarTheme.h"
41 42
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 , m_trackNeedsRepaint(true) 75 , m_trackNeedsRepaint(true)
75 , m_thumbNeedsRepaint(true) 76 , m_thumbNeedsRepaint(true)
76 { 77 {
77 m_theme.registerScrollbar(*this); 78 m_theme.registerScrollbar(*this);
78 79
79 // FIXME: This is ugly and would not be necessary if we fix cross-platform c ode to actually query for 80 // FIXME: This is ugly and would not be necessary if we fix cross-platform c ode to actually query for
80 // scrollbar thickness and use it when sizing scrollbars (rather than leavin g one dimension of the scrollbar 81 // scrollbar thickness and use it when sizing scrollbars (rather than leavin g one dimension of the scrollbar
81 // alone when sizing). 82 // alone when sizing).
82 int thickness = m_theme.scrollbarThickness(controlSize); 83 int thickness = m_theme.scrollbarThickness(controlSize);
83 if (m_hostWindow) 84 if (m_hostWindow)
84 thickness = m_hostWindow->screenToViewport(thickness); 85 thickness = m_hostWindow->windowToViewport(FloatRect(0, 0, thickness, 0) ).width();
85 Widget::setFrameRect(IntRect(0, 0, thickness, thickness)); 86 Widget::setFrameRect(IntRect(0, 0, thickness, thickness));
86 87
87 m_currentPos = scrollableAreaCurrentPos(); 88 m_currentPos = scrollableAreaCurrentPos();
88 } 89 }
89 90
90 Scrollbar::~Scrollbar() 91 Scrollbar::~Scrollbar()
91 { 92 {
92 m_theme.unregisterScrollbar(*this); 93 m_theme.unregisterScrollbar(*this);
93 } 94 }
94 95
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 m_enabled = e; 476 m_enabled = e;
476 theme().updateEnabledState(*this); 477 theme().updateEnabledState(*this);
477 setNeedsPaintInvalidation(AllParts); 478 setNeedsPaintInvalidation(AllParts);
478 } 479 }
479 480
480 int Scrollbar::scrollbarThickness() const 481 int Scrollbar::scrollbarThickness() const
481 { 482 {
482 int thickness = orientation() == HorizontalScrollbar ? height() : width(); 483 int thickness = orientation() == HorizontalScrollbar ? height() : width();
483 if (!thickness || !m_hostWindow) 484 if (!thickness || !m_hostWindow)
484 return thickness; 485 return thickness;
485 return m_hostWindow->screenToViewport(m_theme.scrollbarThickness(controlSize ())); 486 return m_hostWindow->windowToViewport(FloatRect(0, 0, m_theme.scrollbarThick ness(controlSize()), 0)).width();
486 } 487 }
487 488
488 489
489 bool Scrollbar::isOverlayScrollbar() const 490 bool Scrollbar::isOverlayScrollbar() const
490 { 491 {
491 return m_theme.usesOverlayScrollbars(); 492 return m_theme.usesOverlayScrollbars();
492 } 493 }
493 494
494 bool Scrollbar::shouldParticipateInHitTesting() 495 bool Scrollbar::shouldParticipateInHitTesting()
495 { 496 {
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 invalidParts = AllParts; 580 invalidParts = AllParts;
580 if (invalidParts & ~ThumbPart) 581 if (invalidParts & ~ThumbPart)
581 m_trackNeedsRepaint = true; 582 m_trackNeedsRepaint = true;
582 if (invalidParts & ThumbPart) 583 if (invalidParts & ThumbPart)
583 m_thumbNeedsRepaint = true; 584 m_thumbNeedsRepaint = true;
584 if (m_scrollableArea) 585 if (m_scrollableArea)
585 m_scrollableArea->setScrollbarNeedsPaintInvalidation(orientation()); 586 m_scrollableArea->setScrollbarNeedsPaintInvalidation(orientation());
586 } 587 }
587 588
588 } // namespace blink 589 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698