Index: components/ui/zoom/page_zoom.h |
diff --git a/components/ui/zoom/page_zoom.h b/components/ui/zoom/page_zoom.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1c4de10a33580ed2d2d3e44abb6271b4370bf503 |
--- /dev/null |
+++ b/components/ui/zoom/page_zoom.h |
@@ -0,0 +1,46 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef COMPONENTS_UI_ZOOM_PAGE_ZOOM_H_ |
+#define COMPONENTS_UI_ZOOM_PAGE_ZOOM_H_ |
+ |
+#include <vector> |
+ |
+#include "base/macros.h" |
+#include "content/public/common/page_zoom.h" |
+ |
+namespace content { |
+class WebContents; |
+} |
+ |
+namespace ui_zoom { |
+ |
+// This class provides a means of zooming pages according to a predetermined |
+// set of zoom levels/factors. In future, the static methods in this class |
+// can be made non-static, with PresetZoomX() being virtual, to allow clients |
+// to create custom sets of zoom levels. |
+class PageZoom { |
+ public: |
+ // Return a sorted vector of zoom factors. The vector will consist of preset |
+ // values along with a custom value (if the custom value is not already |
+ // represented.) |
+ static std::vector<double> PresetZoomFactors(double custom_factor); |
+ |
+ // Return a sorted vector of zoom levels. The vector will consist of preset |
+ // values along with a custom value (if the custom value is not already |
+ // represented.) |
+ static std::vector<double> PresetZoomLevels(double custom_level); |
+ |
+ // Adjusts the zoom level of |web_contents|. |
+ static void Zoom(content::WebContents* web_contents, content::PageZoom zoom); |
+ |
+ private: |
+ // We don't expect (currently) to create instances of this class. |
+ PageZoom() {} |
+ DISALLOW_COPY_AND_ASSIGN(PageZoom); |
+}; |
+ |
+} // namespace ui_zoom |
+ |
+#endif // COMPONENTS_UI_ZOOM_PAGE_ZOOM_H_ |