Merge from Chromium at DEPS revision 33.0.1750.16

This commit was generated by merge_to_master.py.

Change-Id: I3e9ff86c8feebc5572680b289447041ad5c81274
diff --git a/core/SkCanvas.h b/core/SkCanvas.h
index 6c41680..5a5cc65 100644
--- a/core/SkCanvas.h
+++ b/core/SkCanvas.h
@@ -18,7 +18,6 @@
 #include "SkRefCnt.h"
 #include "SkPath.h"
 #include "SkRegion.h"
-#include "SkScalarCompare.h"
 #include "SkXfermode.h"
 
 class SkBounder;
@@ -455,14 +454,13 @@
                      not intersect the current clip)
     */
     bool quickRejectY(SkScalar top, SkScalar bottom) const {
-        SkASSERT(SkScalarToCompareType(top) <= SkScalarToCompareType(bottom));
-        const SkRectCompareType& clipR = this->getLocalClipBoundsCompareType();
+        SkASSERT(top <= bottom);
+        const SkRect& clipR = this->getLocalClipBounds();
         // In the case where the clip is empty and we are provided with a
         // negative top and positive bottom parameter then this test will return
         // false even though it will be clipped. We have chosen to exclude that
         // check as it is rare and would result double the comparisons.
-        return SkScalarToCompareType(top) >= clipR.fBottom
-            || SkScalarToCompareType(bottom) <= clipR.fTop;
+        return top >= clipR.fBottom || bottom <= clipR.fTop;
     }
 
     /** Return the bounds of the current clip (in local coordinates) in the
@@ -1100,20 +1098,20 @@
     /*  These maintain a cache of the clip bounds in local coordinates,
         (converted to 2s-compliment if floats are slow).
      */
-    mutable SkRectCompareType fLocalBoundsCompareType;
-    mutable bool              fLocalBoundsCompareTypeDirty;
+    mutable SkRect fCachedLocalClipBounds;
+    mutable bool   fCachedLocalClipBoundsDirty;
     bool fAllowSoftClip;
     bool fAllowSimplifyClip;
 
-    const SkRectCompareType& getLocalClipBoundsCompareType() const {
-        if (fLocalBoundsCompareTypeDirty) {
-            this->computeLocalClipBoundsCompareType();
-            fLocalBoundsCompareTypeDirty = false;
+    const SkRect& getLocalClipBounds() const {
+        if (fCachedLocalClipBoundsDirty) {
+            if (!this->getClipBounds(&fCachedLocalClipBounds)) {
+                fCachedLocalClipBounds.setEmpty();
+            }
+            fCachedLocalClipBoundsDirty = false;
         }
-        return fLocalBoundsCompareType;
+        return fCachedLocalClipBounds;
     }
-    void computeLocalClipBoundsCompareType() const;
-
 
     class AutoValidateClip : ::SkNoncopyable {
     public:
diff --git a/core/SkScalarCompare.h b/core/SkScalarCompare.h
deleted file mode 100644
index 5361294..0000000
--- a/core/SkScalarCompare.h
+++ /dev/null
@@ -1,38 +0,0 @@
-
-/*
- * Copyright 2006 The Android Open Source Project
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-
-#ifndef SkScalarCompare_DEFINED
-#define SkScalarCompare_DEFINED
-
-#include "SkFloatBits.h"
-#include "SkRect.h"
-
-/** Skia can spend a lot of time just comparing scalars (e.g. quickReject).
-    When scalar==fixed, this is very fast, and when scalar==hardware-float, this
-    is also reasonable, but if scalar==software-float, then each compare can be
-    a function call and take real time. To account for that, we have the flag
-    SK_SCALAR_SLOW_COMPARES.
-
-    If this is defined, we have a special trick where we quickly convert floats
-    to a 2's compliment form, and then treat them as signed 32bit integers. In
-    this form we lose a few subtlties (e.g. NaNs always comparing false) but
-    we gain the speed of integer compares.
- */
-
-#ifdef SK_SCALAR_SLOW_COMPARES
-    typedef int32_t SkScalarCompareType;
-    typedef SkIRect SkRectCompareType;
-    #define SkScalarToCompareType(x)    SkScalarAs2sCompliment(x)
-#else
-    typedef SkScalar SkScalarCompareType;
-    typedef SkRect SkRectCompareType;
-    #define SkScalarToCompareType(x)    (x)
-#endif
-
-#endif