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

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

Issue 26936002: Remove Widget's dependency upon its own inheritor aka ScrollView. This was nasty from an OO design… (Closed) Base URL: https://chromium.googlesource.com/chromium/blink@master
Patch Set: Fix for clang compile error Created 7 years, 2 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
« no previous file with comments | « no previous file | Source/core/platform/ScrollView.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 3180 matching lines...) Expand 10 before | Expand all | Expand 10 after
3191 IntPoint point = viewPoint; 3191 IntPoint point = viewPoint;
3192 3192
3193 // Convert from FrameView coords into page ("absolute") coordinates. 3193 // Convert from FrameView coords into page ("absolute") coordinates.
3194 point += IntSize(scrollX(), scrollY()); 3194 point += IntSize(scrollX(), scrollY());
3195 3195
3196 return roundedIntPoint(renderer->absoluteToLocal(point, UseTransforms)); 3196 return roundedIntPoint(renderer->absoluteToLocal(point, UseTransforms));
3197 } 3197 }
3198 3198
3199 IntRect FrameView::convertToContainingView(const IntRect& localRect) const 3199 IntRect FrameView::convertToContainingView(const IntRect& localRect) const
3200 { 3200 {
3201 if (const ScrollView* parentScrollView = parent()) { 3201 if (const ScrollView* parentScrollView = toScrollView(parent())) {
3202 if (parentScrollView->isFrameView()) { 3202 if (parentScrollView->isFrameView()) {
3203 const FrameView* parentView = toFrameView(parentScrollView); 3203 const FrameView* parentView = toFrameView(parentScrollView);
3204 // Get our renderer in the parent view 3204 // Get our renderer in the parent view
3205 RenderPart* renderer = m_frame->ownerRenderer(); 3205 RenderPart* renderer = m_frame->ownerRenderer();
3206 if (!renderer) 3206 if (!renderer)
3207 return localRect; 3207 return localRect;
3208 3208
3209 IntRect rect(localRect); 3209 IntRect rect(localRect);
3210 // Add borders and padding?? 3210 // Add borders and padding??
3211 rect.move(renderer->borderLeft() + renderer->paddingLeft(), 3211 rect.move(renderer->borderLeft() + renderer->paddingLeft(),
3212 renderer->borderTop() + renderer->paddingTop()); 3212 renderer->borderTop() + renderer->paddingTop());
3213 return parentView->convertFromRenderer(renderer, rect); 3213 return parentView->convertFromRenderer(renderer, rect);
3214 } 3214 }
3215 3215
3216 return Widget::convertToContainingView(localRect); 3216 return Widget::convertToContainingView(localRect);
3217 } 3217 }
3218 3218
3219 return localRect; 3219 return localRect;
3220 } 3220 }
3221 3221
3222 IntRect FrameView::convertFromContainingView(const IntRect& parentRect) const 3222 IntRect FrameView::convertFromContainingView(const IntRect& parentRect) const
3223 { 3223 {
3224 if (const ScrollView* parentScrollView = parent()) { 3224 if (const ScrollView* parentScrollView = toScrollView(parent())) {
3225 if (parentScrollView->isFrameView()) { 3225 if (parentScrollView->isFrameView()) {
3226 const FrameView* parentView = toFrameView(parentScrollView); 3226 const FrameView* parentView = toFrameView(parentScrollView);
3227 3227
3228 // Get our renderer in the parent view 3228 // Get our renderer in the parent view
3229 RenderPart* renderer = m_frame->ownerRenderer(); 3229 RenderPart* renderer = m_frame->ownerRenderer();
3230 if (!renderer) 3230 if (!renderer)
3231 return parentRect; 3231 return parentRect;
3232 3232
3233 IntRect rect = parentView->convertToRenderer(renderer, parentRect); 3233 IntRect rect = parentView->convertToRenderer(renderer, parentRect);
3234 // Subtract borders and padding 3234 // Subtract borders and padding
3235 rect.move(-renderer->borderLeft() - renderer->paddingLeft(), 3235 rect.move(-renderer->borderLeft() - renderer->paddingLeft(),
3236 -renderer->borderTop() - renderer->paddingTop()); 3236 -renderer->borderTop() - renderer->paddingTop());
3237 return rect; 3237 return rect;
3238 } 3238 }
3239 3239
3240 return Widget::convertFromContainingView(parentRect); 3240 return Widget::convertFromContainingView(parentRect);
3241 } 3241 }
3242 3242
3243 return parentRect; 3243 return parentRect;
3244 } 3244 }
3245 3245
3246 IntPoint FrameView::convertToContainingView(const IntPoint& localPoint) const 3246 IntPoint FrameView::convertToContainingView(const IntPoint& localPoint) const
3247 { 3247 {
3248 if (const ScrollView* parentScrollView = parent()) { 3248 if (const ScrollView* parentScrollView = toScrollView(parent())) {
3249 if (parentScrollView->isFrameView()) { 3249 if (parentScrollView->isFrameView()) {
3250 const FrameView* parentView = toFrameView(parentScrollView); 3250 const FrameView* parentView = toFrameView(parentScrollView);
3251 3251
3252 // Get our renderer in the parent view 3252 // Get our renderer in the parent view
3253 RenderPart* renderer = m_frame->ownerRenderer(); 3253 RenderPart* renderer = m_frame->ownerRenderer();
3254 if (!renderer) 3254 if (!renderer)
3255 return localPoint; 3255 return localPoint;
3256 3256
3257 IntPoint point(localPoint); 3257 IntPoint point(localPoint);
3258 3258
3259 // Add borders and padding 3259 // Add borders and padding
3260 point.move(renderer->borderLeft() + renderer->paddingLeft(), 3260 point.move(renderer->borderLeft() + renderer->paddingLeft(),
3261 renderer->borderTop() + renderer->paddingTop()); 3261 renderer->borderTop() + renderer->paddingTop());
3262 return parentView->convertFromRenderer(renderer, point); 3262 return parentView->convertFromRenderer(renderer, point);
3263 } 3263 }
3264 3264
3265 return Widget::convertToContainingView(localPoint); 3265 return Widget::convertToContainingView(localPoint);
3266 } 3266 }
3267 3267
3268 return localPoint; 3268 return localPoint;
3269 } 3269 }
3270 3270
3271 IntPoint FrameView::convertFromContainingView(const IntPoint& parentPoint) const 3271 IntPoint FrameView::convertFromContainingView(const IntPoint& parentPoint) const
3272 { 3272 {
3273 if (const ScrollView* parentScrollView = parent()) { 3273 if (const ScrollView* parentScrollView = toScrollView(parent())) {
3274 if (parentScrollView->isFrameView()) { 3274 if (parentScrollView->isFrameView()) {
3275 const FrameView* parentView = toFrameView(parentScrollView); 3275 const FrameView* parentView = toFrameView(parentScrollView);
3276 3276
3277 // Get our renderer in the parent view 3277 // Get our renderer in the parent view
3278 RenderPart* renderer = m_frame->ownerRenderer(); 3278 RenderPart* renderer = m_frame->ownerRenderer();
3279 if (!renderer) 3279 if (!renderer)
3280 return parentPoint; 3280 return parentPoint;
3281 3281
3282 IntPoint point = parentView->convertToRenderer(renderer, parentPoint ); 3282 IntPoint point = parentView->convertToRenderer(renderer, parentPoint );
3283 // Subtract borders and padding 3283 // Subtract borders and padding
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
3458 void FrameView::setLayoutSizeInternal(const IntSize& size) 3458 void FrameView::setLayoutSizeInternal(const IntSize& size)
3459 { 3459 {
3460 if (m_layoutSize == size) 3460 if (m_layoutSize == size)
3461 return; 3461 return;
3462 3462
3463 m_layoutSize = size; 3463 m_layoutSize = size;
3464 contentsResized(); 3464 contentsResized();
3465 } 3465 }
3466 3466
3467 } // namespace WebCore 3467 } // namespace WebCore
OLDNEW
« no previous file with comments | « no previous file | Source/core/platform/ScrollView.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698