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 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 ui::PAGE_TRANSITION_CLIENT_REDIRECT) != 0 && | 435 ui::PAGE_TRANSITION_CLIENT_REDIRECT) != 0 && |
436 committed_load_) { | 436 committed_load_) { |
437 // TODO(bmcquade): consider carrying the user_gesture bit forward to the | 437 // TODO(bmcquade): consider carrying the user_gesture bit forward to the |
438 // redirected navigation. | 438 // redirected navigation. |
439 committed_load_->NotifyClientRedirectTo(*tracker); | 439 committed_load_->NotifyClientRedirectTo(*tracker); |
440 } | 440 } |
441 | 441 |
442 committed_load_ = std::move(tracker); | 442 committed_load_ = std::move(tracker); |
443 committed_load_->Commit(navigation_handle); | 443 committed_load_->Commit(navigation_handle); |
444 DCHECK(committed_load_->did_commit()); | 444 DCHECK(committed_load_->did_commit()); |
| 445 |
| 446 for (auto& observer : testing_observers_) |
| 447 observer.OnCommit(committed_load_.get()); |
445 } | 448 } |
446 | 449 |
447 void MetricsWebContentsObserver::NavigationStopped() { | 450 void MetricsWebContentsObserver::NavigationStopped() { |
448 // TODO(csharrison): Use a more user-initiated signal for STOP. | 451 // TODO(csharrison): Use a more user-initiated signal for STOP. |
449 NotifyPageEndAllLoads(END_STOP, UserInitiatedInfo::NotUserInitiated()); | 452 NotifyPageEndAllLoads(END_STOP, UserInitiatedInfo::NotUserInitiated()); |
450 } | 453 } |
451 | 454 |
452 void MetricsWebContentsObserver::OnInputEvent( | 455 void MetricsWebContentsObserver::OnInputEvent( |
453 const blink::WebInputEvent& event) { | 456 const blink::WebInputEvent& event) { |
454 // Ignore browser navigation or reload which comes with type Undefined. | 457 // Ignore browser navigation or reload which comes with type Undefined. |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
617 if (!web_contents()->GetLastCommittedURL().SchemeIsHTTPOrHTTPS()) { | 620 if (!web_contents()->GetLastCommittedURL().SchemeIsHTTPOrHTTPS()) { |
618 RecordInternalError(ERR_IPC_FROM_BAD_URL_SCHEME); | 621 RecordInternalError(ERR_IPC_FROM_BAD_URL_SCHEME); |
619 error = true; | 622 error = true; |
620 } | 623 } |
621 | 624 |
622 if (error) | 625 if (error) |
623 return; | 626 return; |
624 | 627 |
625 committed_load_->metrics_update_dispatcher()->UpdateMetrics(render_frame_host, | 628 committed_load_->metrics_update_dispatcher()->UpdateMetrics(render_frame_host, |
626 timing, metadata); | 629 timing, metadata); |
627 | |
628 const bool is_main_frame = (render_frame_host->GetParent() == nullptr); | |
629 for (auto& observer : testing_observers_) | |
630 observer.OnTimingUpdated(is_main_frame, timing, metadata); | |
631 } | 630 } |
632 | 631 |
633 void MetricsWebContentsObserver::OnUpdateTimingOverIPC( | 632 void MetricsWebContentsObserver::OnUpdateTimingOverIPC( |
634 content::RenderFrameHost* render_frame_host, | 633 content::RenderFrameHost* render_frame_host, |
635 const mojom::PageLoadTiming& timing, | 634 const mojom::PageLoadTiming& timing, |
636 const mojom::PageLoadMetadata& metadata) { | 635 const mojom::PageLoadMetadata& metadata) { |
637 DCHECK(!base::FeatureList::IsEnabled(features::kPageLoadMetricsMojofication)); | 636 DCHECK(!base::FeatureList::IsEnabled(features::kPageLoadMetricsMojofication)); |
638 OnTimingUpdated(render_frame_host, timing, metadata); | 637 OnTimingUpdated(render_frame_host, timing, metadata); |
639 | 638 |
640 for (auto& observer : testing_observers_) | 639 for (auto& observer : testing_observers_) |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 observer_->RemoveTestingObserver(this); | 684 observer_->RemoveTestingObserver(this); |
686 observer_ = nullptr; | 685 observer_ = nullptr; |
687 } | 686 } |
688 } | 687 } |
689 | 688 |
690 void MetricsWebContentsObserver::TestingObserver::OnGoingAway() { | 689 void MetricsWebContentsObserver::TestingObserver::OnGoingAway() { |
691 observer_ = nullptr; | 690 observer_ = nullptr; |
692 } | 691 } |
693 | 692 |
694 } // namespace page_load_metrics | 693 } // namespace page_load_metrics |
OLD | NEW |