summaryrefslogtreecommitdiff
path: root/chromium/cc/trees
diff options
context:
space:
mode:
authorZeno Albisser <zeno.albisser@digia.com>2013-11-21 14:09:57 +0100
committerAndras Becsi <andras.becsi@digia.com>2013-11-29 15:14:36 +0100
commiteb32ba6f51d0c21d58cd7d89785285ff8fa64624 (patch)
tree2c7c940e1dbee81b89d935626110816b494aa32c /chromium/cc/trees
parent9427c1a0222ebd67efef1a2c7990a0fa5c9aac84 (diff)
downloadqtwebengine-chromium-eb32ba6f51d0c21d58cd7d89785285ff8fa64624.tar.gz
Update chromium to branch 1599.
Change-Id: I04e775a946a208bb4500d3b722bcb05c82b9d7cb Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'chromium/cc/trees')
-rw-r--r--chromium/cc/trees/layer_tree_host_impl.cc11
-rw-r--r--chromium/cc/trees/layer_tree_host_impl_unittest.cc2
-rw-r--r--chromium/cc/trees/layer_tree_host_unittest.cc75
-rw-r--r--chromium/cc/trees/layer_tree_host_unittest_context.cc12
4 files changed, 24 insertions, 76 deletions
diff --git a/chromium/cc/trees/layer_tree_host_impl.cc b/chromium/cc/trees/layer_tree_host_impl.cc
index 720febd7fc7..9519e745af4 100644
--- a/chromium/cc/trees/layer_tree_host_impl.cc
+++ b/chromium/cc/trees/layer_tree_host_impl.cc
@@ -327,11 +327,9 @@ void LayerTreeHostImpl::ManageTiles() {
size_t memory_required_bytes;
size_t memory_nice_to_have_bytes;
- size_t memory_allocated_bytes;
size_t memory_used_bytes;
tile_manager_->GetMemoryStats(&memory_required_bytes,
&memory_nice_to_have_bytes,
- &memory_allocated_bytes,
&memory_used_bytes);
SendManagedMemoryStats(memory_required_bytes,
memory_nice_to_have_bytes,
@@ -1529,6 +1527,11 @@ void LayerTreeHostImpl::SetVisible(bool visible) {
DidVisibilityChange(this, visible_);
EnforceManagedMemoryPolicy(ActualManagedMemoryPolicy());
+ // Evict tiles immediately if invisible since this tab may never get another
+ // draw or timer tick.
+ if (!visible_)
+ ManageTiles();
+
if (!renderer_)
return;
@@ -2502,9 +2505,7 @@ void LayerTreeHostImpl::CreateUIResource(
if (id)
DeleteUIResource(uid);
id = resource_provider_->CreateResource(
- bitmap->GetSize(),
- resource_provider_->best_texture_format(),
- ResourceProvider::TextureUsageAny);
+ bitmap->GetSize(), GL_RGBA, ResourceProvider::TextureUsageAny);
ui_resource_map_[uid] = id;
resource_provider_->SetPixels(id,
diff --git a/chromium/cc/trees/layer_tree_host_impl_unittest.cc b/chromium/cc/trees/layer_tree_host_impl_unittest.cc
index 764a9cf93de..ab81c672b8c 100644
--- a/chromium/cc/trees/layer_tree_host_impl_unittest.cc
+++ b/chromium/cc/trees/layer_tree_host_impl_unittest.cc
@@ -10,7 +10,6 @@
#include "base/command_line.h"
#include "base/containers/hash_tables.h"
#include "cc/base/math_util.h"
-#include "cc/debug/test_web_graphics_context_3d.h"
#include "cc/input/top_controls_manager.h"
#include "cc/layers/delegated_renderer_layer_impl.h"
#include "cc/layers/heads_up_display_layer_impl.h"
@@ -40,6 +39,7 @@
#include "cc/test/geometry_test_utils.h"
#include "cc/test/layer_test_common.h"
#include "cc/test/render_pass_test_common.h"
+#include "cc/test/test_web_graphics_context_3d.h"
#include "cc/trees/layer_tree_impl.h"
#include "cc/trees/single_thread_proxy.h"
#include "media/base/media.h"
diff --git a/chromium/cc/trees/layer_tree_host_unittest.cc b/chromium/cc/trees/layer_tree_host_unittest.cc
index 55841e52e70..b18a88a7865 100644
--- a/chromium/cc/trees/layer_tree_host_unittest.cc
+++ b/chromium/cc/trees/layer_tree_host_unittest.cc
@@ -1111,7 +1111,7 @@ class LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers
MULTI_THREAD_TEST_F(LayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers);
// Verify atomicity of commits and reuse of textures.
-class LayerTreeHostTestDirectRendererAtomicCommit : public LayerTreeHostTest {
+class LayerTreeHostTestAtomicCommit : public LayerTreeHostTest {
public:
virtual void InitializeSettings(LayerTreeSettings* settings) OVERRIDE {
// Make sure partial texture updates are turned off.
@@ -1162,18 +1162,19 @@ class LayerTreeHostTestDirectRendererAtomicCommit : public LayerTreeHostTest {
PostSetNeedsCommitToMainThread();
break;
case 1:
- // Number of textures should be one for scrollbar layer since it was
- // requested and deleted on the impl-thread, and double for the content
- // layer since its first texture is used by impl thread and cannot by
- // used for update.
- ASSERT_EQ(3u, context->NumTextures());
- // Number of textures used for commit should be one for each layer.
+ // Number of textures should be doubled as the first textures
+ // are used by impl thread and cannot by used for update.
+ ASSERT_EQ(4u, context->NumTextures());
+ // Number of textures used for commit should still be
+ // one for each layer.
EXPECT_EQ(2u, context->NumUsedTextures());
// First textures should not have been used.
EXPECT_FALSE(context->UsedTexture(context->TextureAt(0)));
- EXPECT_TRUE(context->UsedTexture(context->TextureAt(1)));
+ EXPECT_FALSE(context->UsedTexture(context->TextureAt(1)));
// New textures should have been used.
EXPECT_TRUE(context->UsedTexture(context->TextureAt(2)));
+ EXPECT_TRUE(context->UsedTexture(context->TextureAt(3)));
+
context->ResetUsedTextures();
PostSetNeedsCommitToMainThread();
break;
@@ -1208,68 +1209,14 @@ class LayerTreeHostTestDirectRendererAtomicCommit : public LayerTreeHostTest {
virtual void AfterTest() OVERRIDE {}
- protected:
+ private:
FakeContentLayerClient client_;
scoped_refptr<FakeContentLayer> layer_;
scoped_refptr<FakeScrollbarLayer> scrollbar_;
int drew_frame_;
};
-MULTI_THREAD_DIRECT_RENDERER_TEST_F(
- LayerTreeHostTestDirectRendererAtomicCommit);
-
-class LayerTreeHostTestDelegatingRendererAtomicCommit
- : public LayerTreeHostTestDirectRendererAtomicCommit {
- public:
- virtual void DidActivateTreeOnThread(LayerTreeHostImpl* impl) OVERRIDE {
- ASSERT_EQ(0u, layer_tree_host()->settings().max_partial_texture_updates);
-
- TestWebGraphicsContext3D* context = static_cast<TestWebGraphicsContext3D*>(
- impl->output_surface()->context3d());
-
- switch (impl->active_tree()->source_frame_number()) {
- case 0:
- // Number of textures should be one for each layer
- ASSERT_EQ(2u, context->NumTextures());
- // Number of textures used for commit should be one for each layer.
- EXPECT_EQ(2u, context->NumUsedTextures());
- // Verify that used texture is correct.
- EXPECT_TRUE(context->UsedTexture(context->TextureAt(0)));
- EXPECT_TRUE(context->UsedTexture(context->TextureAt(1)));
- context->ResetUsedTextures();
- PostSetNeedsCommitToMainThread();
- break;
- case 1:
- // Number of textures should be doubled as the first context layer
- // texture is being used by the impl-thread and cannot be used for
- // update. The scrollbar behavior is different direct renderer because
- // UI resource deletion with delegating renderer occurs after tree
- // activation.
- ASSERT_EQ(4u, context->NumTextures());
- // Number of textures used for commit should still be
- // one for each layer.
- EXPECT_EQ(2u, context->NumUsedTextures());
- // First textures should not have been used.
- EXPECT_FALSE(context->UsedTexture(context->TextureAt(0)));
- EXPECT_FALSE(context->UsedTexture(context->TextureAt(1)));
- // New textures should have been used.
- EXPECT_TRUE(context->UsedTexture(context->TextureAt(2)));
- EXPECT_TRUE(context->UsedTexture(context->TextureAt(3)));
- context->ResetUsedTextures();
- PostSetNeedsCommitToMainThread();
- break;
- case 2:
- EndTest();
- break;
- default:
- NOTREACHED();
- break;
- }
- }
-};
-
-MULTI_THREAD_DELEGATING_RENDERER_TEST_F(
- LayerTreeHostTestDelegatingRendererAtomicCommit);
+MULTI_THREAD_TEST_F(LayerTreeHostTestAtomicCommit);
static void SetLayerPropertiesForTesting(Layer* layer,
Layer* parent,
diff --git a/chromium/cc/trees/layer_tree_host_unittest_context.cc b/chromium/cc/trees/layer_tree_host_unittest_context.cc
index 3404c1ea9df..1787d31ddf3 100644
--- a/chromium/cc/trees/layer_tree_host_unittest_context.cc
+++ b/chromium/cc/trees/layer_tree_host_unittest_context.cc
@@ -5,8 +5,6 @@
#include "cc/trees/layer_tree_host.h"
#include "base/basictypes.h"
-#include "cc/debug/test_context_provider.h"
-#include "cc/debug/test_web_graphics_context_3d.h"
#include "cc/layers/content_layer.h"
#include "cc/layers/heads_up_display_layer.h"
#include "cc/layers/io_surface_layer.h"
@@ -21,6 +19,7 @@
#include "cc/test/fake_content_layer.h"
#include "cc/test/fake_content_layer_client.h"
#include "cc/test/fake_content_layer_impl.h"
+#include "cc/test/fake_context_provider.h"
#include "cc/test/fake_delegated_renderer_layer.h"
#include "cc/test/fake_delegated_renderer_layer_impl.h"
#include "cc/test/fake_layer_tree_host_client.h"
@@ -31,6 +30,7 @@
#include "cc/test/fake_video_frame_provider.h"
#include "cc/test/layer_tree_test.h"
#include "cc/test/render_pass_test_common.h"
+#include "cc/test/test_web_graphics_context_3d.h"
#include "cc/trees/layer_tree_host_impl.h"
#include "cc/trees/layer_tree_impl.h"
#include "cc/trees/single_thread_proxy.h"
@@ -141,7 +141,7 @@ class LayerTreeHostContextTest : public LayerTreeTest {
if (!offscreen_contexts_main_thread_.get() ||
offscreen_contexts_main_thread_->DestroyedOnMainThread()) {
- offscreen_contexts_main_thread_ = TestContextProvider::Create(
+ offscreen_contexts_main_thread_ = FakeContextProvider::Create(
base::Bind(&LayerTreeHostContextTest::CreateOffscreenContext3d,
base::Unretained(this)));
if (offscreen_contexts_main_thread_.get() &&
@@ -157,7 +157,7 @@ class LayerTreeHostContextTest : public LayerTreeTest {
if (!offscreen_contexts_compositor_thread_.get() ||
offscreen_contexts_compositor_thread_->DestroyedOnMainThread()) {
- offscreen_contexts_compositor_thread_ = TestContextProvider::Create(
+ offscreen_contexts_compositor_thread_ = FakeContextProvider::Create(
base::Bind(&LayerTreeHostContextTest::CreateOffscreenContext3d,
base::Unretained(this)));
}
@@ -236,8 +236,8 @@ class LayerTreeHostContextTest : public LayerTreeTest {
bool context_should_support_io_surface_;
bool fallback_context_works_;
- scoped_refptr<TestContextProvider> offscreen_contexts_main_thread_;
- scoped_refptr<TestContextProvider> offscreen_contexts_compositor_thread_;
+ scoped_refptr<FakeContextProvider> offscreen_contexts_main_thread_;
+ scoped_refptr<FakeContextProvider> offscreen_contexts_compositor_thread_;
};
class LayerTreeHostContextTestLostContextSucceeds