| // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #include <stdint.h> | 
 |  | 
 | #include "content/test/image_decoder_test.h" | 
 | #include "third_party/WebKit/public/web/WebImageDecoder.h" | 
 |  | 
 | class BMPImageDecoderTest : public ImageDecoderTest { | 
 |  public: | 
 |   BMPImageDecoderTest() : ImageDecoderTest("bmp") { } | 
 |  | 
 |  protected: | 
 |   blink::WebImageDecoder* CreateWebKitImageDecoder() const override { | 
 |     return new blink::WebImageDecoder(blink::WebImageDecoder::TypeBMP); | 
 |   } | 
 |  | 
 |   // The BMPImageDecoderTest tests are really slow under Valgrind. | 
 |   // Thus it is split into fast and slow versions. The threshold is | 
 |   // set to 10KB because the fast test can finish under Valgrind in | 
 |   // less than 30 seconds. | 
 |   static const int64_t kThresholdSize = 10240; | 
 | }; | 
 |  | 
 | TEST_F(BMPImageDecoderTest, DecodingFast) { | 
 |   TestDecoding(TEST_SMALLER, kThresholdSize); | 
 | } | 
 |  | 
 | #if defined(THREAD_SANITIZER) | 
 | // BMPImageDecoderTest.DecodingSlow always times out under ThreadSanitizer v2. | 
 | #define MAYBE_DecodingSlow DISABLED_DecodingSlow | 
 | #else | 
 | #define MAYBE_DecodingSlow DecodingSlow | 
 | #endif | 
 | TEST_F(BMPImageDecoderTest, MAYBE_DecodingSlow) { | 
 |   TestDecoding(TEST_BIGGER, kThresholdSize); | 
 | } |