summaryrefslogtreecommitdiffstats
path: root/views/view_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* Revert r107440 because this causes a crash on touchui on page load.sadrul@chromium.org2011-11-021-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | The CL being reverted: This patch lets the browser window punch a hole in the DesktopBackgroundView, thus eliminating overdraw. To do this, the hole punching logic was changed to look at the entire tree. Drawing the screen is a preorder traversal through all the layers. Thus, to compute the hole, we have to look at all of the layers after a particular layer in the preorder traversal. This is not an efficient algorithm, but it is simplest I could come up with. Plus we will be moving to the WebKit compositor soon. Hopefully this will improve the frame rate for the Aura demos Note: I will put the changes to Transform into another patch. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107360 Review URL: http://codereview.chromium.org/8368013 TBR=pkotwicz@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108347 0039d316-1c4b-4281-b951-d872f2087c98
* Create constrained windows in a hidden state.asanka@chromium.org2011-11-011-0/+36
| | | | | | | | | | BUG=97411 TEST=interactive_ui_tests --gtest_filter=ConstrainedWindowViewTest.FocusTest Review URL: http://codereview.chromium.org/8052019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108136 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r107720 - Enable the new layer animation framework.vollick@chromium.org2011-10-281-39/+16
| | | | | | | | | | | | | Depends on http://codereview.chromium.org/8247009/ BUG=None TEST=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107715 Review URL: http://codereview.chromium.org/8362006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107736 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107715 - Enable the new layer animation framework.vollick@chromium.org2011-10-281-16/+39
| | | | | | | | | | | | | | Depends on http://codereview.chromium.org/8247009/ BUG=None TEST=None Review URL: http://codereview.chromium.org/8362006 TBR=sky@chromium.org Review URL: http://codereview.chromium.org/8400059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107720 0039d316-1c4b-4281-b951-d872f2087c98
* Enable the new layer animation framework.vollick@chromium.org2011-10-281-39/+16
| | | | | | | | | | | Depends on http://codereview.chromium.org/8247009/ BUG=None TEST=None Review URL: http://codereview.chromium.org/8362006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107715 0039d316-1c4b-4281-b951-d872f2087c98
* This patch lets the browser window punch a hole in the DesktopBackgroundView,pkotwicz@chromium.org2011-10-261-0/+11
| | | | | | | | | | | | | | | | | | | | thus eliminating overdraw. To do this, the hole punching logic was changed to look at the entire tree. Drawing the screen is a preorder traversal through all the layers. Thus, to compute the hole, we have to look at all of the layers after a particular layer in the preorder traversal. This is not an efficient algorithm, but it is simplest I could come up with. Plus we will be moving to the WebKit compositor soon. Hopefully this will improve the frame rate for the Aura demos Note: I will put the changes to Transform into another patch. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107360 Review URL: http://codereview.chromium.org/8368013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107440 0039d316-1c4b-4281-b951-d872f2087c98
* views: Change the remaining std::wstring entries to string16.tfarina@chromium.org2011-10-241-6/+6
| | | | | | | | | BUG=68267 R=sky@chromium.org Review URL: http://codereview.chromium.org/8373016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106920 0039d316-1c4b-4281-b951-d872f2087c98
* Use WebKit compositor in ui::Layerpiman@chromium.org2011-10-221-0/+22
| | | | | | | | | | BUG=99524 TEST=compositor_unittests Review URL: http://codereview.chromium.org/8222028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106814 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 106606 - Use WebKit compositor in ui::Layerlipalani@chromium.org2011-10-201-22/+0
| | | | | | | | | | | | | BUG=99524 TEST=compositor_unittests Review URL: http://codereview.chromium.org/8222028 TBR=piman@chromium.org Review URL: http://codereview.chromium.org/8360018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106615 0039d316-1c4b-4281-b951-d872f2087c98
* Use WebKit compositor in ui::Layerpiman@chromium.org2011-10-201-0/+22
| | | | | | | | | | BUG=99524 TEST=compositor_unittests Review URL: http://codereview.chromium.org/8222028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106606 0039d316-1c4b-4281-b951-d872f2087c98
* views: Change TextButton API to string16.tfarina@chromium.org2011-10-191-3/+3
| | | | | | | | | BUG=68267 R=sky@chromium.org Review URL: http://codereview.chromium.org/8346013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106302 0039d316-1c4b-4281-b951-d872f2087c98
* views: Change Checkbox API to string16.tfarina@chromium.org2011-10-121-1/+1
| | | | | | | | | BUG=68267 R=sky@chromium.org Review URL: http://codereview.chromium.org/8245006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105088 0039d316-1c4b-4281-b951-d872f2087c98
* views: Make sure layer visibility is updated properly.sadrul@chromium.org2011-10-121-0/+199
| | | | | | | | | | | If a View without a layer is hidden, and one of its descendant views has a layer, then the layer also needs to be hidden. This also needs to be reversed when such a View is redisplayed. BUG=none TEST=ViewLayerTreesInSync, VisibilityChildLayers Review URL: http://codereview.chromium.org/8216027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105080 0039d316-1c4b-4281-b951-d872f2087c98
* views: Some more layer change, and add/update some tests for layers.sadrul@chromium.org2011-10-111-6/+68
| | | | | | | | | | | | | | | | Hide the RootView's layer when a Widget is hidden. Call OnNativeWidgetVisibilityChanged on NativeWidgetGtk's hide/show callbacks. The tests: . Make sure Layer bounds change with a View even if it's not visible. . Make sure Layer visibility is updated with a View's visibility. . Make sure Layers get unparented properly when a View is removed from the parent view. BUG=none TEST=views_unittests Review URL: http://codereview.chromium.org/8202026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104846 0039d316-1c4b-4281-b951-d872f2087c98
* Allow CanvasSkia to bind to an existing SkCanvas.piman@chromium.org2011-10-051-1/+1
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/8122013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104146 0039d316-1c4b-4281-b951-d872f2087c98
* Makes visbility inherited. That is, in order for a window to besky@chromium.org2011-10-051-0/+1
| | | | | | | | | | | | visible all of its ancestor must be visible too. BUG=none TEST=covered by unit tests. R=ben@chromium.org Review URL: http://codereview.chromium.org/8136005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104097 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes touch buildsky@chromium.org2011-10-041-4/+0
| | | | | | | | | | | R=ben@chromium.org BUG=none TEST=none TBR=ben@chromium.org Review URL: http://codereview.chromium.org/8140001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103906 0039d316-1c4b-4281-b951-d872f2087c98
* Couple of tweaks to get more views tests passing:sky@chromium.org2011-10-041-15/+8
| | | | | | | | | | | | | | | | | . Make TestCompositor the default for all views unit tests. . Implement NativeWidgetPrivate::GetAllChildWidgets for aura. . Tweak expected texture count for layer toggling test. . Implement View::HitTest for aura. . Changes NativeWidgetAura::Init not to show (matches other platforms). BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/8118026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103901 0039d316-1c4b-4281-b951-d872f2087c98
* Reland the layer creation change since the touchui issues will be resolved ↵sadrul@chromium.org2011-10-031-13/+4
| | | | | | | | | | | | in a follow up CL. This reverts 103580 - Revert the layer creation change r103338 due to some issues with the keyboard on touch. I'll re-land later once I can get a working linux build.TBR=skyBUG=noneTEST=none Review URL: http://codereview.chromium.org/8100015 TBR=ben@chromium.org Review URL: http://codereview.chromium.org/8115010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103777 0039d316-1c4b-4281-b951-d872f2087c98
* Revert the layer creation change r103338 due to some issues with the ↵ben@chromium.org2011-09-301-4/+13
| | | | | | | | keyboard on touch. I'll re-land later once I can get a working linux build.TBR=skyBUG=noneTEST=none Review URL: http://codereview.chromium.org/8100015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103580 0039d316-1c4b-4281-b951-d872f2087c98
* Construct a View's layer immediately when SetPaintToLayer(true) is called or ↵ben@chromium.org2011-09-291-13/+4
| | | | | | | | when a transform is set.This eliminates the need for LayerHelper since it basically just served as a middle-man for caching layer state when a layer did not exist (which occurred when a view was invisible or not part of a view hierarchy).Also includes a fix to reorder layer children properly without crashing due to dropped textures.BUG=noneTEST=existing unittests Review URL: http://codereview.chromium.org/8054023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103338 0039d316-1c4b-4281-b951-d872f2087c98
* Setting fills bounds opaquely as the default.pkotwicz@chromium.org2011-09-291-0/+1
| | | | | | | | | | | | | Computes set fills bounds opaquely inside widget based on transparency value Depends on 7976040 for correctness BUG=None TEST=None Review URL: http://codereview.chromium.org/8038047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103322 0039d316-1c4b-4281-b951-d872f2087c98
* Refactors TestCompositor out of views_unittests into a place it can besky@chromium.org2011-09-281-90/+20
| | | | | | | | | | | | | | used by both the layer tests and the views test. Also fixes a bug that was causing test to fail and fixes up defines. I've disabled a portion of the compositor unit tests on linux as they don't compile. BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/8072010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103208 0039d316-1c4b-4281-b951-d872f2087c98
* Gets views_unittests to work when aura is defined, and adds coveragesky@chromium.org2011-09-271-21/+111
| | | | | | | | | | | | | for recent painting bug. To get views_unittests to compile I had to convert BaseScrollBar to use MenuItemView (was still using native, which doesn't exist on windows). BUG=none TEST=none Review URL: http://codereview.chromium.org/8028027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102935 0039d316-1c4b-4281-b951-d872f2087c98
* These are the changes necessary for views to be able to build w/ use_aura ↵davemoore@chromium.org2011-09-221-1/+1
| | | | | | | | | | | implying no gtk. BUG=97131 TEST=views_unittests Review URL: http://codereview.chromium.org/7996008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102335 0039d316-1c4b-4281-b951-d872f2087c98
* Adds some features to the shell:ben@chromium.org2011-09-161-1/+1
| | | | | | | | | | | | - desktop background - stub launcher - clicking the background opens test windows BUG=none TEST=none Review URL: http://codereview.chromium.org/7903018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101496 0039d316-1c4b-4281-b951-d872f2087c98
* Rework View Layer Draw() to use the Layer::DrawTree() method and the ↵ben@chromium.org2011-09-131-8/+7
| | | | | | | | | | LayerDelegate. http://crbug.com/93947 TEST=none Review URL: http://codereview.chromium.org/7845033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100961 0039d316-1c4b-4281-b951-d872f2087c98
* Removed ActivatedAtWithDisposition from menu handler, and introduced ↵shinyak@google.com2011-09-051-2/+1
| | | | | | | | | | | | | | | | ActivatedAt(int id, int event_flags) instead. After this patch is landed, I will upload cleanup patch. See also http://codereview.chromium.org/6893046/ BUG=93700 TEST=None Review URL: http://codereview.chromium.org/7778041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99651 0039d316-1c4b-4281-b951-d872f2087c98
* Changes to port holey layer changes into windows compositorpkotwicz@chromium.org2011-09-021-2/+0
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7582029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99368 0039d316-1c4b-4281-b951-d872f2087c98
* Get views_unittests to compile (but not run).ben@chromium.org2011-09-021-5/+5
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7824021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99278 0039d316-1c4b-4281-b951-d872f2087c98
* Vend common GL contextbacker@chromium.org2011-08-261-1/+3
| | | | | | | | | | | | | | | We can't rely on having a compositor for set-up and tear-down of cross process texture transport. This CL creates a shared offscreen context appropriate for that. It further separates TextureGL objects from CompositorGL objects. In particular - I've plumbed through the size of the surface backing the Compositor to the Texture - I've allows the TextureGL to release it's GL resources using the shared context It's necessary to make the vendor of the offscreen context a LeakySingletonTrait singleton so that we don't race with destruction of GL bindings on process shutdown. BUG=fixes dereferencing NULL pointers in RWHVVTouch when images come from GPU process TEST=3D CSS on TOUCH_UI, views_desktop on Windows Review URL: http://codereview.chromium.org/7552039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98441 0039d316-1c4b-4281-b951-d872f2087c98
* Get views_unittests pass on touch buildoshima@google.com2011-08-241-0/+3
| | | | | | | | | | | | | | | | * Changed views test to use ViewsTestBase. * Always calls ViewsTestBase::SetUp/TearDown. Added flags to check if this is enforced. * Excluded tests that does not make sense on touch/pure views build. BUG=none TEST=views_unittets now passes on touch build, with a few exceptions below. WidgetTest.GrabUngrab: assigned to sadrul NativeTextfieldViewsTest.DragAndDrop_XXX: msw will look into it. Review URL: http://codereview.chromium.org/7720020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98128 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure dialog window gets closed at the end of test.oshima@google.com2011-08-171-5/+27
| | | | | | | | | | | | | Fix memory leak (test_dialog_) This fixes issues in other tests that are caused by unclosed dialog windows. BUG=none TEST=none Review URL: http://codereview.chromium.org/7670021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97154 0039d316-1c4b-4281-b951-d872f2087c98
* Nix GetFocusManagerForNativeView|Window.msw@chromium.org2011-08-021-4/+2
| | | | | | | | | | | | Use Widget|View::GetFocusManager instead. Use Widget::Get[TopLevel]WidgetForNativeView|Window as necessary. BUG=88718 TEST=none Review URL: http://codereview.chromium.org/7532015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95111 0039d316-1c4b-4281-b951-d872f2087c98
* Shell of implementation for embedded windows. At this point this issky@chromium.org2011-07-291-2/+2
| | | | | | | | | | | | | | | | | just a proof of concept. Next step is going to be pulling code from the window manager into this. Desktop will likely be renamed to WindowManager. At this point just make sure you think I'm not going off into the weeds. BUG=none TEST=none R=derat@chromium.org Review URL: http://codereview.chromium.org/7534002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94733 0039d316-1c4b-4281-b951-d872f2087c98
* First pass for eliminating double paintingpkotwicz@chromium.org2011-07-291-1/+107
| | | | | | | | | | | | | | | | | | | | | | | A simple 3D CSS benchmark shows a 20% improvement in framerate on T25 hardware: an increase from about 30 fps to 36 fps. This is a first pass to getting rid of double painting by introducing a hole in layers Currently a layer which wants its parent not to paint under it will call SetParentLayerHoley There are a number of questions in terms of implementation: 1) We are doing this with layers. We are currently setting all layers to be holey if the touch_ui flag is enabled. Another option is to merge the holey functionality into regular layers. (Get rid of the holey layer subclass) 2) We are always generating vertices matrix, even in the ui::Layer case, is this ok? 3) We are wasting video memory. We are still uploading a full bitmap. I wasn't able to find a function call which would be able to efficiently slice the bigger bitmap, notably changing the origin of where the painting starts (texture upload) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91848 0039d316-1c4b-4281-b951-d872f2087c98 BUG= TEST= Review URL: http://codereview.chromium.org/7330025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94677 0039d316-1c4b-4281-b951-d872f2087c98
* Create views.dll / libviews.sodarin@chromium.org2011-07-281-1/+1
| | | | | | | R=sky@chromium.org,rvargas@chromium.org Review URL: http://codereview.chromium.org/7493017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94428 0039d316-1c4b-4281-b951-d872f2087c98
* Update Texture/Layer SetCanvas, callsites, and comments.msw@chromium.org2011-07-271-5/+6
| | | | | | | | | | | Fix TestTexture and ViewLayerTest compile. BUG=90548 TEST=none Review URL: http://codereview.chromium.org/7470030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94241 0039d316-1c4b-4281-b951-d872f2087c98
* Removing unused NativeButton codesaintlou@chromium.org2011-07-261-40/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7493004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94114 0039d316-1c4b-4281-b951-d872f2087c98
* views: Add unittests for View::GetViewsWithGroup() method.tfarina@chromium.org2011-07-131-0/+14
| | | | | | | | | | | | | Also, rename it to GetViewsInGroup(). BUG=72040 TEST=views_unittests --gtest_filter=ViewTest.GetViewByID R=ben@chromium.org,sky@chromium.org Review URL: http://codereview.chromium.org/7328031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92430 0039d316-1c4b-4281-b951-d872f2087c98
* views: Some views tests should use EXPECT_* rather than ASSERT_*.tfarina@chromium.org2011-07-081-32/+32
| | | | | | | | | | | | | | | | ASSERT should be used in cases where we are going to rely in pointer being not NULL in the next test or an array having determinate numbers of elements because we are going to access an element of it in the next step. But these aren't the cases here. BUG=None TEST=views_unittests R=sky@chromium.org Review URL: http://codereview.chromium.org/7330021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91900 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes crash in views desktop. The problem wassky@chromium.org2011-07-081-4/+4
| | | | | | | | | | | | | CreateRenderWidgetHostView would delete the old RenderWidgetHostView. Also fixes compile error in views_unittests. BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/7329027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91888 0039d316-1c4b-4281-b951-d872f2087c98
* Use SkMatrix44 for the underlying implementation of ui::Transformbacker@chromium.org2011-07-081-22/+40
| | | | | | | | | | BUG= TEST=ui_unittest Review URL: http://codereview.chromium.org/7044062 Patch from Ian Vollick <vollick@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91855 0039d316-1c4b-4281-b951-d872f2087c98
* Push (not pull) window geometry for the compositor.backer@chromium.org2011-07-061-0/+1
| | | | | | | | | | | The previous implementation used to poll the environment for the window size every drawing cycle. On Linux this is an expensive operation because it requires a round trip to the X server. This CL pushes window size change to the compositor. BUG=none TEST=none Review URL: http://codereview.chromium.org/7212028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91572 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed issue with layers being deleted upon SetVisible with an argument of truebacker@chromium.org2011-07-061-0/+19
| | | | | | | | | | | | | | | Steps for Repro. From a touch build 1) Goto google.com 2) Type into text field 3) Typed text does not show up BUG=87840 TEST=views_unittest (ToggleVisibilityWithLayer) Review URL: http://codereview.chromium.org/7273067 Patch from Peter Kotwicz <pkotwicz@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91563 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes bug where transform wasn't reset on layer correctly.sky@chromium.org2011-07-011-0/+20
| | | | | | | | | | BUG=none TEST=covered by unit test. R=wjmaclean@chromium.org Review URL: http://codereview.chromium.org/7210048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91317 0039d316-1c4b-4281-b951-d872f2087c98
* Gets compositor working for embedded widgets.sky@chromium.org2011-07-011-0/+49
| | | | | | | | | | BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/7280002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91312 0039d316-1c4b-4281-b951-d872f2087c98
* Views views_unittests Views and NativeTextFields tests leakdhollowa@chromium.org2011-06-301-25/+25
| | | | | | | | | | | Fixes leaks in ViewTest.* and NativeTextFieldViewsTest.*. BUG=87904 TEST=tools/valgrind/chrome_tests.sh views --gtest_filter=ViewTest.*:NativeTextFieldViewsTest.* Review URL: http://codereview.chromium.org/7280008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91064 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the rect to the widget's coordinates correctly.sadrul@chromium.org2011-06-291-0/+48
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7276053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90952 0039d316-1c4b-4281-b951-d872f2087c98
* views: Allocate View on the stack in the OnBoundsChanged unittest.tfarina@chromium.org2011-06-281-27/+18
| | | | | | | | | | | BUG=None TEST=views_unittest --gtest_filter=ViewTest.OnBoundsChanged R=sky@chromium.org Review URL: http://codereview.chromium.org/7274012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90781 0039d316-1c4b-4281-b951-d872f2087c98