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

Side by Side Diff: Source/WebCore/rendering/RenderScrollbar.cpp

Issue 10442005: Merge 116476 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1132/
Patch Set: Created 8 years, 7 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) 2008, 2009 Apple Inc. All Rights Reserved. 2 * Copyright (C) 2008, 2009 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 16 matching lines...) Expand all
27 #include "RenderScrollbar.h" 27 #include "RenderScrollbar.h"
28 28
29 #include "Frame.h" 29 #include "Frame.h"
30 #include "FrameView.h" 30 #include "FrameView.h"
31 #include "RenderPart.h" 31 #include "RenderPart.h"
32 #include "RenderScrollbarPart.h" 32 #include "RenderScrollbarPart.h"
33 #include "RenderScrollbarTheme.h" 33 #include "RenderScrollbarTheme.h"
34 34
35 namespace WebCore { 35 namespace WebCore {
36 36
37 PassRefPtr<Scrollbar> RenderScrollbar::createCustomScrollbar(ScrollableArea* scr ollableArea, ScrollbarOrientation orientation, RenderBox* renderer, Frame* ownin gFrame) 37 PassRefPtr<Scrollbar> RenderScrollbar::createCustomScrollbar(ScrollableArea* scr ollableArea, ScrollbarOrientation orientation, Node* ownerNode, Frame* owningFra me)
38 { 38 {
39 return adoptRef(new RenderScrollbar(scrollableArea, orientation, renderer, o wningFrame)); 39 return adoptRef(new RenderScrollbar(scrollableArea, orientation, ownerNode, owningFrame));
40 } 40 }
41 41
42 RenderScrollbar::RenderScrollbar(ScrollableArea* scrollableArea, ScrollbarOrient ation orientation, RenderBox* renderer, Frame* owningFrame) 42 RenderScrollbar::RenderScrollbar(ScrollableArea* scrollableArea, ScrollbarOrient ation orientation, Node* ownerNode, Frame* owningFrame)
43 : Scrollbar(scrollableArea, orientation, RegularScrollbar, RenderScrollbarTh eme::renderScrollbarTheme()) 43 : Scrollbar(scrollableArea, orientation, RegularScrollbar, RenderScrollbarTh eme::renderScrollbarTheme())
44 , m_owner(renderer) 44 , m_owner(ownerNode)
45 , m_owningFrame(owningFrame) 45 , m_owningFrame(owningFrame)
46 { 46 {
47 ASSERT(ownerNode || owningFrame);
48
47 // FIXME: We need to do this because RenderScrollbar::styleChanged is called as soon as the scrollbar is created. 49 // FIXME: We need to do this because RenderScrollbar::styleChanged is called as soon as the scrollbar is created.
48 50
49 // Update the scrollbar size. 51 // Update the scrollbar size.
50 int width = 0; 52 int width = 0;
51 int height = 0; 53 int height = 0;
52 updateScrollbarPart(ScrollbarBGPart); 54 updateScrollbarPart(ScrollbarBGPart);
53 if (RenderScrollbarPart* part = m_parts.get(ScrollbarBGPart)) { 55 if (RenderScrollbarPart* part = m_parts.get(ScrollbarBGPart)) {
54 part->layout(); 56 part->layout();
55 width = part->width(); 57 width = part->width();
56 height = part->height(); 58 height = part->height();
(...skipping 17 matching lines...) Expand all
74 updateScrollbarParts(true); 76 updateScrollbarParts(true);
75 } 77 }
76 } 78 }
77 79
78 RenderBox* RenderScrollbar::owningRenderer() const 80 RenderBox* RenderScrollbar::owningRenderer() const
79 { 81 {
80 if (m_owningFrame) { 82 if (m_owningFrame) {
81 RenderBox* currentRenderer = m_owningFrame->ownerRenderer(); 83 RenderBox* currentRenderer = m_owningFrame->ownerRenderer();
82 return currentRenderer; 84 return currentRenderer;
83 } 85 }
84 return m_owner; 86 return m_owner && m_owner->renderer() ? m_owner->renderer()->enclosingBox() : 0;
85 } 87 }
86 88
87 void RenderScrollbar::setParent(ScrollView* parent) 89 void RenderScrollbar::setParent(ScrollView* parent)
88 { 90 {
89 Scrollbar::setParent(parent); 91 Scrollbar::setParent(parent);
90 if (!parent) { 92 if (!parent) {
91 // Destroy all of the scrollbar's RenderBoxes. 93 // Destroy all of the scrollbar's RenderBoxes.
92 updateScrollbarParts(true); 94 updateScrollbarParts(true);
93 } 95 }
94 } 96 }
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 int RenderScrollbar::minimumThumbLength() 367 int RenderScrollbar::minimumThumbLength()
366 { 368 {
367 RenderScrollbarPart* partRenderer = m_parts.get(ThumbPart); 369 RenderScrollbarPart* partRenderer = m_parts.get(ThumbPart);
368 if (!partRenderer) 370 if (!partRenderer)
369 return 0; 371 return 0;
370 partRenderer->layout(); 372 partRenderer->layout();
371 return orientation() == HorizontalScrollbar ? partRenderer->width() : partRe nderer->height(); 373 return orientation() == HorizontalScrollbar ? partRenderer->width() : partRe nderer->height();
372 } 374 }
373 375
374 } 376 }
OLDNEW
« no previous file with comments | « Source/WebCore/rendering/RenderScrollbar.h ('k') | Source/WebCore/rendering/RenderTextControlSingleLine.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698