Landing oshima patch.
Disable NOTREACHED assertion for Linux. A view in WidgetGtk with TYPE_CHILD crashes
at this assertion. A bug http://crbug.com/21335 is filed to keep track of this.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/195056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25919 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/views/view.cc b/views/view.cc
index e47dbeacd..8664ad9 100644
--- a/views/view.cc
+++ b/views/view.cc
@@ -1022,7 +1022,13 @@
// Some crash reports seem to show that we may get cases where we have no
// focus manager (see bug #1291225). This should never be the case, just
// making sure we don't crash.
+
+ // TODO(jcampan): This fails for a view under WidgetGtk with TYPE_CHILD.
+ // (see http://crbug.com/21335) reenable NOTREACHED assertion and
+ // verify accelerators works as expected.
+#if defined(OS_WIN)
NOTREACHED();
+#endif
return;
}
std::vector<Accelerator>::const_iterator iter;
diff --git a/views/widget/root_view.cc b/views/widget/root_view.cc
index 9d11c27a..8baca07 100644
--- a/views/widget/root_view.cc
+++ b/views/widget/root_view.cc
@@ -512,8 +512,13 @@
void RootView::FocusView(View* view) {
if (view != GetFocusedView()) {
FocusManager* focus_manager = GetFocusManager();
+ // TODO(jcampan): This fails under WidgetGtk with TYPE_CHILD.
+ // (see http://crbug.com/21335) Reenable DCHECK and
+ // verify GetFocusManager works as expecte.
+#if defined(OS_WIN)
DCHECK(focus_manager) << "No Focus Manager for Window " <<
(GetWidget() ? GetWidget()->GetNativeView() : 0);
+#endif
if (!focus_manager)
return;
focus_manager->SetFocusedView(view);