| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/page_load_metrics/metrics_web_contents_observer.h" | 5 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <ostream> | 8 #include <ostream> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 602 } | 602 } |
| 603 | 603 |
| 604 if (!web_contents()->GetLastCommittedURL().SchemeIsHTTPOrHTTPS()) { | 604 if (!web_contents()->GetLastCommittedURL().SchemeIsHTTPOrHTTPS()) { |
| 605 RecordInternalError(ERR_IPC_FROM_BAD_URL_SCHEME); | 605 RecordInternalError(ERR_IPC_FROM_BAD_URL_SCHEME); |
| 606 error = true; | 606 error = true; |
| 607 } | 607 } |
| 608 | 608 |
| 609 if (error) | 609 if (error) |
| 610 return; | 610 return; |
| 611 | 611 |
| 612 committed_load_->UpdateTiming(render_frame_host, timing, metadata); |
| 613 |
| 612 const bool is_main_frame = (render_frame_host->GetParent() == nullptr); | 614 const bool is_main_frame = (render_frame_host->GetParent() == nullptr); |
| 613 if (is_main_frame) { | |
| 614 committed_load_->UpdateTiming(timing, metadata); | |
| 615 } else { | |
| 616 committed_load_->UpdateSubFrameTiming(render_frame_host, timing, metadata); | |
| 617 } | |
| 618 | |
| 619 for (auto& observer : testing_observers_) | 615 for (auto& observer : testing_observers_) |
| 620 observer.OnTimingUpdated(is_main_frame, timing, metadata); | 616 observer.OnTimingUpdated(is_main_frame, timing, metadata); |
| 621 } | 617 } |
| 622 | 618 |
| 623 void MetricsWebContentsObserver::OnUpdateTimingOverIPC( | 619 void MetricsWebContentsObserver::OnUpdateTimingOverIPC( |
| 624 content::RenderFrameHost* render_frame_host, | 620 content::RenderFrameHost* render_frame_host, |
| 625 const mojom::PageLoadTiming& timing, | 621 const mojom::PageLoadTiming& timing, |
| 626 const mojom::PageLoadMetadata& metadata) { | 622 const mojom::PageLoadMetadata& metadata) { |
| 627 DCHECK(!base::FeatureList::IsEnabled(features::kPageLoadMetricsMojofication)); | 623 DCHECK(!base::FeatureList::IsEnabled(features::kPageLoadMetricsMojofication)); |
| 628 OnTimingUpdated(render_frame_host, timing, metadata); | 624 OnTimingUpdated(render_frame_host, timing, metadata); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 675 observer_->RemoveTestingObserver(this); | 671 observer_->RemoveTestingObserver(this); |
| 676 observer_ = nullptr; | 672 observer_ = nullptr; |
| 677 } | 673 } |
| 678 } | 674 } |
| 679 | 675 |
| 680 void MetricsWebContentsObserver::TestingObserver::OnGoingAway() { | 676 void MetricsWebContentsObserver::TestingObserver::OnGoingAway() { |
| 681 observer_ = nullptr; | 677 observer_ = nullptr; |
| 682 } | 678 } |
| 683 | 679 |
| 684 } // namespace page_load_metrics | 680 } // namespace page_load_metrics |
| OLD | NEW |