OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/android/compositor/scene_layer/static_tab_scene_layer.h
" | 5 #include "chrome/browser/android/compositor/scene_layer/static_tab_scene_layer.h
" |
6 | 6 |
7 #include "cc/layers/layer.h" | 7 #include "cc/layers/layer.h" |
8 #include "chrome/browser/android/compositor/layer/content_layer.h" | 8 #include "chrome/browser/android/compositor/layer/content_layer.h" |
9 #include "chrome/browser/android/compositor/layer_title_cache.h" | 9 #include "chrome/browser/android/compositor/layer_title_cache.h" |
10 #include "chrome/browser/android/compositor/tab_content_manager.h" | 10 #include "chrome/browser/android/compositor/tab_content_manager.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 return background_color_; | 36 return background_color_; |
37 } | 37 } |
38 | 38 |
39 void StaticTabSceneLayer::UpdateTabLayer( | 39 void StaticTabSceneLayer::UpdateTabLayer( |
40 JNIEnv* env, | 40 JNIEnv* env, |
41 const JavaParamRef<jobject>& jobj, | 41 const JavaParamRef<jobject>& jobj, |
42 const JavaParamRef<jobject>& jtab_content_manager, | 42 const JavaParamRef<jobject>& jtab_content_manager, |
43 jint id, | 43 jint id, |
44 jint toolbar_resource_id, | 44 jint toolbar_resource_id, |
45 jboolean can_use_live_layer, | 45 jboolean can_use_live_layer, |
| 46 jboolean can_use_static_layer, |
46 jint default_background_color, | 47 jint default_background_color, |
47 jfloat x, | 48 jfloat x, |
48 jfloat y, | 49 jfloat y, |
49 jfloat static_to_view_blend, | 50 jfloat static_to_view_blend, |
50 jfloat saturation, | 51 jfloat saturation, |
51 jfloat brightness) { | 52 jfloat brightness) { |
52 background_color_ = default_background_color; | 53 background_color_ = default_background_color; |
53 if (!content_layer_.get()) { | 54 if (!content_layer_.get()) { |
54 android::TabContentManager* tab_content_manager = | 55 android::TabContentManager* tab_content_manager = |
55 android::TabContentManager::FromJavaObject(jtab_content_manager); | 56 android::TabContentManager::FromJavaObject(jtab_content_manager); |
56 content_layer_ = android::ContentLayer::Create(tab_content_manager); | 57 content_layer_ = android::ContentLayer::Create(tab_content_manager); |
57 layer_->AddChild(content_layer_->layer()); | 58 layer_->AddChild(content_layer_->layer()); |
58 } | 59 } |
59 | 60 |
60 // Only override the alpha of content layers when the static tab is first | 61 // Only override the alpha of content layers when the static tab is first |
61 // assigned to the layer tree. | 62 // assigned to the layer tree. |
62 float content_alpha_override = 1.f; | 63 float content_alpha_override = 1.f; |
63 bool should_override_content_alpha = last_set_tab_id_ != id; | 64 bool should_override_content_alpha = last_set_tab_id_ != id; |
64 last_set_tab_id_ = id; | 65 last_set_tab_id_ = id; |
65 | 66 |
66 content_layer_->SetProperties( | 67 content_layer_->SetProperties( |
67 id, can_use_live_layer, static_to_view_blend, | 68 id, can_use_live_layer, can_use_static_layer, static_to_view_blend, |
68 should_override_content_alpha, content_alpha_override, saturation, | 69 should_override_content_alpha, content_alpha_override, saturation, false, |
69 false, gfx::Rect()); | 70 gfx::Rect()); |
70 | 71 |
71 content_layer_->layer()->SetPosition(gfx::PointF(x, y)); | 72 content_layer_->layer()->SetPosition(gfx::PointF(x, y)); |
72 content_layer_->layer()->SetIsDrawable(true); | 73 content_layer_->layer()->SetIsDrawable(true); |
73 | 74 |
74 // Only applies the brightness filter if the value has changed and is less | 75 // Only applies the brightness filter if the value has changed and is less |
75 // than 1. | 76 // than 1. |
76 if (brightness != brightness_) { | 77 if (brightness != brightness_) { |
77 brightness_ = brightness; | 78 brightness_ = brightness; |
78 cc::FilterOperations filters; | 79 cc::FilterOperations filters; |
79 if (brightness_ < 1.f) | 80 if (brightness_ < 1.f) |
80 filters.Append(cc::FilterOperation::CreateBrightnessFilter(brightness_)); | 81 filters.Append(cc::FilterOperation::CreateBrightnessFilter(brightness_)); |
81 layer_->SetFilters(filters); | 82 layer_->SetFilters(filters); |
82 } | 83 } |
83 } | 84 } |
84 | 85 |
85 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& jobj) { | 86 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& jobj) { |
86 // This will automatically bind to the Java object and pass ownership there. | 87 // This will automatically bind to the Java object and pass ownership there. |
87 StaticTabSceneLayer* scene_layer = new StaticTabSceneLayer(env, jobj); | 88 StaticTabSceneLayer* scene_layer = new StaticTabSceneLayer(env, jobj); |
88 return reinterpret_cast<intptr_t>(scene_layer); | 89 return reinterpret_cast<intptr_t>(scene_layer); |
89 } | 90 } |
90 | 91 |
91 bool RegisterStaticTabSceneLayer(JNIEnv* env) { | 92 bool RegisterStaticTabSceneLayer(JNIEnv* env) { |
92 return RegisterNativesImpl(env); | 93 return RegisterNativesImpl(env); |
93 } | 94 } |
94 | 95 |
95 } // namespace android | 96 } // namespace android |
OLD | NEW |