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

Side by Side Diff: chrome/browser/extensions/api/web_navigation/frame_navigation_state.cc

Issue 13929020: Artifically delay the load finished signal until after dom content loaded (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updates Created 7 years, 8 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/extensions/api/web_navigation/frame_navigation_state.h" 5 #include "chrome/browser/extensions/api/web_navigation/frame_navigation_state.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "chrome/common/url_constants.h" 8 #include "chrome/common/url_constants.h"
9 #include "extensions/common/constants.h" 9 #include "extensions/common/constants.h"
10 10
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 bool is_iframe_srcdoc) { 98 bool is_iframe_srcdoc) {
99 FrameState& frame_state = frame_state_map_[frame_id]; 99 FrameState& frame_state = frame_state_map_[frame_id];
100 frame_state.error_occurred = is_error_page; 100 frame_state.error_occurred = is_error_page;
101 frame_state.url = url; 101 frame_state.url = url;
102 frame_state.is_main_frame = is_main_frame; 102 frame_state.is_main_frame = is_main_frame;
103 frame_state.is_iframe_srcdoc = is_iframe_srcdoc; 103 frame_state.is_iframe_srcdoc = is_iframe_srcdoc;
104 DCHECK(!is_iframe_srcdoc || url == GURL(chrome::kAboutBlankURL)); 104 DCHECK(!is_iframe_srcdoc || url == GURL(chrome::kAboutBlankURL));
105 frame_state.is_navigating = true; 105 frame_state.is_navigating = true;
106 frame_state.is_committed = false; 106 frame_state.is_committed = false;
107 frame_state.is_server_redirected = false; 107 frame_state.is_server_redirected = false;
108 frame_state.is_parsing = true;
108 if (!is_main_frame) { 109 if (!is_main_frame) {
109 frame_state.parent_frame_num = parent_frame_id.frame_num; 110 frame_state.parent_frame_num = parent_frame_id.frame_num;
110 } else { 111 } else {
111 DCHECK(parent_frame_id.frame_num == -1); 112 DCHECK(parent_frame_id.frame_num == -1);
112 frame_state.parent_frame_num = -1; 113 frame_state.parent_frame_num = -1;
113 } 114 }
114 frame_ids_.insert(frame_id); 115 frame_ids_.insert(frame_id);
115 } 116 }
116 117
117 void FrameNavigationState::FrameDetached(FrameID frame_id) { 118 void FrameNavigationState::FrameDetached(FrameID frame_id) {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 frame_state_map_[frame_id].is_navigating = false; 223 frame_state_map_[frame_id].is_navigating = false;
223 } 224 }
224 225
225 bool FrameNavigationState::GetNavigationCompleted(FrameID frame_id) const { 226 bool FrameNavigationState::GetNavigationCompleted(FrameID frame_id) const {
226 FrameIdToStateMap::const_iterator frame_state = 227 FrameIdToStateMap::const_iterator frame_state =
227 frame_state_map_.find(frame_id); 228 frame_state_map_.find(frame_id);
228 return (frame_state == frame_state_map_.end() || 229 return (frame_state == frame_state_map_.end() ||
229 !frame_state->second.is_navigating); 230 !frame_state->second.is_navigating);
230 } 231 }
231 232
233 void FrameNavigationState::SetParsingFinished(FrameID frame_id) {
234 DCHECK(frame_state_map_.find(frame_id) != frame_state_map_.end());
235 frame_state_map_[frame_id].is_parsing = false;
236 }
237
238 bool FrameNavigationState::GetParsingFinished(FrameID frame_id) const {
239 FrameIdToStateMap::const_iterator frame_state =
240 frame_state_map_.find(frame_id);
241 return (frame_state == frame_state_map_.end() ||
242 !frame_state->second.is_parsing);
243 }
244
232 void FrameNavigationState::SetNavigationCommitted(FrameID frame_id) { 245 void FrameNavigationState::SetNavigationCommitted(FrameID frame_id) {
233 DCHECK(frame_state_map_.find(frame_id) != frame_state_map_.end()); 246 DCHECK(frame_state_map_.find(frame_id) != frame_state_map_.end());
234 frame_state_map_[frame_id].is_committed = true; 247 frame_state_map_[frame_id].is_committed = true;
235 if (frame_state_map_[frame_id].is_main_frame) 248 if (frame_state_map_[frame_id].is_main_frame)
236 main_frame_id_ = frame_id; 249 main_frame_id_ = frame_id;
237 } 250 }
238 251
239 bool FrameNavigationState::GetNavigationCommitted(FrameID frame_id) const { 252 bool FrameNavigationState::GetNavigationCommitted(FrameID frame_id) const {
240 FrameIdToStateMap::const_iterator frame_state = 253 FrameIdToStateMap::const_iterator frame_state =
241 frame_state_map_.find(frame_id); 254 frame_state_map_.find(frame_id);
242 return (frame_state != frame_state_map_.end() && 255 return (frame_state != frame_state_map_.end() &&
243 frame_state->second.is_committed); 256 frame_state->second.is_committed);
244 } 257 }
245 258
246 void FrameNavigationState::SetIsServerRedirected(FrameID frame_id) { 259 void FrameNavigationState::SetIsServerRedirected(FrameID frame_id) {
247 DCHECK(frame_state_map_.find(frame_id) != frame_state_map_.end()); 260 DCHECK(frame_state_map_.find(frame_id) != frame_state_map_.end());
248 frame_state_map_[frame_id].is_server_redirected = true; 261 frame_state_map_[frame_id].is_server_redirected = true;
249 } 262 }
250 263
251 bool FrameNavigationState::GetIsServerRedirected(FrameID frame_id) const { 264 bool FrameNavigationState::GetIsServerRedirected(FrameID frame_id) const {
252 FrameIdToStateMap::const_iterator frame_state = 265 FrameIdToStateMap::const_iterator frame_state =
253 frame_state_map_.find(frame_id); 266 frame_state_map_.find(frame_id);
254 return (frame_state != frame_state_map_.end() && 267 return (frame_state != frame_state_map_.end() &&
255 frame_state->second.is_server_redirected); 268 frame_state->second.is_server_redirected);
256 } 269 }
257 270
258 } // namespace extensions 271 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698