diff options
author | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-01 23:57:46 +0000 |
---|---|---|
committer | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-01 23:57:46 +0000 |
commit | a49e10b3dde8dfef19fb10408689b0f13e3b18ad (patch) | |
tree | 20852b67a222e27064ac34643a7ae8f179146477 /content/renderer | |
parent | c5398d3db4c26fa00494ac223fb424c9b66b97fa (diff) | |
download | chromium_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.cc | 25 | ||||
-rw-r--r-- | content/renderer/render_view.h | 3 |
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. |