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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutObject.cpp

Issue 2775663008: LayoutObject::absoluteBoundingBoxRectForRange() should take EphemeralRange (Closed)
Patch Set: Split Patch:1(TextQuads at VisibleUnits) Created 3 years, 8 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc.
7 * All rights reserved. 7 * All rights reserved.
8 * Copyright (C) 2009 Google Inc. All rights reserved. 8 * Copyright (C) 2009 Google Inc. All rights reserved.
9 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. 9 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved.
10 * (http://www.torchmobile.com/) 10 * (http://www.torchmobile.com/)
(...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after
1005 .enclosingBoundingBox(); 1005 .enclosingBoundingBox();
1006 } 1006 }
1007 1007
1008 FloatRect LayoutObject::absoluteBoundingBoxRectForRange(const Range* range) { 1008 FloatRect LayoutObject::absoluteBoundingBoxRectForRange(const Range* range) {
1009 if (!range || !range->startContainer()) 1009 if (!range || !range->startContainer())
1010 return FloatRect(); 1010 return FloatRect();
1011 1011
1012 range->ownerDocument().updateStyleAndLayout(); 1012 range->ownerDocument().updateStyleAndLayout();
1013 1013
1014 Vector<FloatQuad> quads; 1014 Vector<FloatQuad> quads;
1015 range->textQuads(quads); 1015 textQuads(&quads, EphemeralRange(range));
1016 1016
1017 FloatRect result; 1017 FloatRect result;
1018 for (size_t i = 0; i < quads.size(); ++i) 1018 for (size_t i = 0; i < quads.size(); ++i)
1019 result.unite(quads[i].boundingBox()); 1019 result.unite(quads[i].boundingBox());
1020 1020
1021 return result; 1021 return result;
1022 } 1022 }
1023 1023
1024 void LayoutObject::addAbsoluteRectForLayer(IntRect& result) { 1024 void LayoutObject::addAbsoluteRectForLayer(IntRect& result) {
1025 if (hasLayer()) 1025 if (hasLayer())
(...skipping 2604 matching lines...) Expand 10 before | Expand all | Expand 10 after
3630 const blink::LayoutObject* root = object1; 3630 const blink::LayoutObject* root = object1;
3631 while (root->parent()) 3631 while (root->parent())
3632 root = root->parent(); 3632 root = root->parent();
3633 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3633 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3634 } else { 3634 } else {
3635 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); 3635 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)");
3636 } 3636 }
3637 } 3637 }
3638 3638
3639 #endif 3639 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698