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

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

Issue 9030029: GTK: A bunch more removal of deprecated raw GtkWidget access, focusing on GtkWidget->window (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: tony nits Created 8 years, 11 months 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
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/debug/trace_event.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 GtkAllocation allocation; 706 GtkAllocation allocation;
707 gtk_widget_get_allocation(widget, &allocation); 707 gtk_widget_get_allocation(widget, &allocation);
708 int border_width = gtk_container_get_border_width(GTK_CONTAINER(widget)); 708 int border_width = gtk_container_get_border_width(GTK_CONTAINER(widget));
709 int x = allocation.x + border_width; 709 int x = allocation.x + border_width;
710 int y = allocation.y + border_width; 710 int y = allocation.y + border_width;
711 int width = allocation.width - border_width * 2; 711 int width = allocation.width - border_width * 2;
712 int height = allocation.height - border_width * 2; 712 int height = allocation.height - border_width * 2;
713 713
714 if (IsDangerous()) { 714 if (IsDangerous()) {
715 // Draw a simple frame around the area when we're displaying the warning. 715 // Draw a simple frame around the area when we're displaying the warning.
716 gtk_paint_shadow(widget->style, widget->window, 716 gtk_paint_shadow(gtk_widget_get_style(widget),
717 gtk_widget_get_window(widget),
717 static_cast<GtkStateType>(widget->state), 718 static_cast<GtkStateType>(widget->state),
718 static_cast<GtkShadowType>(GTK_SHADOW_OUT), 719 static_cast<GtkShadowType>(GTK_SHADOW_OUT),
719 &e->area, widget, "frame", 720 &e->area, widget, "frame",
720 x, y, width, height); 721 x, y, width, height);
721 } else { 722 } else {
722 // Manually draw the GTK button border around the download item. We draw 723 // Manually draw the GTK button border around the download item. We draw
723 // the left part of the button (the file), a divider, and then the right 724 // the left part of the button (the file), a divider, and then the right
724 // part of the button (the menu). We can't draw a button on top of each 725 // part of the button (the menu). We can't draw a button on top of each
725 // other (*cough*Clearlooks*cough*) so instead, to draw the left part of 726 // other (*cough*Clearlooks*cough*) so instead, to draw the left part of
726 // the button, we instruct GTK to draw the entire button...with a 727 // the button, we instruct GTK to draw the entire button...with a
727 // doctored clip rectangle to the left part of the button sans 728 // doctored clip rectangle to the left part of the button sans
728 // separator. We then repeat this for the right button. 729 // separator. We then repeat this for the right button.
729 GtkStyle* style = body_.get()->style; 730 GtkStyle* style = body_.get()->style;
730 731
731 GtkAllocation left_clip; 732 GtkAllocation left_clip;
732 gtk_widget_get_allocation(body_.get(), &left_clip); 733 gtk_widget_get_allocation(body_.get(), &left_clip);
733 734
734 GtkAllocation right_clip; 735 GtkAllocation right_clip;
735 gtk_widget_get_allocation(menu_button_, &right_clip); 736 gtk_widget_get_allocation(menu_button_, &right_clip);
736 737
737 GtkShadowType body_shadow = 738 GtkShadowType body_shadow =
738 GTK_BUTTON(body_.get())->depressed ? GTK_SHADOW_IN : GTK_SHADOW_OUT; 739 GTK_BUTTON(body_.get())->depressed ? GTK_SHADOW_IN : GTK_SHADOW_OUT;
739 gtk_paint_box(style, widget->window, 740 gtk_paint_box(style,
741 gtk_widget_get_window(widget),
740 gtk_widget_get_state(body_.get()), 742 gtk_widget_get_state(body_.get()),
741 body_shadow, 743 body_shadow,
742 &left_clip, widget, "button", 744 &left_clip, widget, "button",
743 x, y, width, height); 745 x, y, width, height);
744 746
745 GtkShadowType menu_shadow = 747 GtkShadowType menu_shadow =
746 GTK_BUTTON(menu_button_)->depressed ? GTK_SHADOW_IN : GTK_SHADOW_OUT; 748 GTK_BUTTON(menu_button_)->depressed ? GTK_SHADOW_IN : GTK_SHADOW_OUT;
747 gtk_paint_box(style, widget->window, 749 gtk_paint_box(style,
750 gtk_widget_get_window(widget),
748 gtk_widget_get_state(menu_button_), 751 gtk_widget_get_state(menu_button_),
749 menu_shadow, 752 menu_shadow,
750 &right_clip, widget, "button", 753 &right_clip, widget, "button",
751 x, y, width, height); 754 x, y, width, height);
752 755
753 // Doing the math to reverse engineer where we should be drawing our line 756 // Doing the math to reverse engineer where we should be drawing our line
754 // is hard and relies on copying GTK internals, so instead steal the 757 // is hard and relies on copying GTK internals, so instead steal the
755 // allocation of the gtk arrow which is close enough (and will error on 758 // allocation of the gtk arrow which is close enough (and will error on
756 // the conservative side). 759 // the conservative side).
757 GtkAllocation arrow_allocation; 760 GtkAllocation arrow_allocation;
758 gtk_widget_get_allocation(arrow_, &arrow_allocation); 761 gtk_widget_get_allocation(arrow_, &arrow_allocation);
759 gtk_paint_vline(style, widget->window, 762 gtk_paint_vline(style,
763 gtk_widget_get_window(widget),
760 gtk_widget_get_state(widget), 764 gtk_widget_get_state(widget),
761 &e->area, widget, "button", 765 &e->area, widget, "button",
762 arrow_allocation.y, 766 arrow_allocation.y,
763 arrow_allocation.y + arrow_allocation.height, 767 arrow_allocation.y + arrow_allocation.height,
764 left_clip.x + left_clip.width); 768 left_clip.x + left_clip.width);
765 } 769 }
766 } 770 }
767 return FALSE; 771 return FALSE;
768 } 772 }
769 773
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 get_download()->DangerousDownloadValidated(); 896 get_download()->DangerousDownloadValidated();
893 } 897 }
894 898
895 void DownloadItemGtk::OnDangerousDecline(GtkWidget* button) { 899 void DownloadItemGtk::OnDangerousDecline(GtkWidget* button) {
896 UMA_HISTOGRAM_LONG_TIMES("clickjacking.discard_download", 900 UMA_HISTOGRAM_LONG_TIMES("clickjacking.discard_download",
897 base::Time::Now() - creation_time_); 901 base::Time::Now() - creation_time_);
898 if (get_download()->IsPartialDownload()) 902 if (get_download()->IsPartialDownload())
899 get_download()->Cancel(true); 903 get_download()->Cancel(true);
900 get_download()->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD); 904 get_download()->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD);
901 } 905 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc ('k') | chrome/browser/ui/gtk/gtk_chrome_link_button.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698