Make a flipped fDirtyBit always mean "this field is not the default".

Haven't been able to measure any perf effect, so I figure I'll let the bots have at it.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/595583003
diff --git a/tests/PaintTest.cpp b/tests/PaintTest.cpp
index 5106057..57d0283 100644
--- a/tests/PaintTest.cpp
+++ b/tests/PaintTest.cpp
@@ -318,19 +318,22 @@
 DEF_TEST(Paint_FlatteningTraits, r) {
     SkPaint paint;
     paint.setColor(0x00AABBCC);
-    paint.setTextScaleX(1.0f);  // Encoded despite being the default value.
+    paint.setTextScaleX(1.0f);  // Default value, ignored.
     paint.setTextSize(19);
     paint.setXfermode(SkXfermode::Create(SkXfermode::kModulate_Mode))->unref();
-    paint.setLooper(NULL);  // Ignored.
+    paint.setLooper(NULL);  // Default value, ignored.
 
     SkWriteBuffer writer;
     SkPaint::FlatteningTraits::Flatten(writer, paint);
-    const size_t expectedBytesWritten = sizeof(void*) == 8 ? 36 : 32;
-    ASSERT(expectedBytesWritten == writer.bytesWritten());
 
-    const uint32_t* written = writer.getWriter32()->contiguousArray();
-    SkASSERT(written != NULL);
-    ASSERT(*written == ((1<<0) | (1<<1) | (1<<2) | (1<<8)));  // Dirty bits for our 4.
+    // BEGIN white box asserts: if the impl changes, these asserts may change
+        const size_t expectedBytesWritten = sizeof(void*) == 8 ? 32 : 28;
+        ASSERT(expectedBytesWritten == writer.bytesWritten());
+
+        const uint32_t* written = writer.getWriter32()->contiguousArray();
+        SkASSERT(written != NULL);
+        ASSERT(*written == ((1<<0) | (1<<1) | (1<<8)));  // Dirty bits for our 3.
+    // END white box asserts
 
     SkReadBuffer reader(written, writer.bytesWritten());
     SkPaint other;