summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-14 22:55:17 +0000
committerbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-14 22:55:17 +0000
commit630e26b1eb3461ee97211856b6ceb2821e99d655 (patch)
treebde01602f2d82c833642a854a9670f7f25ebd702 /chrome
parentc82e56ca13fefb0a50662ef1cee872c06cd2b5e3 (diff)
downloadchromium_src-630e26b1eb3461ee97211856b6ceb2821e99d655.zip
chromium_src-630e26b1eb3461ee97211856b6ceb2821e99d655.tar.gz
chromium_src-630e26b1eb3461ee97211856b6ceb2821e99d655.tar.bz2
Rename various text zoom related stuff to be more generic, since we now can
optionally zoom the page. I added an easy way in render_view to toggle between text zoom and full page zoom, and allowed the embedder to specify this in the glue layer. This allows me to fix the text zoom layout test, which specifically asks that the text be zoomed. Review URL: http://codereview.chromium.org/7320 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3377 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/browser_commands.cc12
-rw-r--r--chrome/browser/render_view_host.cc4
-rw-r--r--chrome/browser/render_view_host.h9
-rw-r--r--chrome/browser/tab_contents.h1
-rw-r--r--chrome/common/common.vcproj8
-rw-r--r--chrome/common/page_zoom.h23
-rw-r--r--chrome/common/render_messages_internal.h6
-rw-r--r--chrome/common/text_zoom.h18
-rw-r--r--chrome/renderer/render_view.cc21
-rw-r--r--chrome/renderer/render_view.h11
10 files changed, 58 insertions, 55 deletions
diff --git a/chrome/browser/browser_commands.cc b/chrome/browser/browser_commands.cc
index 12d70ce..cca8754 100644
--- a/chrome/browser/browser_commands.cc
+++ b/chrome/browser/browser_commands.cc
@@ -512,8 +512,8 @@ void Browser::ExecuteCommand(int id) {
UserMetrics::RecordAction(L"ZoomPlus", profile_);
TabContents* current_tab = GetSelectedTabContents();
if (current_tab->AsWebContents()) {
- current_tab->AsWebContents()->render_view_host()->AlterTextSize(
- text_zoom::TEXT_LARGER);
+ current_tab->AsWebContents()->render_view_host()->Zoom(
+ PageZoom::LARGER);
}
break;
}
@@ -522,8 +522,8 @@ void Browser::ExecuteCommand(int id) {
UserMetrics::RecordAction(L"ZoomMinus", profile_);
TabContents* current_tab = GetSelectedTabContents();
if (current_tab->AsWebContents()) {
- current_tab->AsWebContents()->render_view_host()->AlterTextSize(
- text_zoom::TEXT_SMALLER);
+ current_tab->AsWebContents()->render_view_host()->Zoom(
+ PageZoom::SMALLER);
}
break;
}
@@ -532,8 +532,8 @@ void Browser::ExecuteCommand(int id) {
UserMetrics::RecordAction(L"ZoomNormal", profile_);
TabContents* current_tab = GetSelectedTabContents();
if (current_tab->AsWebContents()) {
- current_tab->AsWebContents()->render_view_host()->AlterTextSize(
- text_zoom::TEXT_STANDARD);
+ current_tab->AsWebContents()->render_view_host()->Zoom(
+ PageZoom::STANDARD);
}
break;
}
diff --git a/chrome/browser/render_view_host.cc b/chrome/browser/render_view_host.cc
index d269017..990e4c0 100644
--- a/chrome/browser/render_view_host.cc
+++ b/chrome/browser/render_view_host.cc
@@ -326,8 +326,8 @@ void RenderViewHost::StopFinding(bool clear_selection) {
Send(new ViewMsg_StopFinding(routing_id_, clear_selection));
}
-void RenderViewHost::AlterTextSize(text_zoom::TextSize size) {
- Send(new ViewMsg_AlterTextSize(routing_id_, size));
+void RenderViewHost::Zoom(PageZoom::Function function) {
+ Send(new ViewMsg_Zoom(routing_id_, function));
}
void RenderViewHost::SetPageEncoding(const std::wstring& encoding_name) {
diff --git a/chrome/browser/render_view_host.h b/chrome/browser/render_view_host.h
index 13b40ac..c0ebefe 100644
--- a/chrome/browser/render_view_host.h
+++ b/chrome/browser/render_view_host.h
@@ -11,6 +11,7 @@
#include "base/scoped_handle.h"
#include "chrome/browser/render_view_host_delegate.h"
#include "chrome/browser/render_widget_host.h"
+#include "chrome/common/page_zoom.h"
#ifdef CHROME_PERSONALIZATION
#include "chrome/personalization/personalization.h"
#endif
@@ -39,10 +40,6 @@ namespace net {
enum LoadState;
}
-namespace text_zoom {
-enum TextSize;
-}
-
namespace webkit_glue {
struct WebApplicationInfo;
}
@@ -188,8 +185,8 @@ class RenderViewHost : public RenderWidgetHost {
// clear the selection on the focused frame.
void StopFinding(bool clear_selection);
- // Change the text size of the page.
- void AlterTextSize(text_zoom::TextSize size);
+ // Change the zoom level of a page.
+ void Zoom(PageZoom::Function function);
// Change the encoding of the page.
void SetPageEncoding(const std::wstring& encoding_name);
diff --git a/chrome/browser/tab_contents.h b/chrome/browser/tab_contents.h
index 583358f..fc6fa04 100644
--- a/chrome/browser/tab_contents.h
+++ b/chrome/browser/tab_contents.h
@@ -14,7 +14,6 @@
#include "chrome/browser/page_navigator.h"
#include "chrome/browser/tab_contents_type.h"
#include "chrome/common/navigation_types.h"
-#include "chrome/common/text_zoom.h"
namespace gfx {
class Rect;
diff --git a/chrome/common/common.vcproj b/chrome/common/common.vcproj
index 771ff8c..8bcb3ff 100644
--- a/chrome/common/common.vcproj
+++ b/chrome/common/common.vcproj
@@ -542,6 +542,10 @@
>
</File>
<File
+ RelativePath=".\page_zoom.h"
+ >
+ </File>
+ <File
RelativePath="..\tools\build\win\precompiled.cc"
>
<FileConfiguration
@@ -658,10 +662,6 @@
>
</File>
<File
- RelativePath=".\text_zoom.h"
- >
- </File>
- <File
RelativePath=".\throb_animation.cc"
>
</File>
diff --git a/chrome/common/page_zoom.h b/chrome/common/page_zoom.h
new file mode 100644
index 0000000..17743b7
--- /dev/null
+++ b/chrome/common/page_zoom.h
@@ -0,0 +1,23 @@
+// Copyright (c) 2006-2008 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 CHROME_COMMON_PAGE_ZOOM_H_
+#define CHROME_COMMON_PAGE_ZOOM_H_
+
+// This enum is the parameter to various text/page zoom commands so we know
+// what the specific zoom command is.
+class PageZoom {
+ public:
+ enum Function {
+ SMALLER = -1,
+ STANDARD = 0,
+ LARGER = 1,
+ };
+
+ private:
+ PageZoom() {} // For scoping only.
+};
+
+#endif // CHROME_COMMON_PAGE_ZOOM_H_
+
diff --git a/chrome/common/render_messages_internal.h b/chrome/common/render_messages_internal.h
index 9480f06..b7966ac 100644
--- a/chrome/common/render_messages_internal.h
+++ b/chrome/common/render_messages_internal.h
@@ -229,9 +229,9 @@ IPC_BEGIN_MESSAGES(View, 1)
IPC_MESSAGE_ROUTED1(ViewMsg_DebugCommand,
std::wstring /* cmd */)
- // Change the text size in the renderer.
- IPC_MESSAGE_ROUTED1(ViewMsg_AlterTextSize,
- int /* enum text_zoom::TextSize from text_zoom.h */)
+ // Change the zoom level in the renderer.
+ IPC_MESSAGE_ROUTED1(ViewMsg_Zoom,
+ int /* One of PageZoom::Function */)
// Change encoding of page in the renderer.
IPC_MESSAGE_ROUTED1(ViewMsg_SetPageEncoding,
diff --git a/chrome/common/text_zoom.h b/chrome/common/text_zoom.h
deleted file mode 100644
index 1d8b127..0000000
--- a/chrome/common/text_zoom.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (c) 2006-2008 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 CHROME_COMMON_TEXT_ZOOM_H__
-#define CHROME_COMMON_TEXT_ZOOM_H__
-
-// Used in AlterTextSize IPC call.
-namespace text_zoom {
- enum TextSize {
- TEXT_SMALLER = -1,
- TEXT_STANDARD = 0,
- TEXT_LARGER = 1,
- };
-}
-
-#endif
-
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index 722e67f..748e612 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -24,8 +24,8 @@
#include "chrome/common/gfx/color_utils.h"
#include "chrome/common/jstemplate_builder.h"
#include "chrome/common/l10n_util.h"
+#include "chrome/common/page_zoom.h"
#include "chrome/common/resource_bundle.h"
-#include "chrome/common/text_zoom.h"
#include "chrome/common/thumbnail_score.h"
#include "chrome/common/chrome_plugin_lib.h"
#include "chrome/renderer/about_handler.h"
@@ -289,7 +289,7 @@ void RenderView::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(ViewMsg_SelectAll, OnSelectAll)
IPC_MESSAGE_HANDLER(ViewMsg_CopyImageAt, OnCopyImageAt)
IPC_MESSAGE_HANDLER(ViewMsg_Find, OnFind)
- IPC_MESSAGE_HANDLER(ViewMsg_AlterTextSize, OnAlterTextSize)
+ IPC_MESSAGE_HANDLER(ViewMsg_Zoom, OnZoom)
IPC_MESSAGE_HANDLER(ViewMsg_SetPageEncoding, OnSetPageEncoding)
IPC_MESSAGE_HANDLER(ViewMsg_InspectElement, OnInspectElement)
IPC_MESSAGE_HANDLER(ViewMsg_ShowJavaScriptConsole, OnShowJavaScriptConsole)
@@ -2159,16 +2159,17 @@ void RenderView::DnsPrefetch(const std::vector<std::string>& host_names) {
Send(new ViewHostMsg_DnsPrefetch(host_names));
}
-void RenderView::OnAlterTextSize(int size) {
- switch (size) {
- case text_zoom::TEXT_SMALLER:
- webview()->MakeTextSmaller();
+void RenderView::OnZoom(int function) {
+ static const bool kZoomIsTextOnly = false;
+ switch (function) {
+ case PageZoom::SMALLER:
+ webview()->ZoomOut(kZoomIsTextOnly);
break;
- case text_zoom::TEXT_STANDARD:
- webview()->MakeTextStandardSize();
+ case PageZoom::STANDARD:
+ webview()->ResetZoom();
break;
- case text_zoom::TEXT_LARGER:
- webview()->MakeTextLarger();
+ case PageZoom::LARGER:
+ webview()->ZoomIn(kZoomIsTextOnly);
break;
default:
NOTREACHED();
diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h
index 71faf63..51b9d93 100644
--- a/chrome/renderer/render_view.h
+++ b/chrome/renderer/render_view.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_RENDERER_RENDER_VIEW_H__
-#define CHROME_RENDERER_RENDER_VIEW_H__
+#ifndef CHROME_RENDERER_RENDER_VIEW_H_
+#define CHROME_RENDERER_RENDER_VIEW_H_
#include <string>
#include <vector>
@@ -14,6 +14,7 @@
#include "base/gfx/rect.h"
#include "base/timer.h"
#include "base/values.h"
+#include "chrome/common/page_zoom.h"
#include "chrome/common/resource_dispatcher.h"
#ifdef CHROME_PERSONALIZATION
#include "chrome/personalization/personalization.h"
@@ -372,7 +373,7 @@ class RenderView : public RenderWidget, public WebViewDelegate,
void OnShowJavaScriptConsole();
void OnCancelDownload(int32 download_id);
void OnFind(const FindInPageRequest& request);
- void OnAlterTextSize(int size);
+ void OnZoom(int function);
void OnSetPageEncoding(const std::wstring& encoding_name);
void OnGetAllSavableResourceLinksForCurrentPage(const GURL& page_url);
void OnGetSerializedHtmlDataForCurrentPageWithLocalLinks(
@@ -620,7 +621,7 @@ class RenderView : public RenderWidget, public WebViewDelegate,
// maintains the cache and other features of the accessibility tree.
scoped_ptr<GlueAccessibility> glue_accessibility_;
- DISALLOW_EVIL_CONSTRUCTORS(RenderView);
+ DISALLOW_COPY_AND_ASSIGN(RenderView);
};
-#endif // CHROME_RENDERER_RENDER_VIEW_H__
+#endif // CHROME_RENDERER_RENDER_VIEW_H_