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 766f04a78239a2a5bc5b8d0f93cdeae9a93f373d..c624055485cec73262567bec6d07d3ed9739cbe1 100644 |
--- a/chrome/browser/extensions/api/web_navigation/frame_navigation_state.cc |
+++ b/chrome/browser/extensions/api/web_navigation/frame_navigation_state.cc |
@@ -89,6 +89,7 @@ bool FrameNavigationState::IsValidUrl(const GURL& url) const { |
} |
void FrameNavigationState::TrackFrame(FrameID frame_id, |
+ FrameID parent_frame_id, |
const GURL& url, |
bool is_main_frame, |
bool is_error_page) { |
@@ -99,6 +100,10 @@ void FrameNavigationState::TrackFrame(FrameID frame_id, |
frame_state.is_navigating = true; |
frame_state.is_committed = false; |
frame_state.is_server_redirected = false; |
+ if (!is_main_frame) |
+ frame_state.parent_frame_num = parent_frame_id.frame_num; |
+ else |
+ frame_state.parent_frame_num = -1; |
Bernhard Bauer
2012/10/12 08:32:49
What does |parent_frame_id| look like in this case
jochen (gone - plz use gerrit)
2012/10/12 10:44:48
it should, but I want to be on the safe side and n
Bernhard Bauer
2012/10/12 11:22:45
Right. Could you DCHECK that then?
|
frame_ids_.insert(frame_id); |
} |
@@ -156,6 +161,18 @@ FrameNavigationState::FrameID FrameNavigationState::GetMainFrameID() const { |
return main_frame_id_; |
} |
+FrameNavigationState::FrameID FrameNavigationState::GetParentFrameID( |
+ FrameID frame_id) const { |
+ FrameIdToStateMap::const_iterator frame_state = |
+ frame_state_map_.find(frame_id); |
+ if (frame_state == frame_state_map_.end()) { |
+ NOTREACHED(); |
+ return FrameID(); |
+ } |
+ return FrameID(frame_state->second.parent_frame_num, |
+ frame_id.render_view_host); |
+} |
+ |
void FrameNavigationState::SetErrorOccurredInFrame(FrameID frame_id) { |
DCHECK(frame_state_map_.find(frame_id) != frame_state_map_.end()); |
frame_state_map_[frame_id].error_occurred = true; |