Linux download shelf:

- Show status text.
- Pack new items on the left.

Review URL: http://codereview.chromium.org/53084

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12582 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/gtk/download_item_gtk.h b/chrome/browser/gtk/download_item_gtk.h
index 5044a25..f0f04c6 100644
--- a/chrome/browser/gtk/download_item_gtk.h
+++ b/chrome/browser/gtk/download_item_gtk.h
@@ -8,12 +8,13 @@
 #include <gtk/gtk.h>
 
 #include "base/scoped_ptr.h"
+#include "chrome/browser/download/download_manager.h"
 
 class BaseDownloadItemModel;
 class DownloadShelfContextMenuGtk;
 class NineBox;
 
-class DownloadItemGtk {
+class DownloadItemGtk : DownloadItem::Observer {
  public:
   // DownloadItemGtk takes ownership of |download_item_model|.
   DownloadItemGtk(BaseDownloadItemModel* download_item_model,
@@ -23,6 +24,9 @@
   // destroying its children. Hence we do nothing in the destructor.
   ~DownloadItemGtk();
 
+  // DownloadItem::Observer implementation
+  virtual void OnDownloadUpdated(DownloadItem* download);
+
  private:
   static void InitNineBoxes();
 
@@ -50,6 +54,9 @@
   // animation.
   GtkWidget* body_;
 
+  // The GtkLabel that holds the status text.
+  GtkWidget* status_label_;
+
   // The widget that creates a dropdown menu when pressed.
   GtkWidget* menu_button_;