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

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

Issue 274883002: Move didReceiveTitle and related stuff to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 7 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_frame_impl.h ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 1955 matching lines...) Expand 10 before | Expand all | Expand 10 after
1966 // Remember that we've already processed this request, so we don't update 1966 // Remember that we've already processed this request, so we don't update
1967 // the session history again. We do this regardless of whether this is 1967 // the session history again. We do this regardless of whether this is
1968 // a session history navigation, because if we attempted a session history 1968 // a session history navigation, because if we attempted a session history
1969 // navigation without valid HistoryItem state, WebCore will think it is a 1969 // navigation without valid HistoryItem state, WebCore will think it is a
1970 // new navigation. 1970 // new navigation.
1971 navigation_state->set_request_committed(true); 1971 navigation_state->set_request_committed(true);
1972 1972
1973 UpdateURL(frame); 1973 UpdateURL(frame);
1974 1974
1975 // Check whether we have new encoding name. 1975 // Check whether we have new encoding name.
1976 render_view_->UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); 1976 UpdateEncoding(frame, frame->view()->pageEncoding().utf8());
1977 } 1977 }
1978 1978
1979 void RenderFrameImpl::didClearWindowObject(blink::WebLocalFrame* frame) { 1979 void RenderFrameImpl::didClearWindowObject(blink::WebLocalFrame* frame) {
1980 DCHECK(!frame_ || frame_ == frame); 1980 DCHECK(!frame_ || frame_ == frame);
1981 // TODO(nasko): Move implementation here. Needed state: 1981 // TODO(nasko): Move implementation here. Needed state:
1982 // * enabled_bindings_ 1982 // * enabled_bindings_
1983 // * dom_automation_controller_ 1983 // * dom_automation_controller_
1984 // * stats_collection_controller_ 1984 // * stats_collection_controller_
1985 1985
1986 render_view_->didClearWindowObject(frame); 1986 render_view_->didClearWindowObject(frame);
(...skipping 19 matching lines...) Expand all
2006 } 2006 }
2007 2007
2008 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(), 2008 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(),
2009 DidCreateDocumentElement(frame)); 2009 DidCreateDocumentElement(frame));
2010 } 2010 }
2011 2011
2012 void RenderFrameImpl::didReceiveTitle(blink::WebLocalFrame* frame, 2012 void RenderFrameImpl::didReceiveTitle(blink::WebLocalFrame* frame,
2013 const blink::WebString& title, 2013 const blink::WebString& title,
2014 blink::WebTextDirection direction) { 2014 blink::WebTextDirection direction) {
2015 DCHECK(!frame_ || frame_ == frame); 2015 DCHECK(!frame_ || frame_ == frame);
2016 // TODO(nasko): Investigate wheather implementation should move here. 2016 // Ignore all but top level navigations.
2017 render_view_->didReceiveTitle(frame, title, direction); 2017 if (!frame->parent()) {
2018 base::string16 title16 = title;
2019 base::debug::TraceLog::GetInstance()->UpdateProcessLabel(
2020 routing_id_, base::UTF16ToUTF8(title16));
2021
2022 base::string16 shortened_title = title16.substr(0, kMaxTitleChars);
2023 Send(new FrameHostMsg_UpdateTitle(routing_id_,
2024 render_view_->page_id_,
2025 shortened_title, direction));
2026 }
2027
2028 // Also check whether we have new encoding name.
2029 UpdateEncoding(frame, frame->view()->pageEncoding().utf8());
2018 } 2030 }
2019 2031
2020 void RenderFrameImpl::didChangeIcon(blink::WebLocalFrame* frame, 2032 void RenderFrameImpl::didChangeIcon(blink::WebLocalFrame* frame,
2021 blink::WebIconURL::Type icon_type) { 2033 blink::WebIconURL::Type icon_type) {
2022 DCHECK(!frame_ || frame_ == frame); 2034 DCHECK(!frame_ || frame_ == frame);
2023 // TODO(nasko): Investigate wheather implementation should move here. 2035 // TODO(nasko): Investigate wheather implementation should move here.
2024 render_view_->didChangeIcon(frame, icon_type); 2036 render_view_->didChangeIcon(frame, icon_type);
2025 } 2037 }
2026 2038
2027 void RenderFrameImpl::didFinishDocumentLoad(blink::WebLocalFrame* frame) { 2039 void RenderFrameImpl::didFinishDocumentLoad(blink::WebLocalFrame* frame) {
2028 DCHECK(!frame_ || frame_ == frame); 2040 DCHECK(!frame_ || frame_ == frame);
2029 WebDataSource* ds = frame->dataSource(); 2041 WebDataSource* ds = frame->dataSource();
2030 DocumentState* document_state = DocumentState::FromDataSource(ds); 2042 DocumentState* document_state = DocumentState::FromDataSource(ds);
2031 document_state->set_finish_document_load_time(Time::Now()); 2043 document_state->set_finish_document_load_time(Time::Now());
2032 2044
2033 Send(new FrameHostMsg_DidFinishDocumentLoad(routing_id_)); 2045 Send(new FrameHostMsg_DidFinishDocumentLoad(routing_id_));
2034 2046
2035 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(), 2047 FOR_EACH_OBSERVER(RenderViewObserver, render_view_->observers(),
2036 DidFinishDocumentLoad(frame)); 2048 DidFinishDocumentLoad(frame));
2037 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidFinishDocumentLoad()); 2049 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, DidFinishDocumentLoad());
2038 2050
2039 // Check whether we have new encoding name. 2051 // Check whether we have new encoding name.
2040 render_view_->UpdateEncoding(frame, frame->view()->pageEncoding().utf8()); 2052 UpdateEncoding(frame, frame->view()->pageEncoding().utf8());
2041 } 2053 }
2042 2054
2043 void RenderFrameImpl::didHandleOnloadEvents(blink::WebLocalFrame* frame) { 2055 void RenderFrameImpl::didHandleOnloadEvents(blink::WebLocalFrame* frame) {
2044 DCHECK(!frame_ || frame_ == frame); 2056 DCHECK(!frame_ || frame_ == frame);
2045 if (!frame->parent()) 2057 if (!frame->parent())
2046 Send(new FrameHostMsg_DocumentOnLoadCompleted(routing_id_)); 2058 Send(new FrameHostMsg_DocumentOnLoadCompleted(routing_id_));
2047 } 2059 }
2048 2060
2049 void RenderFrameImpl::didFailLoad(blink::WebLocalFrame* frame, 2061 void RenderFrameImpl::didFailLoad(blink::WebLocalFrame* frame,
2050 const blink::WebURLError& error) { 2062 const blink::WebURLError& error) {
(...skipping 1243 matching lines...) Expand 10 before | Expand all | Expand 10 after
3294 if (policy == blink::WebNavigationPolicyNewBackgroundTab || 3306 if (policy == blink::WebNavigationPolicyNewBackgroundTab ||
3295 policy == blink::WebNavigationPolicyNewForegroundTab || 3307 policy == blink::WebNavigationPolicyNewForegroundTab ||
3296 policy == blink::WebNavigationPolicyNewWindow || 3308 policy == blink::WebNavigationPolicyNewWindow ||
3297 policy == blink::WebNavigationPolicyNewPopup) { 3309 policy == blink::WebNavigationPolicyNewPopup) {
3298 WebUserGestureIndicator::consumeUserGesture(); 3310 WebUserGestureIndicator::consumeUserGesture();
3299 } 3311 }
3300 3312
3301 Send(new FrameHostMsg_OpenURL(routing_id_, params)); 3313 Send(new FrameHostMsg_OpenURL(routing_id_, params));
3302 } 3314 }
3303 3315
3316 void RenderFrameImpl::UpdateEncoding(WebFrame* frame,
3317 const std::string& encoding_name) {
3318 // Only update main frame's encoding_name.
3319 if (!frame->parent())
3320 Send(new FrameHostMsg_UpdateEncoding(routing_id_, encoding_name));
3321 }
3322
3304 void RenderFrameImpl::SyncSelectionIfRequired() { 3323 void RenderFrameImpl::SyncSelectionIfRequired() {
3305 base::string16 text; 3324 base::string16 text;
3306 size_t offset; 3325 size_t offset;
3307 gfx::Range range; 3326 gfx::Range range;
3308 #if defined(ENABLE_PLUGINS) 3327 #if defined(ENABLE_PLUGINS)
3309 if (render_view_->focused_pepper_plugin_) { 3328 if (render_view_->focused_pepper_plugin_) {
3310 render_view_->focused_pepper_plugin_->GetSurroundingText(&text, &range); 3329 render_view_->focused_pepper_plugin_->GetSurroundingText(&text, &range);
3311 offset = 0; // Pepper API does not support offset reporting. 3330 offset = 0; // Pepper API does not support offset reporting.
3312 // TODO(kinaba): cut as needed. 3331 // TODO(kinaba): cut as needed.
3313 } else 3332 } else
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
3451 weak_factory_.GetWeakPtr(), 3470 weak_factory_.GetWeakPtr(),
3452 render_view_->media_player_manager_, 3471 render_view_->media_player_manager_,
3453 stream_texture_factory, 3472 stream_texture_factory,
3454 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(), 3473 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(),
3455 new RenderMediaLog()); 3474 new RenderMediaLog());
3456 } 3475 }
3457 3476
3458 #endif 3477 #endif
3459 3478
3460 } // namespace content 3479 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698