| Index: chrome/browser/extensions/api/web_navigation/web_navigation_api.cc
|
| diff --git a/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc b/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc
|
| index 35d271bf122c42cc7cfd38e0c132fd3cb65f716a..a2b6363e00dbd0935af8934cc2b0508e24746c7a 100644
|
| --- a/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc
|
| +++ b/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc
|
| @@ -373,7 +373,7 @@ void WebNavigationTabObserver::DidStartProvisionalLoadForFrame(
|
| frame_id.frame_num,
|
| is_main_frame,
|
| parent_frame_id.frame_num,
|
| - navigation_state_.IsMainFrame(parent_frame_id),
|
| + is_main_frame ? false : navigation_state_.IsMainFrame(parent_frame_id),
|
| navigation_state_.GetUrl(frame_id));
|
| }
|
|
|
| @@ -753,9 +753,13 @@ bool WebNavigationGetFrameFunction::RunSync() {
|
| frame_navigation_state.GetErrorOccurredInFrame(internal_frame_id);
|
| FrameNavigationState::FrameID parent_frame_id =
|
| frame_navigation_state.GetParentFrameID(internal_frame_id);
|
| - frame_details.parent_frame_id = helpers::GetFrameId(
|
| - frame_navigation_state.IsMainFrame(parent_frame_id),
|
| - parent_frame_id.frame_num);
|
| + if (parent_frame_id.frame_num == -1) {
|
| + frame_details.parent_frame_id = -1;
|
| + } else {
|
| + frame_details.parent_frame_id =
|
| + helpers::GetFrameId(frame_navigation_state.IsMainFrame(parent_frame_id),
|
| + parent_frame_id.frame_num);
|
| + }
|
| results_ = GetFrame::Results::Create(frame_details);
|
| return true;
|
| }
|
| @@ -800,9 +804,13 @@ bool WebNavigationGetAllFramesFunction::RunSync() {
|
| frame->url = frame_url.spec();
|
| frame->frame_id = helpers::GetFrameId(
|
| navigation_state.IsMainFrame(frame_id), frame_id.frame_num);
|
| - frame->parent_frame_id = helpers::GetFrameId(
|
| - navigation_state.IsMainFrame(parent_frame_id),
|
| - parent_frame_id.frame_num);
|
| + if (parent_frame_id.frame_num == -1) {
|
| + frame->parent_frame_id = -1;
|
| + } else {
|
| + frame->parent_frame_id =
|
| + helpers::GetFrameId(navigation_state.IsMainFrame(parent_frame_id),
|
| + parent_frame_id.frame_num);
|
| + }
|
| frame->process_id = frame_id.render_view_host->GetProcess()->GetID();
|
| frame->error_occurred = navigation_state.GetErrorOccurredInFrame(frame_id);
|
| result_list.push_back(frame);
|
|
|