summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authorevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-01 23:57:46 +0000
committerevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-01 23:57:46 +0000
commita49e10b3dde8dfef19fb10408689b0f13e3b18ad (patch)
tree20852b67a222e27064ac34643a7ae8f179146477 /content/renderer
parentc5398d3db4c26fa00494ac223fb424c9b66b97fa (diff)
downloadchromium_src-a49e10b3dde8dfef19fb10408689b0f13e3b18ad.zip
chromium_src-a49e10b3dde8dfef19fb10408689b0f13e3b18ad.tar.gz
chromium_src-a49e10b3dde8dfef19fb10408689b0f13e3b18ad.tar.bz2
Plumb the title direction up to the renderer host
We need the title direction to properly display titles in Chrome UI. Previously I tried just modifying the title when we get it from WebKit to include directionality overrides, but the extensions API needs the underlying title without direction markers. This change plumbs the title direction up to RenderViewHostDelegate. A further patch will make use of it from there. BUG=27094 Review URL: http://codereview.chromium.org/7453050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95007 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r--content/renderer/render_view.cc25
-rw-r--r--content/renderer/render_view.h3
2 files changed, 14 insertions, 14 deletions
diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc
index 52c4982..f5b0cbe 100644
--- a/content/renderer/render_view.cc
+++ b/content/renderer/render_view.cc
@@ -1179,15 +1179,15 @@ void RenderView::UpdateURL(WebFrame* frame) {
}
// Tell the embedding application that the title of the active page has changed
-void RenderView::UpdateTitle(WebFrame* frame, const string16& title) {
- // Ignore all but top level navigations...
- if (!frame->parent()) {
- Send(new ViewHostMsg_UpdateTitle(
- routing_id_,
- page_id_,
- title.length() > content::kMaxTitleChars ?
- title.substr(0, content::kMaxTitleChars) : title));
- }
+void RenderView::UpdateTitle(WebFrame* frame, const string16& title,
+ WebTextDirection title_direction) {
+ // Ignore all but top level navigations.
+ if (frame->parent())
+ return;
+
+ string16 shortened_title = title.substr(0, content::kMaxTitleChars);
+ Send(new ViewHostMsg_UpdateTitle(routing_id_, page_id_, shortened_title,
+ title_direction));
}
void RenderView::UpdateEncoding(WebFrame* frame,
@@ -2541,9 +2541,7 @@ void RenderView::didCreateDocumentElement(WebFrame* frame) {
void RenderView::didReceiveTitle(WebFrame* frame, const WebString& title,
WebTextDirection direction) {
- // TODO: pass direction through various APIs.
- // http://code.google.com/p/chromium/issues/detail?id=79903
- UpdateTitle(frame, title);
+ UpdateTitle(frame, title, direction);
// Also check whether we have new encoding name.
UpdateEncoding(frame, frame->view()->pageEncoding().utf8());
@@ -2608,7 +2606,8 @@ void RenderView::didNavigateWithinPage(
didCommitProvisionalLoad(frame, is_new_navigation);
- UpdateTitle(frame, frame->view()->mainFrame()->dataSource()->pageTitle());
+ UpdateTitle(frame, frame->view()->mainFrame()->dataSource()->pageTitle(),
+ frame->view()->mainFrame()->dataSource()->pageTitleDirection());
}
void RenderView::didUpdateCurrentHistoryItem(WebFrame* frame) {
diff --git a/content/renderer/render_view.h b/content/renderer/render_view.h
index 7678950..0db5615 100644
--- a/content/renderer/render_view.h
+++ b/content/renderer/render_view.h
@@ -696,7 +696,8 @@ class RenderView : public RenderWidget,
virtual ~RenderView();
void UpdateURL(WebKit::WebFrame* frame);
- void UpdateTitle(WebKit::WebFrame* frame, const string16& title);
+ void UpdateTitle(WebKit::WebFrame* frame, const string16& title,
+ WebKit::WebTextDirection title_direction);
void UpdateSessionHistory(WebKit::WebFrame* frame);
// Update current main frame's encoding and send it to browser window.