diff options
| author | Cary Clark <cary@android.com> | 2010-12-03 07:07:31 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-12-03 07:07:31 -0800 |
| commit | 55ed83782c8af474e97c85fb30ad0bbd45a32665 (patch) | |
| tree | 7b300deaff0b5927cf56855e7caaa78a977b218b /WebKit | |
| parent | 82f247bdbb98dd80c44209d87692c650c3704617 (diff) | |
| parent | 254441641f85b9a26fd3c9443af679f61f3a233e (diff) | |
| download | external_webkit-55ed83782c8af474e97c85fb30ad0bbd45a32665.zip external_webkit-55ed83782c8af474e97c85fb30ad0bbd45a32665.tar.gz external_webkit-55ed83782c8af474e97c85fb30ad0bbd45a32665.tar.bz2 | |
Merge "keep rects separate across canvas push"
Diffstat (limited to 'WebKit')
| -rw-r--r-- | WebKit/android/nav/CachedRoot.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/WebKit/android/nav/CachedRoot.cpp b/WebKit/android/nav/CachedRoot.cpp index 7d5f3d9..7f4f06f 100644 --- a/WebKit/android/nav/CachedRoot.cpp +++ b/WebKit/android/nav/CachedRoot.cpp @@ -801,6 +801,7 @@ public: mLayerTypes.size()); mLayers.remove(remove); mLayerTypes.remove(remove); + mAppendLikeTypes = false; return; } } @@ -896,12 +897,15 @@ protected: if (mType != kDrawGlyph_Type && mType != kDrawRect_Type && mType != kDrawSprite_Type && mType != kDrawBitmap_Type) return false; - if (mLayerTypes.isEmpty() || mLayerTypes.last() != mType) + if (mLayerTypes.isEmpty() || mLayerTypes.last() != mType + || !mAppendLikeTypes) { push(mType, mEmpty); + } DBG_NAV_LOGD("RingCheck join %s (%d,%d,r=%d,b=%d) '%c'", TypeNames[mType], rect.fLeft, rect.fTop, rect.fRight, rect.fBottom, mCh); mLayers.last().op(rect, SkRegion::kUnion_Op); + mAppendLikeTypes = true; return false; } @@ -1017,6 +1021,7 @@ private: Vector<Type> mLayerTypes; const SkPaint* mPaint; char mCh; + bool mAppendLikeTypes; }; class RingCanvas : public BoundsCanvas { |
