Index: ui/compositor/layer.cc |
diff --git a/ui/compositor/layer.cc b/ui/compositor/layer.cc |
index ae2085fe7b641e10f509d2f52c43980d5cf2d38a..050cc8f780f859214baeba9864a13e1b1e3817ee 100644 |
--- a/ui/compositor/layer.cc |
+++ b/ui/compositor/layer.cc |
@@ -52,6 +52,7 @@ Layer::Layer() |
fills_bounds_opaquely_(true), |
layer_updated_externally_(false), |
opacity_(1.0f), |
+ inverted_(false), |
delegate_(NULL), |
scale_canvas_(true), |
device_scale_factor_(1.0f) { |
@@ -66,6 +67,7 @@ Layer::Layer(LayerType type) |
fills_bounds_opaquely_(true), |
layer_updated_externally_(false), |
opacity_(1.0f), |
+ inverted_(false), |
delegate_(NULL), |
scale_canvas_(true), |
device_scale_factor_(1.0f) { |
@@ -195,8 +197,7 @@ void Layer::SetOpacity(float opacity) { |
GetAnimator()->SetOpacity(opacity); |
} |
-void Layer::SetBackgroundBlur(int blur_radius) |
-{ |
+void Layer::SetBackgroundBlur(int blur_radius) { |
WebKit::WebFilterOperations filters; |
if (blur_radius) |
filters.append(WebKit::WebBlurFilterOperation(blur_radius)); |
@@ -205,6 +206,18 @@ void Layer::SetBackgroundBlur(int blur_radius) |
background_blur_radius_ = blur_radius; |
} |
+void Layer::SetInverted(bool inverted) { |
+ WebKit::WebFilterOperations filters; |
+ if (inverted) { |
+ filters.append(WebKit::WebBasicComponentTransferFilterOperation( |
+ WebKit::WebBasicComponentTransferFilterOperation:: |
+ BasicComponentTransferFilterTypeInvert, 1.0)); |
+ } |
+ web_layer_.setFilters(filters); |
+ |
+ inverted_ = inverted; |
+} |
+ |
float Layer::GetTargetOpacity() const { |
if (animator_.get() && animator_->IsAnimatingProperty( |
LayerAnimationElement::OPACITY)) |