summaryrefslogtreecommitdiffstats
path: root/views/widget/native_widget_views.cc
Commit message (Collapse)AuthorAgeFilesLines
* Revert the layer creation change r103338 due to some issues with the ↵ben@chromium.org2011-09-301-4/+8
| | | | | | | | 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
* views: Change NativeWidget's SetAccessibleName() to string16.tfarina@chromium.org2011-09-301-1/+1
| | | | | | | | | BUG=68267 R=sky@chromium.org Review URL: http://codereview.chromium.org/8085009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103537 0039d316-1c4b-4281-b951-d872f2087c98
* Construct a View's layer immediately when SetPaintToLayer(true) is called or ↵ben@chromium.org2011-09-291-8/+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
* views: Make NativeWidgetView invisible by default, since a widget is ↵sadrul@chromium.org2011-09-291-1/+4
| | | | | | | | | | | invisible until 'Show' is called. BUG=none TEST=WidgetTest.Visibility, WidgetTest.Visibility_Synthetic Review URL: http://codereview.chromium.org/8072022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103330 0039d316-1c4b-4281-b951-d872f2087c98
* Setting fills bounds opaquely as the default.pkotwicz@chromium.org2011-09-291-0/+2
| | | | | | | | | | | | | 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
* Do not allocate a texture if hole covers entire layer.pkotwicz@chromium.org2011-09-271-1/+1
| | | | | | | | | BUG=None TEST= poster circle, at 35FPS on tegra2 hardware Review URL: http://codereview.chromium.org/7976004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102925 0039d316-1c4b-4281-b951-d872f2087c98
* NativeWidgetViews: Send unprocessed keyevents to the focus-manager.sadrul@chromium.org2011-09-261-1/+4
| | | | | | | | | | | | This fixes keyboard accelerators (e.g. ctrl-t etc.) to work correctly when the focus is in the omnibox in pure-views (e.g. touchui). BUG=none TEST=manually Review URL: http://codereview.chromium.org/8038012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102725 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for black-hole on views desktop with compositor.oshima@google.com2011-09-221-1/+2
| | | | | | | | | | | | | | | Child widget should not be parented to desktop. This was causing tab contents for prerendering be parented to desktop. Fix for DCHECK failure in NativeWidgetViews::OnKeyEvent Child widget should not be activated. Reset non_client_view_ when new contentview is set. BUG=none TEST=updated widget_unittests Review URL: http://codereview.chromium.org/7979035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102389 0039d316-1c4b-4281-b951-d872f2087c98
* NativeWidgetViews: Implement Maximize.sadrul@chromium.org2011-09-221-10/+21
| | | | | | | | | BUG=none TEST=manually Review URL: http://codereview.chromium.org/7925006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102330 0039d316-1c4b-4281-b951-d872f2087c98
* wstring: convert all SetPageTitle APIs to use string16evan@chromium.org2011-09-211-1/+1
| | | | | | | | BUG=23581 Review URL: http://codereview.chromium.org/7915008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102157 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for bug with pages loading in a background tab.mmocny@chromium.org2011-09-211-2/+4
| | | | | | | | | | | | | Occasionally, chrome would segfault when a background tab was loading. I was running into this issue quite often when testing opening many tabs. BUG=None TEST=None Review URL: http://codereview.chromium.org/7978011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102123 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding 100792oshima@google.com2011-09-201-10/+73
| | | | | | | | | | | | | | | | | | Use TabContentsViewViews for RenderWidgetHostViweViews. * Removed TabContentsViewTouch. * Changed so that mouse and resize event goes through NativeWidgetViews so that NativeTabContentsViewViews can invoke NativeTabContentsViewDelegates. BUG=none TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=100792 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=100834 Review URL: http://codereview.chromium.org/7460001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101921 0039d316-1c4b-4281-b951-d872f2087c98
* fix build breakageoshima@google.com2011-09-141-1/+1
| | | | | | | | | | TBR=backer@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7890043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101134 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Relanding 100792"oshima@google.com2011-09-141-73/+10
| | | | | | | | | | | | This reverts commit 1de05c148460b26037b069501c19ee0c20aeb4ad. TBR=backer@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7888049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101131 0039d316-1c4b-4281-b951-d872f2087c98
* Rework View Layer Draw() to use the Layer::DrawTree() method and the ↵ben@chromium.org2011-09-131-7/+4
| | | | | | | | | | 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
* Relanding 100792oshima@google.com2011-09-131-10/+73
| | | | | | | | | | | | | | | | Use TabContentsViewViews for RenderWidgetHostViweViews. * Removed TabContentsViewTouch. * Changed so that mouse and resize event goes through NativeWidgetViews so that NativeTabContentsViewViews can invoke NativeTabContentsViewDelegates. BUG=none TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=100792 Review URL: http://codereview.chromium.org/7460001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100834 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100792 "Use TabContentsViewViews for RenderWidgetHostViweViews."oshima@google.com2011-09-131-70/+9
| | | | | | | | | | | This reverts commit a8938434c75e2a7300e04c1f23fe363bdcb67bc6. BUG=none TEST=none Review URL: http://codereview.chromium.org/7878008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100812 0039d316-1c4b-4281-b951-d872f2087c98
* Use TabContentsViewViews for RenderWidgetHostViweViews.oshima@google.com2011-09-121-9/+70
| | | | | | | | | | | | * Removed TabContentsViewTouch. * Changed so that mouse and resize event goes through NativeWidgetViews so that NativeTabContentsViewViews can invoke NativeTabContentsViewDelegates. BUG=none TEST=none Review URL: http://codereview.chromium.org/7460001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100792 0039d316-1c4b-4281-b951-d872f2087c98
* Allow Chrome-in-Aura to start.ben@chromium.org2011-09-121-0/+3
| | | | | | | | | | Nothing (much) renders. WIP. http://crbug.com/93947 TEST=none Review URL: http://codereview.chromium.org/7849004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100773 0039d316-1c4b-4281-b951-d872f2087c98
* views: Partial implementation of always-on-top for NativeWidgetViews.sadrul@chromium.org2011-09-121-0/+8
| | | | | | | | | | | | This fixes the touch-selection controller visibility on touchui with views-desktop. BUG=none TEST=manually Review URL: http://codereview.chromium.org/7780023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100696 0039d316-1c4b-4281-b951-d872f2087c98
* Restoring a session should restore window minimization state on Windowsdhollowa@chromium.org2011-08-311-4/+4
| | | | | | | | | | | | | These changes enable save and restore of minimized window state on Windows. (Mac and Linux came prior). The window state is now saved whenever size-changed notifications fire (in addition to the original activation and close cases). BUG=43274 TEST=Manual. Launch Chrome on Windows, create two browser windows, minimize "a" window, quit. Relaunch, expect "a" to be minimized. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=98679 Review URL: http://codereview.chromium.org/7748036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99077 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 98679 - Restoring a session should restore window minimization state ↵dhollowa@chromium.org2011-08-291-4/+4
| | | | | | | | | | | | | | | | | on Windows These changes enable save and restore of minimized window state on Windows. (Mac and Linux came prior). The window state is now saved whenever size-changed notifications fire (in addition to the original activation and close cases). BUG=43274 TEST=Manual. Launch Chrome on Windows, create two browser windows, minimize "a" window, quit. Relaunch, expect "a" to be minimized. Review URL: http://codereview.chromium.org/7748036 TBR=dhollowa@chromium.org Review URL: http://codereview.chromium.org/7790010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98699 0039d316-1c4b-4281-b951-d872f2087c98
* Restoring a session should restore window minimization state on Windowsdhollowa@chromium.org2011-08-291-4/+4
| | | | | | | | | | | | These changes enable save and restore of minimized window state on Windows. (Mac and Linux came prior). The window state is now saved whenever size-changed notifications fire (in addition to the original activation and close cases). BUG=43274 TEST=Manual. Launch Chrome on Windows, create two browser windows, minimize "a" window, quit. Relaunch, expect "a" to be minimized. Review URL: http://codereview.chromium.org/7748036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98679 0039d316-1c4b-4281-b951-d872f2087c98
* Possible fix for the issue that keyboard doesn't show up.oshima@google.com2011-08-251-5/+3
| | | | | | | | | | | Always create InputMethod object instead of being lazy. BUG=none TEST=none Review URL: http://codereview.chromium.org/7744029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98303 0039d316-1c4b-4281-b951-d872f2087c98
* More input focus fixoshima@google.com2011-08-251-3/+5
| | | | | | | | | | | | | OnKeyEvent should create IM object if necessary NULL check in OnActivate TBR=penghuang@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7748013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98206 0039d316-1c4b-4281-b951-d872f2087c98
* Focus fix. InputMethod needs to be initialized before calling OnFocusoshima@google.com2011-08-251-2/+4
| | | | | | | | | | TBR=penghaung@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7746005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98184 0039d316-1c4b-4281-b951-d872f2087c98
* Move input_method to widgetoshima@google.com2011-08-231-27/+19
| | | | | | | | | BUG=none TEST=none. no new functionality. all tests should pass. Review URL: http://codereview.chromium.org/7371007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97819 0039d316-1c4b-4281-b951-d872f2087c98
* Simple WindowManager that can move/resize window.oshima@google.com2011-08-191-16/+27
| | | | | | | | | | | | | | Fixes TouchFrame's NonClientHitTest to ignore VirtualKeyboard area. Move mouse capture logic to Window Manager so that nested mouse capture with nested NWVs works correctly. Note1: This is a tentative WM that allows us to move/resize window in views desktop until we have real window manager based on aura/layer API. Note2: There is an compositor related issue and doesn't work well when compositor is enabled. I'll look into it after this CL. Review URL: http://codereview.chromium.org/7530017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97492 0039d316-1c4b-4281-b951-d872f2087c98
* Implement NativeWidgetViews::CenterWindow().rhashimoto@chromium.org2011-08-171-2/+4
| | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7655023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97240 0039d316-1c4b-4281-b951-d872f2087c98
* views-desktop: Fix updating the cursor for windows.sadrul@chromium.org2011-08-151-0/+1
| | | | | | | | | | | It is necessary to remember the cursor set for the associated widget in the NativeWidgetView so that it can return the correct cursor when the parent Widget requests for it. BUG=none TEST=manually (launch chrome with views-desktop, move cursor over a link/textfield and see the cursor change properly) Review URL: http://codereview.chromium.org/7633018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96852 0039d316-1c4b-4281-b951-d872f2087c98
* NativeWidgetViews: Implement widget activation/deactivation.sadrul@chromium.org2011-08-081-2/+3
| | | | | | | | | BUG=none TEST=WidgetObserverTest.ActivationChange Review URL: http://codereview.chromium.org/7585028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95828 0039d316-1c4b-4281-b951-d872f2087c98
* Fix method call on potentially deleted object in NativeWidgetViews.rhashimoto@chromium.org2011-07-271-4/+3
| | | | | | | | | | | | The problem was that I was unconditionally calling set_delete_native_widget() from the NativeWidgetViews destructor, which is wrong if the NativeWidgetView has already been destroyed with its view hierarchy. The unconditional call is correct in the NativeWidgetView destructor because it must prevent itself from being deleted again even if it does not delete the NativeWidgetViews (WIDGET_OWNS_NATIVE_WIDGET case) and is safe because the NativeWidgetViews lifetime is always longer than its NativeWidgetView. BUG=chromium:90484 TEST=valgrind out/Debug/views_unittests --gtest_filter="WidgetOwnershipTest.*ViewsNativeWidget*" --single-process Review URL: http://codereview.chromium.org/7461082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94336 0039d316-1c4b-4281-b951-d872f2087c98
* Remove menu keyboard grab and close menu on window manager activation change.rhashimoto@chromium.org2011-07-271-12/+0
| | | | | | | | | | BUG=chromium-os:17013 TEST=Open two windows on device, open wrench menu, use Alt-Tab to switch windows and check that menu closes. Review URL: http://codereview.chromium.org/7484048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94212 0039d316-1c4b-4281-b951-d872f2087c98
* NativeWidgetViews: Add support for window properties.sadrul@chromium.org2011-07-261-8/+18
| | | | | | | | | | | | | | | Also, check view_ for NULL in a few places because these functions can be called when the NWViews is in the process of closing and view_ may have already been unset. This fixes a crash when closing chrome in --views-desktop world. BUG=none TEST=start chrome with --views-dekstop and close, chrome shouldn't crash. Review URL: http://codereview.chromium.org/7480017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94112 0039d316-1c4b-4281-b951-d872f2087c98
* Rework NativeWidgetViews/NativeWidgetView lifetime management.rhashimoto@chromium.org2011-07-251-13/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | This began with a partial revert of r92246 (http://codereview.chromium.org/7348011/), which affected how a NativeWidgetViews was destroyed. The issue with the r92246 code was that whenever a View hierarchy containing the NativeWidgetView was removed from a parent, destruction was invoked via ViewHierarchyChanged(). This behavior was wrong when a View hierarchy containing a NativeWidgetViews was just being moved, e.g. when TabContentsContainer::ChangeTabContents() was called. A fix was attempted by not responding to ViewHierarchyChanged() except when detached by the direct parent, but this doesn't work properly because ViewHierarchyChanged() is not called for all child removals done by a destructor so the widget would be leaked. This CL restores NativeWidget{View,Views} each deleting the other in their destructor when NATIVE_WIDGET_OWNS_WIDGET. If WIDGET_OWNS_NATIVE_WIDGET then NativeWidgetView is not allowed to delete NativeWidgetViews, leaving that for the Widget. BUG=none TEST=views_unittests Review URL: http://codereview.chromium.org/7464035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93903 0039d316-1c4b-4281-b951-d872f2087c98
* views capture: Fix mouse-event location and reset capture view.sadrul@chromium.org2011-07-191-1/+8
| | | | | | | | | BUG=none TEST=WidgetTest.GrabUngrab, and run views-desktop, click on a window the minize, click on the second window to minimize. Both should minize correctly. Review URL: http://codereview.chromium.org/7432008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93129 0039d316-1c4b-4281-b951-d872f2087c98
* Makes sure widget is created at right size before showingsky@chromium.org2011-07-191-1/+7
| | | | | | | | | | | | | | it. Previously if we were going to maximize the window we would first create it at the restored size, then maximize it. On slower machines this could result in a noticeable relayout of the web page. BUG=11229 TEST=see bug. R=ben@chromium.org Review URL: http://codereview.chromium.org/7358005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93067 0039d316-1c4b-4281-b951-d872f2087c98
* Add const to HasKeyboardCaptureoshima@google.com2011-07-141-1/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7374006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92622 0039d316-1c4b-4281-b951-d872f2087c98
* views-desktop: Fix a couple of crashes.sadrul@chromium.org2011-07-141-4/+5
| | | | | | | | | | | | | * Setup hosting_widget_ before creating the View, because some of the steps (e.g. SetBoundsRect) expect that there is a hosting widget. * Unset capture_view_ when the captured view is destroyed. BUG=none TEST=run views-desktop, close a window, and there should be no crash. Review URL: http://codereview.chromium.org/7358007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92552 0039d316-1c4b-4281-b951-d872f2087c98
* Fix typo in header file name.oshima@google.com2011-07-141-1/+1
| | | | | | | | | | TBR=nkostylev@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7372004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92544 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up FocusManageroshima@google.com2011-07-141-0/+4
| | | | | | | | | | | | | | Use Widget API to get FocusManager for native_view/window. Move FocusNatieView to native widget impl. This is necessary for NativeWidgetX BUG=none TEST=none Review URL: http://codereview.chromium.org/7351008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92497 0039d316-1c4b-4281-b951-d872f2087c98
* Move SetInitialFocus to Widgetoshima@google.com2011-07-141-2/+48
| | | | | | | | | | | | | | Create InputMethod object per Top level NativeWidgetView - use MockInputMethod when IBUS is not available for now. Call OnNativeWidgetActivationChanged when activation changed. Handle InputFocus change when activation changed. This is temp solution until we have WM in place. BUG=none TEST=none Review URL: http://codereview.chromium.org/7353009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92495 0039d316-1c4b-4281-b951-d872f2087c98
* Allow different kinds of 'desktops'.sadrul@chromium.org2011-07-131-2/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7315007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92447 0039d316-1c4b-4281-b951-d872f2087c98
* Add Widget::Observer for observing Widgets.sadrul@chromium.org2011-07-131-1/+2
| | | | | | | | | | | | Use this new observation technique to avoid a crash in views-desktop when the active widget is closed. BUG=none TEST=Run views_desktop, close a window, click, it doesn't crash! Review URL: http://codereview.chromium.org/7342015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92415 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt 2 at:sky@chromium.org2011-07-131-0/+19
| | | | | | | | | | | | | | | Gets mouse capture to work for menus with pure views. As part of this I moved what was in menu_host_gtk into native_widget_gtk. Gtk supports two grab types, both mouse and key. We only want key grab when showing menus. BUG=none TEST=none TBR=ben@chromium.org Review URL: http://codereview.chromium.org/7354006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92311 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused ContainsNativeView methods.ben@chromium.org2011-07-131-5/+0
| | | | | | | | | | BUG=none TEST=none TBR=sky Review URL: http://codereview.chromium.org/7352001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92305 0039d316-1c4b-4281-b951-d872f2087c98
* ClearNativeFocus: Do it from widget, with appropriate native-widget ↵sadrul@chromium.org2011-07-131-0/+4
| | | | | | | | | | | implementation. BUG=none TEST=none Review URL: http://codereview.chromium.org/7353007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92303 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 92252 - Gets mouse capture to work for menus with pure views. As part ↵sky@chromium.org2011-07-121-18/+0
| | | | | | | | | | | | | | | | | | of this I moved what was in menu_host_gtk into native_widget_gtk. Gtk supports two grab types, both mouse and key. We only want key grab when showing menus. BUG=none TEST=none Review URL: http://codereview.chromium.org/7346003 TBR=sky@chromium.org Review URL: http://codereview.chromium.org/7350008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92254 0039d316-1c4b-4281-b951-d872f2087c98
* Gets mouse capture to work for menus with pure views. As part of thissky@chromium.org2011-07-121-0/+18
| | | | | | | | | | | | | I moved what was in menu_host_gtk into native_widget_gtk. Gtk supports two grab types, both mouse and key. We only want key grab when showing menus. BUG=none TEST=none Review URL: http://codereview.chromium.org/7346003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92252 0039d316-1c4b-4281-b951-d872f2087c98
* Correct issues with NativeWidgetViews ownership.ben@chromium.org2011-07-121-21/+27
| | | | | | | | | | | | | | NativeWidgetView was owned by the view hierarchy which complicated the ownership of NativeWidgetViews since it would try to delete NativeWidgetViews from its destructor. NativeWidgetView has been changed to schedule a close when it is removed from its containing hierarchy. This may be problematic for reparenting but should do for now. We will need to finesse the add/remove API to correct this type of issue. NativeWidgetViews has been hardened in a few places that assumed they could reach up to a parent widget, even after the widget had been removed from its parent. BUG=none TEST=attached unittests should all pass for realz (verified in debugger, can be verified on linux views trybots too). Review URL: http://codereview.chromium.org/7348011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92246 0039d316-1c4b-4281-b951-d872f2087c98