| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/ui/gtk/omnibox/omnibox_popup_view_gtk.h" | 5 #include "chrome/browser/ui/gtk/omnibox/omnibox_popup_view_gtk.h" |
| 6 | 6 |
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 g_signal_connect(window_, "motion-notify-event", | 304 g_signal_connect(window_, "motion-notify-event", |
| 305 G_CALLBACK(HandleMotionThunk), this); | 305 G_CALLBACK(HandleMotionThunk), this); |
| 306 g_signal_connect(window_, "button-press-event", | 306 g_signal_connect(window_, "button-press-event", |
| 307 G_CALLBACK(HandleButtonPressThunk), this); | 307 G_CALLBACK(HandleButtonPressThunk), this); |
| 308 g_signal_connect(window_, "button-release-event", | 308 g_signal_connect(window_, "button-release-event", |
| 309 G_CALLBACK(HandleButtonReleaseThunk), this); | 309 G_CALLBACK(HandleButtonReleaseThunk), this); |
| 310 g_signal_connect(window_, "expose-event", | 310 g_signal_connect(window_, "expose-event", |
| 311 G_CALLBACK(HandleExposeThunk), this); | 311 G_CALLBACK(HandleExposeThunk), this); |
| 312 | 312 |
| 313 registrar_.Add(this, | 313 registrar_.Add(this, |
| 314 NotificationType::BROWSER_THEME_CHANGED, | 314 chrome::NOTIFICATION_BROWSER_THEME_CHANGED, |
| 315 NotificationService::AllSources()); | 315 NotificationService::AllSources()); |
| 316 theme_service_->InitThemesFor(this); | 316 theme_service_->InitThemesFor(this); |
| 317 | 317 |
| 318 // TODO(erg): There appears to be a bug somewhere in something which shows | 318 // TODO(erg): There appears to be a bug somewhere in something which shows |
| 319 // itself when we're in NX. Previously, we called | 319 // itself when we're in NX. Previously, we called |
| 320 // gtk_util::ActAsRoundedWindow() to make this popup have rounded | 320 // gtk_util::ActAsRoundedWindow() to make this popup have rounded |
| 321 // corners. This worked on the standard xorg server (both locally and | 321 // corners. This worked on the standard xorg server (both locally and |
| 322 // remotely), but broke over NX. My current hypothesis is that it can't | 322 // remotely), but broke over NX. My current hypothesis is that it can't |
| 323 // handle shaping top-level windows during an expose event, but I'm not sure | 323 // handle shaping top-level windows during an expose event, but I'm not sure |
| 324 // how else to get accurate shaping information. | 324 // how else to get accurate shaping information. |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 | 381 |
| 382 void OmniboxPopupViewGtk::PaintUpdatesNow() { | 382 void OmniboxPopupViewGtk::PaintUpdatesNow() { |
| 383 // Paint our queued invalidations now, synchronously. | 383 // Paint our queued invalidations now, synchronously. |
| 384 gdk_window_process_updates(window_->window, FALSE); | 384 gdk_window_process_updates(window_->window, FALSE); |
| 385 } | 385 } |
| 386 | 386 |
| 387 void OmniboxPopupViewGtk::OnDragCanceled() { | 387 void OmniboxPopupViewGtk::OnDragCanceled() { |
| 388 ignore_mouse_drag_ = true; | 388 ignore_mouse_drag_ = true; |
| 389 } | 389 } |
| 390 | 390 |
| 391 void OmniboxPopupViewGtk::Observe(NotificationType type, | 391 void OmniboxPopupViewGtk::Observe(int type, |
| 392 const NotificationSource& source, | 392 const NotificationSource& source, |
| 393 const NotificationDetails& details) { | 393 const NotificationDetails& details) { |
| 394 DCHECK(type == NotificationType::BROWSER_THEME_CHANGED); | 394 DCHECK(type == chrome::NOTIFICATION_BROWSER_THEME_CHANGED); |
| 395 | 395 |
| 396 if (theme_service_->UsingNativeTheme()) { | 396 if (theme_service_->UsingNativeTheme()) { |
| 397 gtk_util::UndoForceFontSize(window_); | 397 gtk_util::UndoForceFontSize(window_); |
| 398 | 398 |
| 399 border_color_ = theme_service_->GetBorderColor(); | 399 border_color_ = theme_service_->GetBorderColor(); |
| 400 | 400 |
| 401 gtk_util::GetTextColors( | 401 gtk_util::GetTextColors( |
| 402 &background_color_, &selected_background_color_, | 402 &background_color_, &selected_background_color_, |
| 403 &content_text_color_, &selected_content_text_color_); | 403 &content_text_color_, &selected_content_text_color_); |
| 404 | 404 |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 680 (text_width - actual_content_width - | 680 (text_width - actual_content_width - |
| 681 (actual_description_width / PANGO_SCALE)), | 681 (actual_description_width / PANGO_SCALE)), |
| 682 content_y, layout_); | 682 content_y, layout_); |
| 683 } | 683 } |
| 684 } | 684 } |
| 685 | 685 |
| 686 g_object_unref(gc); | 686 g_object_unref(gc); |
| 687 | 687 |
| 688 return TRUE; | 688 return TRUE; |
| 689 } | 689 } |
| OLD | NEW |