Title: [98297] branches/subpixellayout/Source/WebCore
Revision
98297
Author
[email protected]
Date
2011-10-24 16:43:24 -0700 (Mon, 24 Oct 2011)

Log Message

Switching FloatingObjectTree/Interval to use rounded ints instead of LayoutUnits to correct comparisons with the line box tree.

Modified Paths

Diff

Modified: branches/subpixellayout/Source/WebCore/WebCore.xcodeproj/project.pbxproj (98296 => 98297)


--- branches/subpixellayout/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2011-10-24 23:22:39 UTC (rev 98296)
+++ branches/subpixellayout/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2011-10-24 23:43:24 UTC (rev 98297)
@@ -298,7 +298,7 @@
 		14C0A2BD1446321E00520798 /* FixedSizeCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BAB771A81444F24500EC4C4C /* FixedSizeCG.cpp */; };
 		14C0A2BE1446321E00520798 /* FixedSizeHash.h in Headers */ = {isa = PBXBuildFile; fileRef = BAB771511444CBD400EC4C4C /* FixedSizeHash.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		14C0A2BF1446321E00520798 /* FixedSizeMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BAB771A51444F22E00EC4C4C /* FixedSizeMac.mm */; };
-	    14C9A5EA0B3D105F005A0232 /* Settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14C9A5E90B3D105F005A0232 /* Settings.cpp */; };
+		14C9A5EA0B3D105F005A0232 /* Settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14C9A5E90B3D105F005A0232 /* Settings.cpp */; };
 		14CD8D82106B529000A46D23 /* JSSharedWorkerCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14CD8D81106B529000A46D23 /* JSSharedWorkerCustom.cpp */; };
 		14CF78A409F58CBF00EB3665 /* JSCSSValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14CF78A309F58CBF00EB3665 /* JSCSSValue.cpp */; };
 		14CF78A609F58CD800EB3665 /* JSCSSValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 14CF78A509F58CD800EB3665 /* JSCSSValue.h */; };
@@ -27624,7 +27624,6 @@
 				14C0A2BB1446321E00520798 /* FixedSize.cpp in Sources */,
 				14C0A2BD1446321E00520798 /* FixedSizeCG.cpp in Sources */,
 				14C0A2BF1446321E00520798 /* FixedSizeMac.mm in Sources */,
-				14C0A2C01446321E00520798 /* FloatPoint.cpp in Sources */,
 				29D7BCF61444AF580070619C /* AccessibilitySpinButton.cpp in Sources */,
 				0F09087F1444FDB200028917 /* ScrollbarTheme.cpp in Sources */,
 				9B375EDA14478A0100F3CAE5 /* MicroDataItemList.cpp in Sources */,

Modified: branches/subpixellayout/Source/WebCore/rendering/RenderBlock.cpp (98296 => 98297)


--- branches/subpixellayout/Source/WebCore/rendering/RenderBlock.cpp	2011-10-24 23:22:39 UTC (rev 98296)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderBlock.cpp	2011-10-24 23:43:24 UTC (rev 98297)
@@ -3645,7 +3645,7 @@
             *heightRemaining = 1;
 
         LayoutUnit rightFloatOffset = fixedOffset;
-        FloatIntervalSearchAdapter<FloatingObject::FloatRight> adapter(this, logicalTop, rightFloatOffset, heightRemaining);
+        FloatIntervalSearchAdapter<FloatingObject::FloatRight> adapter(this, logicalTop.round(), rightFloatOffset, heightRemaining);
         m_floatingObjects->placedFloatsTree().allOverlapsWithAdapter(adapter);
         right = min(right, rightFloatOffset);
     }
@@ -6807,8 +6807,8 @@
 inline RenderBlock::FloatingObjectInterval RenderBlock::FloatingObjects::intervalForFloatingObject(FloatingObject* floatingObject)
 {
     if (m_horizontalWritingMode)
-        return RenderBlock::FloatingObjectInterval(floatingObject->y(), floatingObject->maxY(), floatingObject);
-    return RenderBlock::FloatingObjectInterval(floatingObject->x(), floatingObject->maxX(), floatingObject);
+        return RenderBlock::FloatingObjectInterval(floatingObject->y().round(), floatingObject->maxY().round(), floatingObject);
+    return RenderBlock::FloatingObjectInterval(floatingObject->x().round(), floatingObject->maxX().round(), floatingObject);
 }
 
 void RenderBlock::FloatingObjects::addPlacedObject(FloatingObject* floatingObject)

Modified: branches/subpixellayout/Source/WebCore/rendering/RenderBlock.h (98296 => 98297)


--- branches/subpixellayout/Source/WebCore/rendering/RenderBlock.h	2011-10-24 23:22:39 UTC (rev 98296)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderBlock.h	2011-10-24 23:43:24 UTC (rev 98297)
@@ -915,15 +915,15 @@
     };
     typedef ListHashSet<FloatingObject*, 4, FloatingObjectHashFunctions> FloatingObjectSet;
     typedef FloatingObjectSet::const_iterator FloatingObjectSetIterator;
-    typedef PODInterval<LayoutUnit, FloatingObject*> FloatingObjectInterval;
-    typedef PODIntervalTree<LayoutUnit, FloatingObject*> FloatingObjectTree;
+    typedef PODInterval<int, FloatingObject*> FloatingObjectInterval;
+    typedef PODIntervalTree<int, FloatingObject*> FloatingObjectTree;
     
     template <FloatingObject::Type FloatTypeValue>
     class FloatIntervalSearchAdapter {
     public:
         typedef FloatingObjectInterval IntervalType;
         
-        FloatIntervalSearchAdapter(const RenderBlock* renderer, LayoutUnit value, LayoutUnit& offset, LayoutUnit* heightRemaining)
+        FloatIntervalSearchAdapter(const RenderBlock* renderer, int value, LayoutUnit& offset, LayoutUnit* heightRemaining)
             : m_renderer(renderer)
             , m_value(value)
             , m_offset(offset)
@@ -931,13 +931,13 @@
         {
         }
         
-        inline LayoutUnit lowValue() const { return m_value; }
-        inline LayoutUnit highValue() const { return m_value; }
+        inline int lowValue() const { return m_value; }
+        inline int highValue() const { return m_value; }
         void collectIfNeeded(const IntervalType&) const;
 
     private:
         const RenderBlock* m_renderer;
-        LayoutUnit m_value;
+        int m_value;
         LayoutUnit& m_offset;
         LayoutUnit* m_heightRemaining;
     };

Modified: branches/subpixellayout/Source/WebCore/rendering/RenderBlockLineLayout.cpp (98296 => 98297)


--- branches/subpixellayout/Source/WebCore/rendering/RenderBlockLineLayout.cpp	2011-10-24 23:22:39 UTC (rev 98296)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderBlockLineLayout.cpp	2011-10-24 23:43:24 UTC (rev 98297)
@@ -750,8 +750,8 @@
                                                          GlyphOverflowAndFallbackFontsMap& textBoxDataMap, VerticalPositionCache& verticalPositionCache)
 {
     ETextAlign textAlign = textAlignmentForLine(!reachedEnd && !lineBox->endsWithBreak());
-    float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), lineInfo.isFirstLine());
-    float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), lineInfo.isFirstLine()) - logicalLeft;
+    float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), lineInfo.isFirstLine()).round();
+    float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), lineInfo.isFirstLine()).round() - logicalLeft;
 
     bool needsWordSpacing = false;
     float totalLogicalWidth = lineBox->getFlowSpacingLogicalWidth();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to