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

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

Issue 2775663008: LayoutObject::absoluteBoundingBoxRectForRange() should take EphemeralRange (Closed)
Patch Set: Review comments Addressed 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) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 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) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 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 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 12 matching lines...) Expand all
23 * Boston, MA 02110-1301, USA. 23 * Boston, MA 02110-1301, USA.
24 * 24 *
25 */ 25 */
26 26
27 #ifndef LayoutObject_h 27 #ifndef LayoutObject_h
28 #define LayoutObject_h 28 #define LayoutObject_h
29 29
30 #include "core/CoreExport.h" 30 #include "core/CoreExport.h"
31 #include "core/dom/Document.h" 31 #include "core/dom/Document.h"
32 #include "core/dom/DocumentLifecycle.h" 32 #include "core/dom/DocumentLifecycle.h"
33 #include "core/editing/EphemeralRange.h"
33 #include "core/editing/PositionWithAffinity.h" 34 #include "core/editing/PositionWithAffinity.h"
34 #include "core/layout/LayoutObjectChildList.h" 35 #include "core/layout/LayoutObjectChildList.h"
35 #include "core/layout/MapCoordinatesFlags.h" 36 #include "core/layout/MapCoordinatesFlags.h"
36 #include "core/layout/ScrollAlignment.h" 37 #include "core/layout/ScrollAlignment.h"
37 #include "core/layout/SubtreeLayoutScope.h" 38 #include "core/layout/SubtreeLayoutScope.h"
38 #include "core/layout/api/HitTestAction.h" 39 #include "core/layout/api/HitTestAction.h"
39 #include "core/layout/api/SelectionState.h" 40 #include "core/layout/api/SelectionState.h"
40 #include "core/layout/compositing/CompositingState.h" 41 #include "core/layout/compositing/CompositingState.h"
41 #include "core/loader/resource/ImageResourceObserver.h" 42 #include "core/loader/resource/ImageResourceObserver.h"
42 #include "core/paint/LayerHitTestRects.h" 43 #include "core/paint/LayerHitTestRects.h"
(...skipping 1229 matching lines...) Expand 10 before | Expand all | Expand 10 after
1272 // integral size and the position has fractional values, the resultant 1273 // integral size and the position has fractional values, the resultant
1273 // IntRect can be larger than the integral size. 1274 // IntRect can be larger than the integral size.
1274 IntRect absoluteBoundingBoxRect(MapCoordinatesFlags = 0) const; 1275 IntRect absoluteBoundingBoxRect(MapCoordinatesFlags = 0) const;
1275 // FIXME: This function should go away eventually 1276 // FIXME: This function should go away eventually
1276 IntRect absoluteBoundingBoxRectIgnoringTransforms() const; 1277 IntRect absoluteBoundingBoxRectIgnoringTransforms() const;
1277 1278
1278 // Build an array of quads in absolute coords for line boxes 1279 // Build an array of quads in absolute coords for line boxes
1279 virtual void absoluteQuads(Vector<FloatQuad>&, 1280 virtual void absoluteQuads(Vector<FloatQuad>&,
1280 MapCoordinatesFlags mode = 0) const {} 1281 MapCoordinatesFlags mode = 0) const {}
1281 1282
1282 static FloatRect absoluteBoundingBoxRectForRange(const Range*); 1283 static FloatRect absoluteBoundingBoxRectForRange(const EphemeralRange&);
1283 1284
1284 // The bounding box (see: absoluteBoundingBoxRect) including all descendant 1285 // The bounding box (see: absoluteBoundingBoxRect) including all descendant
1285 // bounding boxes. 1286 // bounding boxes.
1286 IntRect absoluteBoundingBoxRectIncludingDescendants() const; 1287 IntRect absoluteBoundingBoxRectIncludingDescendants() const;
1287 1288
1288 // For accessibility, we want the bounding box rect of this element 1289 // For accessibility, we want the bounding box rect of this element
1289 // in local coordinates, which can then be converted to coordinates relative 1290 // in local coordinates, which can then be converted to coordinates relative
1290 // to any ancestor using, e.g., localToAncestorTransform. 1291 // to any ancestor using, e.g., localToAncestorTransform.
1291 virtual FloatRect localBoundingBoxRectForAccessibility() const = 0; 1292 virtual FloatRect localBoundingBoxRectForAccessibility() const = 0;
1292 1293
(...skipping 1486 matching lines...) Expand 10 before | Expand all | Expand 10 after
2779 CORE_EXPORT void showLineTree(const blink::LayoutObject*); 2780 CORE_EXPORT void showLineTree(const blink::LayoutObject*);
2780 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); 2781 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1);
2781 // We don't make object2 an optional parameter so that showLayoutTree 2782 // We don't make object2 an optional parameter so that showLayoutTree
2782 // can be called from gdb easily. 2783 // can be called from gdb easily.
2783 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, 2784 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1,
2784 const blink::LayoutObject* object2); 2785 const blink::LayoutObject* object2);
2785 2786
2786 #endif 2787 #endif
2787 2788
2788 #endif // LayoutObject_h 2789 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698