Index: chrome/browser/extensions/api/web_navigation/frame_navigation_state.cc |
diff --git a/chrome/browser/extensions/api/web_navigation/frame_navigation_state.cc b/chrome/browser/extensions/api/web_navigation/frame_navigation_state.cc |
index 8a5c546ff37d0c74020c33b4489ecca3d53a0220..17c062bffcf57d15fd30555c3af76ea091be10ff 100644 |
--- a/chrome/browser/extensions/api/web_navigation/frame_navigation_state.cc |
+++ b/chrome/browser/extensions/api/web_navigation/frame_navigation_state.cc |
@@ -103,10 +103,12 @@ void FrameNavigationState::TrackFrame(FrameID frame_id, |
} |
void FrameNavigationState::StopTrackingFramesInRVH( |
- content::RenderViewHost* render_view_host) { |
+ content::RenderViewHost* render_view_host, |
+ FrameID id_to_skip) { |
for (std::set<FrameID>::iterator frame = frame_ids_.begin(); |
frame != frame_ids_.end();) { |
- if (frame->render_view_host != render_view_host) { |
+ if (frame->render_view_host != render_view_host || |
+ *frame == id_to_skip) { |
++frame; |
continue; |
} |
@@ -182,8 +184,10 @@ bool FrameNavigationState::GetNavigationCompleted(FrameID frame_id) const { |
void FrameNavigationState::SetNavigationCommitted(FrameID frame_id) { |
DCHECK(frame_state_map_.find(frame_id) != frame_state_map_.end()); |
frame_state_map_[frame_id].is_committed = true; |
- if (frame_state_map_[frame_id].is_main_frame) |
+ if (frame_state_map_[frame_id].is_main_frame) { |
+ DCHECK(frame_ids_.size() == 1); |
Matt Perry
2012/08/02 12:59:31
nit: use DCHECK_EQ(1u, size)
jochen (gone - plz use gerrit)
2012/08/02 14:09:49
Done.
|
main_frame_id_ = frame_id; |
+ } |
} |
bool FrameNavigationState::GetNavigationCommitted(FrameID frame_id) const { |