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

Side by Side Diff: ui/views/view_unittest.cc

Issue 819273003: View: Resizing a layer in RTL now correctly repositions its children. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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
« ui/views/view.cc ('K') | « ui/views/view.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <map> 5 #include <map>
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/rand_util.h" 8 #include "base/rand_util.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 2914 matching lines...) Expand 10 before | Expand all | Expand 10 after
2925 // sure the bounds are correct. 2925 // sure the bounds are correct.
2926 View* v2 = new View; 2926 View* v2 = new View;
2927 v2->SetBounds(50, 10, 30, 10); 2927 v2->SetBounds(50, 10, 30, 10);
2928 EXPECT_FALSE(v2->layer()); 2928 EXPECT_FALSE(v2->layer());
2929 view->AddChildView(v2); 2929 view->AddChildView(v2);
2930 v2->SetPaintToLayer(true); 2930 v2->SetPaintToLayer(true);
2931 EXPECT_EQ(gfx::Rect(content_width - 80, 10, 30, 10), 2931 EXPECT_EQ(gfx::Rect(content_width - 80, 10, 30, 10),
2932 v2->layer()->bounds()); 2932 v2->layer()->bounds());
2933 gfx::Rect l2bounds = v2->layer()->bounds(); 2933 gfx::Rect l2bounds = v2->layer()->bounds();
2934 2934
2935 // Now attach a paints-to-layer View as a child view of |v1|.
2936 View* v3 = new View;
2937 v3->SetPaintToLayer(true);
2938 v3->SetBounds(3, 5, 6, 4);
2939 EXPECT_EQ(gfx::Rect(3, 5, 6, 4),
2940 v3->layer()->bounds());
2941 v1->AddChildView(v3);
2942 // Check that |v3| now has RTL-appropriate bounds.
2943 EXPECT_EQ(gfx::Rect(11, 5, 6, 4),
2944 v3->layer()->bounds());
2945 gfx::Rect l3bounds = v3->layer()->bounds();
2946
2935 view->SetPaintToLayer(true); 2947 view->SetPaintToLayer(true);
2936 EXPECT_EQ(l1bounds, v1->layer()->bounds()); 2948 EXPECT_EQ(l1bounds, v1->layer()->bounds());
2937 EXPECT_EQ(l2bounds, v2->layer()->bounds()); 2949 EXPECT_EQ(l2bounds, v2->layer()->bounds());
2950 EXPECT_EQ(l3bounds, v3->layer()->bounds());
2938 2951
2939 // Move one of the views. Make sure the layer is positioned correctly 2952 // Move one of the views. Make sure the layer is positioned correctly
2940 // afterwards. 2953 // afterwards.
2941 v1->SetBounds(v1->x() - 5, v1->y(), v1->width(), v1->height()); 2954 v1->SetBounds(v1->x() - 5, v1->y(), v1->width(), v1->height());
2942 l1bounds.set_x(l1bounds.x() + 5); 2955 l1bounds.set_x(l1bounds.x() + 5);
2943 EXPECT_EQ(l1bounds, v1->layer()->bounds()); 2956 EXPECT_EQ(l1bounds, v1->layer()->bounds());
2944 2957
2945 view->SetPaintToLayer(false); 2958 view->SetPaintToLayer(false);
2946 EXPECT_EQ(l1bounds, v1->layer()->bounds()); 2959 EXPECT_EQ(l1bounds, v1->layer()->bounds());
2947 EXPECT_EQ(l2bounds, v2->layer()->bounds()); 2960 EXPECT_EQ(l2bounds, v2->layer()->bounds());
2961 EXPECT_EQ(l3bounds, v3->layer()->bounds());
2948 2962
2949 // Move a view again. 2963 // Move a view again.
2950 v2->SetBounds(v2->x() + 5, v2->y(), v2->width(), v2->height()); 2964 v2->SetBounds(v2->x() + 5, v2->y(), v2->width(), v2->height());
2951 l2bounds.set_x(l2bounds.x() - 5); 2965 l2bounds.set_x(l2bounds.x() - 5);
2952 EXPECT_EQ(l2bounds, v2->layer()->bounds()); 2966 EXPECT_EQ(l2bounds, v2->layer()->bounds());
2953 2967
2968 // Resize |v1|. Make sure that |v3|'s layer has been moved correctly to
2969 // RTL-appropriate bounds.
2970 v1->SetSize(gfx::Size(30, 10));
2971 EXPECT_EQ(gfx::Rect(21, 5, 6, 4),
2972 v3->layer()->bounds());
2973
2954 // Reset locale. 2974 // Reset locale.
2955 base::i18n::SetICUDefaultLocale(locale); 2975 base::i18n::SetICUDefaultLocale(locale);
2956 } 2976 }
2957 2977
2958 // Makes sure a transform persists after toggling the visibility. 2978 // Makes sure a transform persists after toggling the visibility.
2959 TEST_F(ViewLayerTest, ToggleVisibilityWithTransform) { 2979 TEST_F(ViewLayerTest, ToggleVisibilityWithTransform) {
2960 View* view = new View; 2980 View* view = new View;
2961 gfx::Transform transform; 2981 gfx::Transform transform;
2962 transform.Scale(2.0, 2.0); 2982 transform.Scale(2.0, 2.0);
2963 view->SetTransform(transform); 2983 view->SetTransform(transform);
(...skipping 724 matching lines...) Expand 10 before | Expand all | Expand 10 after
3688 // notification. 3708 // notification.
3689 TestView* test_view_child_2 = new TestView(); 3709 TestView* test_view_child_2 = new TestView();
3690 test_view->AddChildView(test_view_child_2); 3710 test_view->AddChildView(test_view_child_2);
3691 EXPECT_TRUE(test_view_child_2->native_theme_); 3711 EXPECT_TRUE(test_view_child_2->native_theme_);
3692 EXPECT_EQ(widget->GetNativeTheme(), test_view_child_2->native_theme_); 3712 EXPECT_EQ(widget->GetNativeTheme(), test_view_child_2->native_theme_);
3693 3713
3694 widget->CloseNow(); 3714 widget->CloseNow();
3695 } 3715 }
3696 3716
3697 } // namespace views 3717 } // namespace views
OLDNEW
« ui/views/view.cc ('K') | « ui/views/view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698