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

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

Issue 2775663008: LayoutObject::absoluteBoundingBoxRectForRange() should take EphemeralRange (Closed)
Patch Set: Y 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"
yoichio 2017/03/29 01:51:15 Could you declare |class EphemeralRange;| instead
Xiaocheng 2017/03/29 02:16:03 |EphemeralRange| is just a alias, which cannot be
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 1231 matching lines...) Expand 10 before | Expand all | Expand 10 after
1274 // integral size and the position has fractional values, the resultant 1275 // integral size and the position has fractional values, the resultant
1275 // IntRect can be larger than the integral size. 1276 // IntRect can be larger than the integral size.
1276 IntRect absoluteBoundingBoxRect(MapCoordinatesFlags = 0) const; 1277 IntRect absoluteBoundingBoxRect(MapCoordinatesFlags = 0) const;
1277 // FIXME: This function should go away eventually 1278 // FIXME: This function should go away eventually
1278 IntRect absoluteBoundingBoxRectIgnoringTransforms() const; 1279 IntRect absoluteBoundingBoxRectIgnoringTransforms() const;
1279 1280
1280 // Build an array of quads in absolute coords for line boxes 1281 // Build an array of quads in absolute coords for line boxes
1281 virtual void absoluteQuads(Vector<FloatQuad>&, 1282 virtual void absoluteQuads(Vector<FloatQuad>&,
1282 MapCoordinatesFlags mode = 0) const {} 1283 MapCoordinatesFlags mode = 0) const {}
1283 1284
1284 static FloatRect absoluteBoundingBoxRectForRange(const Range*); 1285 static FloatRect absoluteBoundingBoxRectForRange(const EphemeralRange&);
1285 1286
1286 // The bounding box (see: absoluteBoundingBoxRect) including all descendant 1287 // The bounding box (see: absoluteBoundingBoxRect) including all descendant
1287 // bounding boxes. 1288 // bounding boxes.
1288 IntRect absoluteBoundingBoxRectIncludingDescendants() const; 1289 IntRect absoluteBoundingBoxRectIncludingDescendants() const;
1289 1290
1290 // For accessibility, we want the bounding box rect of this element 1291 // For accessibility, we want the bounding box rect of this element
1291 // in local coordinates, which can then be converted to coordinates relative 1292 // in local coordinates, which can then be converted to coordinates relative
1292 // to any ancestor using, e.g., localToAncestorTransform. 1293 // to any ancestor using, e.g., localToAncestorTransform.
1293 virtual FloatRect localBoundingBoxRectForAccessibility() const = 0; 1294 virtual FloatRect localBoundingBoxRectForAccessibility() const = 0;
1294 1295
(...skipping 1487 matching lines...) Expand 10 before | Expand all | Expand 10 after
2782 CORE_EXPORT void showLineTree(const blink::LayoutObject*); 2783 CORE_EXPORT void showLineTree(const blink::LayoutObject*);
2783 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); 2784 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1);
2784 // We don't make object2 an optional parameter so that showLayoutTree 2785 // We don't make object2 an optional parameter so that showLayoutTree
2785 // can be called from gdb easily. 2786 // can be called from gdb easily.
2786 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, 2787 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1,
2787 const blink::LayoutObject* object2); 2788 const blink::LayoutObject* object2);
2788 2789
2789 #endif 2790 #endif
2790 2791
2791 #endif // LayoutObject_h 2792 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698