Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3606)

Unified Diff: chrome/browser/android/compositor/layer/content_layer.h

Issue 787023002: Upstream more layers, decoration title, layer_title_cache (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updated creation year Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/compositor/layer/content_layer.h
diff --git a/chrome/browser/android/compositor/layer/content_layer.h b/chrome/browser/android/compositor/layer/content_layer.h
new file mode 100644
index 0000000000000000000000000000000000000000..9396383dc1e899f194b07282244524f5eaed7282
--- /dev/null
+++ b/chrome/browser/android/compositor/layer/content_layer.h
@@ -0,0 +1,73 @@
+// Copyright 2014 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.
+
+#ifndef CHROME_BROWSER_ANDROID_COMPOSITOR_LAYER_CONTENT_LAYER_H_
+#define CHROME_BROWSER_ANDROID_COMPOSITOR_LAYER_CONTENT_LAYER_H_
+
+#include "base/basictypes.h"
+#include "base/memory/scoped_ptr.h"
+#include "chrome/browser/android/compositor/layer/layer.h"
+#include "ui/gfx/rect.h"
+#include "ui/gfx/size.h"
+
+namespace cc {
+class Layer;
+}
+
+namespace chrome {
+namespace android {
+
+class TabContentManager;
+class ThumbnailLayer;
+
+// Sub layer tree representation of the contents of a tab.
+// Contains logic to temporarily display a static thumbnail
+// when the content layer is not available.
+// To specialize call SetProperties.
+class ContentLayer : public Layer {
+ public:
+ static scoped_refptr<ContentLayer> Create(
+ TabContentManager* tab_content_manager);
+ void SetProperties(int id,
+ bool can_use_live_layer,
+ bool can_use_ntp_fallback,
+ float static_to_view_blend,
+ bool should_override_content_alpha,
+ float content_alpha_override,
+ float saturation,
+ const gfx::Rect& desired_bounds,
+ const gfx::Size& content_size);
+ bool ShowingLiveLayer() { return !static_attached_ && content_attached_; }
+ gfx::Size GetContentSize();
+
+ scoped_refptr<cc::Layer> layer() override;
+
+ protected:
+ explicit ContentLayer(TabContentManager* tab_content_manager);
+ ~ContentLayer() override;
+
+ private:
+ void SetContentLayer(scoped_refptr<cc::Layer> layer);
+ void SetStaticLayer(scoped_refptr<ThumbnailLayer> layer);
+ void ClipContentLayer(scoped_refptr<cc::Layer> content_layer,
+ gfx::Rect clipping,
+ gfx::Size content_size);
+ void ClipStaticLayer(scoped_refptr<ThumbnailLayer> static_layer,
+ gfx::Rect clipping);
+
+ scoped_refptr<cc::Layer> layer_;
+ scoped_refptr<ThumbnailLayer> static_layer_;
+ bool content_attached_;
+ bool static_attached_;
+ float saturation_;
+
+ TabContentManager* tab_content_manager_;
+
+ DISALLOW_COPY_AND_ASSIGN(ContentLayer);
+};
+
+} // namespace android
+} // namespace chrome
+
+#endif // CHROME_BROWSER_ANDROID_COMPOSITOR_LAYER_CONTENT_LAYER_H_

Powered by Google App Engine
This is Rietveld 408576698