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

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

Issue 1541083002: Fix invalid selection produced when dragging mouse outside the SVG text element (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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) 2007 Rob Buis <buis@kde.org> 2 * Copyright (C) 2007 Rob Buis <buis@kde.org>
3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org>
5 * Copyright (C) 2009 Google, Inc. All rights reserved. 5 * Copyright (C) 2009 Google, Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 // Determines whether a svg node should isolate or not based on ComputedStyl e. 101 // Determines whether a svg node should isolate or not based on ComputedStyl e.
102 static bool willIsolateBlendingDescendantsForStyle(const ComputedStyle&); 102 static bool willIsolateBlendingDescendantsForStyle(const ComputedStyle&);
103 static bool willIsolateBlendingDescendantsForObject(const LayoutObject*); 103 static bool willIsolateBlendingDescendantsForObject(const LayoutObject*);
104 template<typename LayoutObjectType> 104 template<typename LayoutObjectType>
105 static bool computeHasNonIsolatedBlendingDescendants(const LayoutObjectType* ); 105 static bool computeHasNonIsolatedBlendingDescendants(const LayoutObjectType* );
106 static bool isIsolationRequired(const LayoutObject*); 106 static bool isIsolationRequired(const LayoutObject*);
107 107
108 static AffineTransform deprecatedCalculateTransformToLayer(const LayoutObjec t*); 108 static AffineTransform deprecatedCalculateTransformToLayer(const LayoutObjec t*);
109 static float calculateScreenFontSizeScalingFactor(const LayoutObject*); 109 static float calculateScreenFontSizeScalingFactor(const LayoutObject*);
110 110
111 struct SearchCandidate {
fs 2016/01/21 14:27:16 No need to put this in the header.
112 public:
113 SearchCandidate() {}
114 SearchCandidate(LayoutObject* layoutObject, float dist)
115 : candidateLayoutObject(layoutObject)
116 , distance(dist)
117 {
118 }
119 LayoutObject* candidateLayoutObject;
120 float distance;
121 };
122 static bool compareCandidateDistance(const SearchCandidate, const SearchCand idate);
fs 2016/01/21 14:27:16 Ditto. Also, pass arguments as references.
123 static LayoutObject* findClosestLayoutSVGText(LayoutObject*, const FloatPoin t&);
124
111 private: 125 private:
112 static void updateObjectBoundingBox(FloatRect& objectBoundingBox, bool& obje ctBoundingBoxValid, LayoutObject* other, FloatRect otherBoundingBox); 126 static void updateObjectBoundingBox(FloatRect& objectBoundingBox, bool& obje ctBoundingBoxValid, LayoutObject* other, FloatRect otherBoundingBox);
113 static bool layoutSizeOfNearestViewportChanged(const LayoutObject* start); 127 static bool layoutSizeOfNearestViewportChanged(const LayoutObject* start);
114 }; 128 };
115 129
116 class SubtreeContentTransformScope { 130 class SubtreeContentTransformScope {
117 STACK_ALLOCATED(); 131 STACK_ALLOCATED();
118 public: 132 public:
119 SubtreeContentTransformScope(const AffineTransform&); 133 SubtreeContentTransformScope(const AffineTransform&);
120 ~SubtreeContentTransformScope(); 134 ~SubtreeContentTransformScope();
(...skipping 13 matching lines...) Expand all
134 return true; 148 return true;
135 if (child->hasNonIsolatedBlendingDescendants() && !willIsolateBlendingDe scendantsForObject(child)) 149 if (child->hasNonIsolatedBlendingDescendants() && !willIsolateBlendingDe scendantsForObject(child))
136 return true; 150 return true;
137 } 151 }
138 return false; 152 return false;
139 } 153 }
140 154
141 } // namespace blink 155 } // namespace blink
142 156
143 #endif // SVGLayoutSupport_h 157 #endif // SVGLayoutSupport_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698