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

Side by Side Diff: content/browser/web_contents/aura/window_slider_unittest.cc

Issue 16950023: aura: Use the WindowSlider for gesture-nav while the page is reloading. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: test-self-review Created 7 years, 6 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "content/browser/web_contents/aura/window_slider.h" 5 #include "content/browser/web_contents/aura/window_slider.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "ui/aura/root_window.h" 9 #include "ui/aura/root_window.h"
10 #include "ui/aura/test/aura_test_base.h" 10 #include "ui/aura/test/aura_test_base.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 private: 53 private:
54 // Overridden from aura::WindowDelegate: 54 // Overridden from aura::WindowDelegate:
55 virtual bool HasHitTestMask() const OVERRIDE { return true; } 55 virtual bool HasHitTestMask() const OVERRIDE { return true; }
56 56
57 DISALLOW_COPY_AND_ASSIGN(NoEventWindowDelegate); 57 DISALLOW_COPY_AND_ASSIGN(NoEventWindowDelegate);
58 }; 58 };
59 59
60 class WindowSliderDelegateTest : public WindowSlider::Delegate { 60 class WindowSliderDelegateTest : public WindowSlider::Delegate {
61 public: 61 public:
62 WindowSliderDelegateTest() 62 WindowSliderDelegateTest()
63 : created_back_layer_(false), 63 : can_create_layer_(true),
64 created_back_layer_(false),
64 created_front_layer_(false), 65 created_front_layer_(false),
65 slide_completed_(false), 66 slide_completed_(false),
66 slide_aborted_(false), 67 slide_aborted_(false),
67 slider_destroyed_(false) { 68 slider_destroyed_(false) {
68 } 69 }
69 virtual ~WindowSliderDelegateTest() {} 70 virtual ~WindowSliderDelegateTest() {}
70 71
71 void Reset() { 72 void Reset() {
73 can_create_layer_ = true;
72 created_back_layer_ = false; 74 created_back_layer_ = false;
73 created_front_layer_ = false; 75 created_front_layer_ = false;
74 slide_completed_ = false; 76 slide_completed_ = false;
75 slide_aborted_ = false; 77 slide_aborted_ = false;
76 slider_destroyed_ = false; 78 slider_destroyed_ = false;
77 } 79 }
78 80
81 void SetCanCreateLayer(bool can_create_layer) {
82 can_create_layer_ = can_create_layer;
83 }
84
79 bool created_back_layer() const { return created_back_layer_; } 85 bool created_back_layer() const { return created_back_layer_; }
80 bool created_front_layer() const { return created_front_layer_; } 86 bool created_front_layer() const { return created_front_layer_; }
81 bool slide_completed() const { return slide_completed_; } 87 bool slide_completed() const { return slide_completed_; }
82 bool slide_aborted() const { return slide_aborted_; } 88 bool slide_aborted() const { return slide_aborted_; }
83 bool slider_destroyed() const { return slider_destroyed_; } 89 bool slider_destroyed() const { return slider_destroyed_; }
84 90
85 private: 91 private:
86 ui::Layer* CreateLayerForTest() { 92 ui::Layer* CreateLayerForTest() {
93 CHECK(can_create_layer_);
87 ui::Layer* layer = new ui::Layer(ui::LAYER_SOLID_COLOR); 94 ui::Layer* layer = new ui::Layer(ui::LAYER_SOLID_COLOR);
88 layer->SetColor(SK_ColorRED); 95 layer->SetColor(SK_ColorRED);
89 return layer; 96 return layer;
90 } 97 }
91 98
92 // Overridden from WindowSlider::Delegate: 99 // Overridden from WindowSlider::Delegate:
93 virtual ui::Layer* CreateBackLayer() OVERRIDE { 100 virtual ui::Layer* CreateBackLayer() OVERRIDE {
101 if (!can_create_layer_)
102 return NULL;
94 created_back_layer_ = true; 103 created_back_layer_ = true;
95 return CreateLayerForTest(); 104 return CreateLayerForTest();
96 } 105 }
97 106
98 virtual ui::Layer* CreateFrontLayer() OVERRIDE { 107 virtual ui::Layer* CreateFrontLayer() OVERRIDE {
108 if (!can_create_layer_)
109 return NULL;
99 created_front_layer_ = true; 110 created_front_layer_ = true;
100 return CreateLayerForTest(); 111 return CreateLayerForTest();
101 } 112 }
102 113
103 virtual void OnWindowSlideComplete() OVERRIDE { 114 virtual void OnWindowSlideComplete() OVERRIDE {
104 slide_completed_ = true; 115 slide_completed_ = true;
105 } 116 }
106 117
107 virtual void OnWindowSlideAborted() OVERRIDE { 118 virtual void OnWindowSlideAborted() OVERRIDE {
108 slide_aborted_ = true; 119 slide_aborted_ = true;
109 } 120 }
110 121
111 virtual void OnWindowSliderDestroyed() OVERRIDE { 122 virtual void OnWindowSliderDestroyed() OVERRIDE {
112 slider_destroyed_ = true; 123 slider_destroyed_ = true;
113 } 124 }
114 125
126 bool can_create_layer_;
115 bool created_back_layer_; 127 bool created_back_layer_;
116 bool created_front_layer_; 128 bool created_front_layer_;
117 bool slide_completed_; 129 bool slide_completed_;
118 bool slide_aborted_; 130 bool slide_aborted_;
119 bool slider_destroyed_; 131 bool slider_destroyed_;
120 132
121 DISALLOW_COPY_AND_ASSIGN(WindowSliderDelegateTest); 133 DISALLOW_COPY_AND_ASSIGN(WindowSliderDelegateTest);
122 }; 134 };
123 135
124 typedef aura::test::AuraTestBase WindowSliderTest; 136 typedef aura::test::AuraTestBase WindowSliderTest;
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 aura::Window* new_window = window.get(); 273 aura::Window* new_window = window.get();
262 EXPECT_NE(old_window, new_window); 274 EXPECT_NE(old_window, new_window);
263 275
264 EXPECT_TRUE(slider_delegate.created_back_layer()); 276 EXPECT_TRUE(slider_delegate.created_back_layer());
265 EXPECT_TRUE(slider_delegate.slide_completed()); 277 EXPECT_TRUE(slider_delegate.slide_completed());
266 EXPECT_FALSE(slider_delegate.created_front_layer()); 278 EXPECT_FALSE(slider_delegate.created_front_layer());
267 EXPECT_FALSE(slider_delegate.slide_aborted()); 279 EXPECT_FALSE(slider_delegate.slide_aborted());
268 EXPECT_TRUE(slider_delegate.slider_destroyed()); 280 EXPECT_TRUE(slider_delegate.slider_destroyed());
269 } 281 }
270 282
283 TEST_F(WindowSliderTest, NoSlideWhenLayerCantBeCreated) {
284 scoped_ptr<aura::Window> window(CreateNormalWindow(0, root_window(), NULL));
285 window->SetBounds(gfx::Rect(0, 0, 400, 400));
286 WindowSliderDelegateTest slider_delegate;
287 slider_delegate.SetCanCreateLayer(false);
288
289 aura::test::EventGenerator generator(root_window());
290
291 // Generate a horizontal overscroll.
292 new WindowSlider(&slider_delegate, root_window(), window.get());
293 generator.GestureScrollSequence(gfx::Point(10, 10),
294 gfx::Point(160, 10),
295 base::TimeDelta::FromMilliseconds(10),
296 10);
297 EXPECT_FALSE(slider_delegate.created_back_layer());
298 EXPECT_TRUE(slider_delegate.slide_completed());
299 EXPECT_FALSE(slider_delegate.created_front_layer());
300 EXPECT_FALSE(slider_delegate.slide_aborted());
301 EXPECT_TRUE(slider_delegate.slider_destroyed());
302 window->SetTransform(gfx::Transform());
303 }
304
271 } // namespace content 305 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698