Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(162)

Side by Side Diff: content/renderer/render_view.cc

Issue 7453050: Plumb the title direction up to the renderer host (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rearrange Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/renderer/render_view.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/render_view.h" 5 #include "content/renderer/render_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 1161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1172 1172
1173 // Check if the navigation was within the same page, in which case we don't 1173 // Check if the navigation was within the same page, in which case we don't
1174 // want to clear the accessibility cache. 1174 // want to clear the accessibility cache.
1175 if (accessibility_.get() && !navigation_state->was_within_same_page()) { 1175 if (accessibility_.get() && !navigation_state->was_within_same_page()) {
1176 accessibility_.reset(); 1176 accessibility_.reset();
1177 pending_accessibility_notifications_.clear(); 1177 pending_accessibility_notifications_.clear();
1178 } 1178 }
1179 } 1179 }
1180 1180
1181 // Tell the embedding application that the title of the active page has changed 1181 // Tell the embedding application that the title of the active page has changed
1182 void RenderView::UpdateTitle(WebFrame* frame, const string16& title) { 1182 void RenderView::UpdateTitle(WebFrame* frame, const string16& title,
1183 // Ignore all but top level navigations... 1183 WebTextDirection title_direction) {
1184 if (!frame->parent()) { 1184 // Ignore all but top level navigations.
1185 Send(new ViewHostMsg_UpdateTitle( 1185 if (frame->parent())
1186 routing_id_, 1186 return;
1187 page_id_, 1187
1188 title.length() > content::kMaxTitleChars ? 1188 string16 shortened_title = title.substr(0, content::kMaxTitleChars);
brettw 2011/08/01 21:40:02 Personally, I'd remove the blank line after this,
1189 title.substr(0, content::kMaxTitleChars) : title)); 1189
1190 } 1190 Send(new ViewHostMsg_UpdateTitle(routing_id_, page_id_, shortened_title,
1191 title_direction));
1191 } 1192 }
1192 1193
1193 void RenderView::UpdateEncoding(WebFrame* frame, 1194 void RenderView::UpdateEncoding(WebFrame* frame,
1194 const std::string& encoding_name) { 1195 const std::string& encoding_name) {
1195 // Only update main frame's encoding_name. 1196 // Only update main frame's encoding_name.
1196 if (webview()->mainFrame() == frame && 1197 if (webview()->mainFrame() == frame &&
1197 last_encoding_name_ != encoding_name) { 1198 last_encoding_name_ != encoding_name) {
1198 // Save the encoding name for later comparing. 1199 // Save the encoding name for later comparing.
1199 last_encoding_name_ = encoding_name; 1200 last_encoding_name_ = encoding_name;
1200 1201
(...skipping 1333 matching lines...) Expand 10 before | Expand all | Expand 10 after
2534 if (frame == webview()->mainFrame()) 2535 if (frame == webview()->mainFrame())
2535 Send(new ViewHostMsg_DocumentAvailableInMainFrame(routing_id_)); 2536 Send(new ViewHostMsg_DocumentAvailableInMainFrame(routing_id_));
2536 } 2537 }
2537 2538
2538 FOR_EACH_OBSERVER(RenderViewObserver, observers_, 2539 FOR_EACH_OBSERVER(RenderViewObserver, observers_,
2539 DidCreateDocumentElement(frame)); 2540 DidCreateDocumentElement(frame));
2540 } 2541 }
2541 2542
2542 void RenderView::didReceiveTitle(WebFrame* frame, const WebString& title, 2543 void RenderView::didReceiveTitle(WebFrame* frame, const WebString& title,
2543 WebTextDirection direction) { 2544 WebTextDirection direction) {
2544 // TODO: pass direction through various APIs. 2545 UpdateTitle(frame, title, direction);
2545 // http://code.google.com/p/chromium/issues/detail?id=79903
2546 UpdateTitle(frame, title);
2547 2546
2548 // Also check whether we have new encoding name. 2547 // Also check whether we have new encoding name.
2549 UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); 2548 UpdateEncoding(frame, frame->view()->pageEncoding().utf8());
2550 } 2549 }
2551 2550
2552 void RenderView::didChangeIcon(WebFrame* frame, WebIconURL::Type type) { 2551 void RenderView::didChangeIcon(WebFrame* frame, WebIconURL::Type type) {
2553 FOR_EACH_OBSERVER(RenderViewObserver, observers_, 2552 FOR_EACH_OBSERVER(RenderViewObserver, observers_,
2554 DidChangeIcon(frame, type)); 2553 DidChangeIcon(frame, type));
2555 } 2554 }
2556 2555
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
2601 // existing navigation state to a content-initiated navigation state. 2600 // existing navigation state to a content-initiated navigation state.
2602 // DidCreateDataSource conveniently takes care of this for us. 2601 // DidCreateDataSource conveniently takes care of this for us.
2603 didCreateDataSource(frame, frame->dataSource()); 2602 didCreateDataSource(frame, frame->dataSource());
2604 2603
2605 NavigationState* new_state = 2604 NavigationState* new_state =
2606 NavigationState::FromDataSource(frame->dataSource()); 2605 NavigationState::FromDataSource(frame->dataSource());
2607 new_state->set_was_within_same_page(true); 2606 new_state->set_was_within_same_page(true);
2608 2607
2609 didCommitProvisionalLoad(frame, is_new_navigation); 2608 didCommitProvisionalLoad(frame, is_new_navigation);
2610 2609
2611 UpdateTitle(frame, frame->view()->mainFrame()->dataSource()->pageTitle()); 2610 UpdateTitle(frame, frame->view()->mainFrame()->dataSource()->pageTitle(),
2611 frame->view()->mainFrame()->dataSource()->pageTitleDirection());
2612 } 2612 }
2613 2613
2614 void RenderView::didUpdateCurrentHistoryItem(WebFrame* frame) { 2614 void RenderView::didUpdateCurrentHistoryItem(WebFrame* frame) {
2615 StartNavStateSyncTimerIfNecessary(); 2615 StartNavStateSyncTimerIfNecessary();
2616 } 2616 }
2617 2617
2618 void RenderView::assignIdentifierToRequest( 2618 void RenderView::assignIdentifierToRequest(
2619 WebFrame* frame, unsigned identifier, const WebURLRequest& request) { 2619 WebFrame* frame, unsigned identifier, const WebURLRequest& request) {
2620 // Ignore 2620 // Ignore
2621 } 2621 }
(...skipping 1809 matching lines...) Expand 10 before | Expand all | Expand 10 after
4431 } 4431 }
4432 #endif 4432 #endif
4433 4433
4434 void RenderView::OnContextMenuClosed( 4434 void RenderView::OnContextMenuClosed(
4435 const webkit_glue::CustomContextMenuContext& custom_context) { 4435 const webkit_glue::CustomContextMenuContext& custom_context) {
4436 if (custom_context.is_pepper_menu) 4436 if (custom_context.is_pepper_menu)
4437 pepper_delegate_.OnContextMenuClosed(custom_context); 4437 pepper_delegate_.OnContextMenuClosed(custom_context);
4438 else 4438 else
4439 context_menu_node_.reset(); 4439 context_menu_node_.reset();
4440 } 4440 }
OLDNEW
« no previous file with comments | « content/renderer/render_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698