summaryrefslogtreecommitdiffstats
path: root/views/controls
diff options
context:
space:
mode:
authoroshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-11 18:21:59 +0000
committeroshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-11 18:21:59 +0000
commitb51e1d3eb086478052e5bc148747238d8a15c5f9 (patch)
treec35db77d7998f6ce3086325d3055f67ff82a9352 /views/controls
parentd45ce251fa02d368846e01f4b44f893947f5e13e (diff)
downloadchromium_src-b51e1d3eb086478052e5bc148747238d8a15c5f9.zip
chromium_src-b51e1d3eb086478052e5bc148747238d8a15c5f9.tar.gz
chromium_src-b51e1d3eb086478052e5bc148747238d8a15c5f9.tar.bz2
Reenable FREEZE_UPDATE property
This is a real fix for 13750. When the entire area of a WidgetGtk is covered by another GdkWindow, the WidgetGtk doesn't get expose event, which was causnig 13750. This fixes this issue by listening child widget's expose event and remove the FREEZE_UPDATE property. BUG=chromium-os:11514, chromium-os:13750 TEST=see bug for repro steps R=sky@chromium.org Review URL: http://codereview.chromium.org/6823017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81123 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls')
-rw-r--r--views/controls/native/native_view_host_gtk.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/views/controls/native/native_view_host_gtk.cc b/views/controls/native/native_view_host_gtk.cc
index 4a6d155..d5e4110 100644
--- a/views/controls/native/native_view_host_gtk.cc
+++ b/views/controls/native/native_view_host_gtk.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -111,6 +111,9 @@ void NativeViewHostGtk::NativeViewAttached() {
else
gtk_container_add(GTK_CONTAINER(fixed_), host_->native_view());
+ // Let the widget know that the native component has been painted.
+ views::WidgetGtk::RegisterChildExposeHandler(host_->native_view());
+
if (!destroy_signal_id_) {
destroy_signal_id_ = g_signal_connect(host_->native_view(),
"destroy", G_CALLBACK(CallDestroy),