Chromium Code Reviews| 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; |