| Index: cc/resources/resource.h
|
| diff --git a/cc/resources/resource.h b/cc/resources/resource.h
|
| index 7fd361f503dd0624690dea14d638d16721e6a292..993cbc071e38160d53bc6688ca988b326023454a 100644
|
| --- a/cc/resources/resource.h
|
| +++ b/cc/resources/resource.h
|
| @@ -5,9 +5,11 @@
|
| #ifndef CC_RESOURCES_RESOURCE_H_
|
| #define CC_RESOURCES_RESOURCE_H_
|
|
|
| +#include "base/command_line.h"
|
| #include "base/logging.h"
|
| #include "base/macros.h"
|
| #include "cc/base/cc_export.h"
|
| +#include "cc/base/switches.h"
|
| #include "cc/resources/resource_provider.h"
|
| #include "cc/resources/resource_util.h"
|
| #include "ui/gfx/geometry/size.h"
|
| @@ -16,12 +18,26 @@ namespace cc {
|
|
|
| class CC_EXPORT Resource {
|
| public:
|
| - Resource() : id_(0), format_(RGBA_8888) {}
|
| + Resource() : id_(0), format_(RGBA_8888) {
|
| + // If color correct rendering is enabled, set the default color space to
|
| + // SRGB instead of unspecified.
|
| + base::CommandLine* cmd = base::CommandLine::ForCurrentProcess();
|
| + if (cmd->HasSwitch(switches::kEnableColorCorrectRendering))
|
| + color_space_ = gfx::ColorSpace::CreateSRGB();
|
| + }
|
| Resource(unsigned id,
|
| const gfx::Size& size,
|
| ResourceFormat format,
|
| const gfx::ColorSpace& color_space)
|
| - : id_(id), size_(size), format_(format), color_space_(color_space) {}
|
| + : id_(id), size_(size), format_(format), color_space_(color_space) {
|
| + if (color_space_ == gfx::ColorSpace()) {
|
| + // If color correct rendering is enabled, replace the unspecified color
|
| + // space with SRGB.
|
| + base::CommandLine* cmd = base::CommandLine::ForCurrentProcess();
|
| + if (cmd->HasSwitch(switches::kEnableColorCorrectRendering))
|
| + color_space_ = gfx::ColorSpace::CreateSRGB();
|
| + }
|
| + }
|
|
|
| ResourceId id() const { return id_; }
|
| const gfx::Size& size() const { return size_; }
|
| @@ -34,8 +50,17 @@ class CC_EXPORT Resource {
|
| size_ = size;
|
| format_ = format;
|
| }
|
| +
|
| void set_color_space(const gfx::ColorSpace& color_space) {
|
| - color_space_ = color_space;
|
| + if (color_space_ == gfx::ColorSpace()) {
|
| + // If color correct rendering is enabled, replace the unspecified color
|
| + // space with SRGB.
|
| + base::CommandLine* cmd = base::CommandLine::ForCurrentProcess();
|
| + if (cmd->HasSwitch(switches::kEnableColorCorrectRendering))
|
| + color_space_ = gfx::ColorSpace::CreateSRGB();
|
| + } else {
|
| + color_space_ = color_space;
|
| + }
|
| }
|
|
|
| private:
|
|
|