Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Side by Side Diff: chrome/browser/ui/gtk/download/download_item_gtk.cc

Issue 8800029: GTK: Add TRACE_EVENTs around gtk ui events. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase again for ANOTHER conflict Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/ui/gtk/custom_button.cc ('k') | chrome/browser/ui/gtk/find_bar_gtk.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/download/download_item_gtk.h" 5 #include "chrome/browser/ui/gtk/download/download_item_gtk.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/debug/trace_event.h"
9 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
10 #include "base/string_util.h" 11 #include "base/string_util.h"
11 #include "base/time.h" 12 #include "base/time.h"
12 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
13 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
14 #include "chrome/browser/download/chrome_download_manager_delegate.h" 15 #include "chrome/browser/download/chrome_download_manager_delegate.h"
15 #include "chrome/browser/download/download_item_model.h" 16 #include "chrome/browser/download/download_item_model.h"
16 #include "chrome/browser/download/download_util.h" 17 #include "chrome/browser/download/download_util.h"
17 #include "chrome/browser/ui/browser.h" 18 #include "chrome/browser/ui/browser.h"
18 #include "chrome/browser/ui/gtk/custom_drag.h" 19 #include "chrome/browser/ui/gtk/custom_drag.h"
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 IDR_DOWNLOAD_BUTTON_RIGHT_TOP_NO_DD, 693 IDR_DOWNLOAD_BUTTON_RIGHT_TOP_NO_DD,
693 IDR_DOWNLOAD_BUTTON_LEFT_MIDDLE, 694 IDR_DOWNLOAD_BUTTON_LEFT_MIDDLE,
694 IDR_DOWNLOAD_BUTTON_CENTER_MIDDLE, 695 IDR_DOWNLOAD_BUTTON_CENTER_MIDDLE,
695 IDR_DOWNLOAD_BUTTON_RIGHT_MIDDLE_NO_DD, 696 IDR_DOWNLOAD_BUTTON_RIGHT_MIDDLE_NO_DD,
696 IDR_DOWNLOAD_BUTTON_LEFT_BOTTOM, 697 IDR_DOWNLOAD_BUTTON_LEFT_BOTTOM,
697 IDR_DOWNLOAD_BUTTON_CENTER_BOTTOM, 698 IDR_DOWNLOAD_BUTTON_CENTER_BOTTOM,
698 IDR_DOWNLOAD_BUTTON_RIGHT_BOTTOM_NO_DD); 699 IDR_DOWNLOAD_BUTTON_RIGHT_BOTTOM_NO_DD);
699 } 700 }
700 701
701 gboolean DownloadItemGtk::OnHboxExpose(GtkWidget* widget, GdkEventExpose* e) { 702 gboolean DownloadItemGtk::OnHboxExpose(GtkWidget* widget, GdkEventExpose* e) {
703 TRACE_EVENT0("ui::gtk", "DownloadItemGtk::OnHboxExpose");
702 if (theme_service_->UsingNativeTheme()) { 704 if (theme_service_->UsingNativeTheme()) {
703 GtkAllocation allocation; 705 GtkAllocation allocation;
704 gtk_widget_get_allocation(widget, &allocation); 706 gtk_widget_get_allocation(widget, &allocation);
705 int border_width = gtk_container_get_border_width(GTK_CONTAINER(widget)); 707 int border_width = gtk_container_get_border_width(GTK_CONTAINER(widget));
706 int x = allocation.x + border_width; 708 int x = allocation.x + border_width;
707 int y = allocation.y + border_width; 709 int y = allocation.y + border_width;
708 int width = allocation.width - border_width * 2; 710 int width = allocation.width - border_width * 2;
709 int height = allocation.height - border_width * 2; 711 int height = allocation.height - border_width * 2;
710 712
711 if (IsDangerous()) { 713 if (IsDangerous()) {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
758 &e->area, widget, "button", 760 &e->area, widget, "button",
759 arrow_allocation.y, 761 arrow_allocation.y,
760 arrow_allocation.y + arrow_allocation.height, 762 arrow_allocation.y + arrow_allocation.height,
761 left_clip.x + left_clip.width); 763 left_clip.x + left_clip.width);
762 } 764 }
763 } 765 }
764 return FALSE; 766 return FALSE;
765 } 767 }
766 768
767 gboolean DownloadItemGtk::OnExpose(GtkWidget* widget, GdkEventExpose* e) { 769 gboolean DownloadItemGtk::OnExpose(GtkWidget* widget, GdkEventExpose* e) {
770 TRACE_EVENT0("ui::gtk", "DownloadItemGtk::OnExpose");
768 if (!theme_service_->UsingNativeTheme()) { 771 if (!theme_service_->UsingNativeTheme()) {
769 bool is_body = widget == body_.get(); 772 bool is_body = widget == body_.get();
770 773
771 NineBox* nine_box = NULL; 774 NineBox* nine_box = NULL;
772 // If true, this widget is |body_|, otherwise it is |menu_button_|. 775 // If true, this widget is |body_|, otherwise it is |menu_button_|.
773 if (gtk_widget_get_state(widget) == GTK_STATE_PRELIGHT) 776 if (gtk_widget_get_state(widget) == GTK_STATE_PRELIGHT)
774 nine_box = is_body ? body_nine_box_prelight_ : menu_nine_box_prelight_; 777 nine_box = is_body ? body_nine_box_prelight_ : menu_nine_box_prelight_;
775 else if (gtk_widget_get_state(widget) == GTK_STATE_ACTIVE) 778 else if (gtk_widget_get_state(widget) == GTK_STATE_ACTIVE)
776 nine_box = is_body ? body_nine_box_active_ : menu_nine_box_active_; 779 nine_box = is_body ? body_nine_box_active_ : menu_nine_box_active_;
777 else 780 else
(...skipping 26 matching lines...) Expand all
804 GdkEventButton* event) { 807 GdkEventButton* event) {
805 if (event->type == GDK_BUTTON_PRESS && event->button == 3) { 808 if (event->type == GDK_BUTTON_PRESS && event->button == 3) {
806 ShowPopupMenu(NULL, event); 809 ShowPopupMenu(NULL, event);
807 return TRUE; 810 return TRUE;
808 } 811 }
809 return FALSE; 812 return FALSE;
810 } 813 }
811 814
812 gboolean DownloadItemGtk::OnProgressAreaExpose(GtkWidget* widget, 815 gboolean DownloadItemGtk::OnProgressAreaExpose(GtkWidget* widget,
813 GdkEventExpose* event) { 816 GdkEventExpose* event) {
817 TRACE_EVENT0("ui::gtk", "DownloadItemGtk::OnProgressAreaExpose");
818
814 GtkAllocation allocation; 819 GtkAllocation allocation;
815 gtk_widget_get_allocation(widget, &allocation); 820 gtk_widget_get_allocation(widget, &allocation);
816 821
817 // Create a transparent canvas. 822 // Create a transparent canvas.
818 gfx::CanvasSkiaPaint canvas(event, false); 823 gfx::CanvasSkiaPaint canvas(event, false);
819 if (complete_animation_.is_animating()) { 824 if (complete_animation_.is_animating()) {
820 if (get_download()->IsInterrupted()) { 825 if (get_download()->IsInterrupted()) {
821 download_util::PaintDownloadInterrupted(&canvas, 826 download_util::PaintDownloadInterrupted(&canvas,
822 allocation.x, allocation.y, 827 allocation.x, allocation.y,
823 complete_animation_.GetCurrentValue(), 828 complete_animation_.GetCurrentValue(),
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
865 if (complete_animation_.is_animating()) 870 if (complete_animation_.is_animating())
866 complete_animation_.End(); 871 complete_animation_.End();
867 872
868 if (!menu_.get()) 873 if (!menu_.get())
869 menu_.reset(new DownloadShelfContextMenuGtk(download_model_.get(), this)); 874 menu_.reset(new DownloadShelfContextMenuGtk(download_model_.get(), this));
870 menu_->Popup(button, event); 875 menu_->Popup(button, event);
871 } 876 }
872 877
873 gboolean DownloadItemGtk::OnDangerousPromptExpose(GtkWidget* widget, 878 gboolean DownloadItemGtk::OnDangerousPromptExpose(GtkWidget* widget,
874 GdkEventExpose* event) { 879 GdkEventExpose* event) {
880 TRACE_EVENT0("ui::gtk", "DownloadItemGtk::OnDangerousPromptExpose");
875 if (!theme_service_->UsingNativeTheme()) { 881 if (!theme_service_->UsingNativeTheme()) {
876 // The hbox renderer will take care of the border when in GTK mode. 882 // The hbox renderer will take care of the border when in GTK mode.
877 dangerous_nine_box_->RenderToWidget(widget); 883 dangerous_nine_box_->RenderToWidget(widget);
878 } 884 }
879 return FALSE; // Continue propagation. 885 return FALSE; // Continue propagation.
880 } 886 }
881 887
882 void DownloadItemGtk::OnDangerousAccept(GtkWidget* button) { 888 void DownloadItemGtk::OnDangerousAccept(GtkWidget* button) {
883 UMA_HISTOGRAM_LONG_TIMES("clickjacking.save_download", 889 UMA_HISTOGRAM_LONG_TIMES("clickjacking.save_download",
884 base::Time::Now() - creation_time_); 890 base::Time::Now() - creation_time_);
885 get_download()->DangerousDownloadValidated(); 891 get_download()->DangerousDownloadValidated();
886 } 892 }
887 893
888 void DownloadItemGtk::OnDangerousDecline(GtkWidget* button) { 894 void DownloadItemGtk::OnDangerousDecline(GtkWidget* button) {
889 UMA_HISTOGRAM_LONG_TIMES("clickjacking.discard_download", 895 UMA_HISTOGRAM_LONG_TIMES("clickjacking.discard_download",
890 base::Time::Now() - creation_time_); 896 base::Time::Now() - creation_time_);
891 if (get_download()->IsPartialDownload()) 897 if (get_download()->IsPartialDownload())
892 get_download()->Cancel(true); 898 get_download()->Cancel(true);
893 get_download()->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD); 899 get_download()->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD);
894 } 900 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/custom_button.cc ('k') | chrome/browser/ui/gtk/find_bar_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698