Fix window zoom in a sane way, remove nasty casts.

BUG=110208, 104170
TEST=window zoom should work, as in bug 104170

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117802 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/tab_contents/tab_contents.h b/content/browser/tab_contents/tab_contents.h
index 6585c7a..36239bb 100644
--- a/content/browser/tab_contents/tab_contents.h
+++ b/content/browser/tab_contents/tab_contents.h
@@ -24,6 +24,7 @@
 #include "content/public/browser/web_contents.h"
 #include "content/public/common/renderer_preferences.h"
 #include "net/base/load_states.h"
+#include "ui/gfx/size.h"
 #include "webkit/glue/resource_type.h"
 
 #if defined(OS_WIN)
@@ -203,6 +204,7 @@
                                const std::string& content_state) OVERRIDE;
   virtual int GetMinimumZoomPercent() const OVERRIDE;
   virtual int GetMaximumZoomPercent() const OVERRIDE;
+  virtual gfx::Size GetPreferredSize() const OVERRIDE;
   virtual int GetContentRestrictions() const OVERRIDE;
   virtual WebUI::TypeID GetWebUITypeForCurrentState() OVERRIDE;
   virtual WebUI* GetWebUIForCurrentState() OVERRIDE;
@@ -628,6 +630,9 @@
   // remember it.
   bool temporary_zoom_settings_;
 
+  // The intrinsic size of the page.
+  gfx::Size preferred_size_;
+
   // Content restrictions, used to disable print/copy etc based on content's
   // (full-page plugins for now only) permissions.
   int content_restrictions_;