Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Side by Side Diff: chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.cc

Issue 2874663005: [Page Load Metrics] Add mojom file to page load metrics. (Closed)
Patch Set: Remove unnecessary variable Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/observers/from_gws_page_load_metrics_ observer.h" 5 #include "chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_ observer.h"
6 #include <string> 6 #include <string>
7 7
8 #include "base/metrics/histogram_macros.h" 8 #include "base/metrics/histogram_macros.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" 10 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h"
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 PAGE_LOAD_HISTOGRAM( 220 PAGE_LOAD_HISTOGRAM(
221 internal::kHistogramFromGWSAbortBackgroundBeforeCommit, 221 internal::kHistogramFromGWSAbortBackgroundBeforeCommit,
222 abort_info.time_to_abort); 222 abort_info.time_to_abort);
223 break; 223 break;
224 default: 224 default:
225 NOTREACHED(); 225 NOTREACHED();
226 break; 226 break;
227 } 227 }
228 } 228 }
229 229
230 void LogForegroundDurations(const page_load_metrics::PageLoadTiming& timing, 230 void LogForegroundDurations(
231 const page_load_metrics::PageLoadExtraInfo& info, 231 const page_load_metrics::mojom::PageLoadTiming& timing,
232 base::TimeTicks app_background_time) { 232 const page_load_metrics::PageLoadExtraInfo& info,
233 base::TimeTicks app_background_time) {
233 base::Optional<base::TimeDelta> foreground_duration = 234 base::Optional<base::TimeDelta> foreground_duration =
234 GetInitialForegroundDuration(info, app_background_time); 235 GetInitialForegroundDuration(info, app_background_time);
235 if (!foreground_duration) 236 if (!foreground_duration)
236 return; 237 return;
237 238
238 if (info.did_commit) { 239 if (info.did_commit) {
239 PAGE_LOAD_LONG_HISTOGRAM(internal::kHistogramFromGWSForegroundDuration, 240 PAGE_LOAD_LONG_HISTOGRAM(internal::kHistogramFromGWSForegroundDuration,
240 foreground_duration.value()); 241 foreground_duration.value());
241 if (timing.paint_timing.first_paint && 242 if (timing.paint_timing->first_paint &&
242 timing.paint_timing.first_paint < foreground_duration) { 243 timing.paint_timing->first_paint < foreground_duration) {
243 PAGE_LOAD_LONG_HISTOGRAM( 244 PAGE_LOAD_LONG_HISTOGRAM(
244 internal::kHistogramFromGWSForegroundDurationAfterPaint, 245 internal::kHistogramFromGWSForegroundDurationAfterPaint,
245 foreground_duration.value() - 246 foreground_duration.value() -
246 timing.paint_timing.first_paint.value()); 247 timing.paint_timing->first_paint.value());
247 PAGE_LOAD_LONG_HISTOGRAM( 248 PAGE_LOAD_LONG_HISTOGRAM(
248 internal::kHistogramFromGWSForegroundDurationWithPaint, 249 internal::kHistogramFromGWSForegroundDurationWithPaint,
249 foreground_duration.value()); 250 foreground_duration.value());
250 } else { 251 } else {
251 PAGE_LOAD_LONG_HISTOGRAM( 252 PAGE_LOAD_LONG_HISTOGRAM(
252 internal::kHistogramFromGWSForegroundDurationWithoutPaint, 253 internal::kHistogramFromGWSForegroundDurationWithoutPaint,
253 foreground_duration.value()); 254 foreground_duration.value());
254 } 255 }
255 } else { 256 } else {
256 PAGE_LOAD_LONG_HISTOGRAM( 257 PAGE_LOAD_LONG_HISTOGRAM(
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 ui::PAGE_TRANSITION_LINK) && 473 ui::PAGE_TRANSITION_LINK) &&
473 ui::PageTransitionIsNewNavigation( 474 ui::PageTransitionIsNewNavigation(
474 navigation_handle->GetPageTransition())); 475 navigation_handle->GetPageTransition()));
475 476
476 logger_.SetNavigationStart(navigation_handle->NavigationStart()); 477 logger_.SetNavigationStart(navigation_handle->NavigationStart());
477 return CONTINUE_OBSERVING; 478 return CONTINUE_OBSERVING;
478 } 479 }
479 480
480 page_load_metrics::PageLoadMetricsObserver::ObservePolicy 481 page_load_metrics::PageLoadMetricsObserver::ObservePolicy
481 FromGWSPageLoadMetricsObserver::FlushMetricsOnAppEnterBackground( 482 FromGWSPageLoadMetricsObserver::FlushMetricsOnAppEnterBackground(
482 const page_load_metrics::PageLoadTiming& timing, 483 const page_load_metrics::mojom::PageLoadTiming& timing,
483 const page_load_metrics::PageLoadExtraInfo& extra_info) { 484 const page_load_metrics::PageLoadExtraInfo& extra_info) {
484 logger_.FlushMetricsOnAppEnterBackground(timing, extra_info); 485 logger_.FlushMetricsOnAppEnterBackground(timing, extra_info);
485 return STOP_OBSERVING; 486 return STOP_OBSERVING;
486 } 487 }
487 488
488 void FromGWSPageLoadMetricsObserver::OnDomContentLoadedEventStart( 489 void FromGWSPageLoadMetricsObserver::OnDomContentLoadedEventStart(
489 const page_load_metrics::PageLoadTiming& timing, 490 const page_load_metrics::mojom::PageLoadTiming& timing,
490 const page_load_metrics::PageLoadExtraInfo& extra_info) { 491 const page_load_metrics::PageLoadExtraInfo& extra_info) {
491 logger_.OnDomContentLoadedEventStart(timing, extra_info); 492 logger_.OnDomContentLoadedEventStart(timing, extra_info);
492 } 493 }
493 494
494 void FromGWSPageLoadMetricsObserver::OnLoadEventStart( 495 void FromGWSPageLoadMetricsObserver::OnLoadEventStart(
495 const page_load_metrics::PageLoadTiming& timing, 496 const page_load_metrics::mojom::PageLoadTiming& timing,
496 const page_load_metrics::PageLoadExtraInfo& extra_info) { 497 const page_load_metrics::PageLoadExtraInfo& extra_info) {
497 logger_.OnLoadEventStart(timing, extra_info); 498 logger_.OnLoadEventStart(timing, extra_info);
498 } 499 }
499 500
500 void FromGWSPageLoadMetricsObserver::OnFirstPaintInPage( 501 void FromGWSPageLoadMetricsObserver::OnFirstPaintInPage(
501 const page_load_metrics::PageLoadTiming& timing, 502 const page_load_metrics::mojom::PageLoadTiming& timing,
502 const page_load_metrics::PageLoadExtraInfo& extra_info) { 503 const page_load_metrics::PageLoadExtraInfo& extra_info) {
503 logger_.OnFirstPaintInPage(timing, extra_info); 504 logger_.OnFirstPaintInPage(timing, extra_info);
504 } 505 }
505 506
506 void FromGWSPageLoadMetricsObserver::OnFirstTextPaintInPage( 507 void FromGWSPageLoadMetricsObserver::OnFirstTextPaintInPage(
507 const page_load_metrics::PageLoadTiming& timing, 508 const page_load_metrics::mojom::PageLoadTiming& timing,
508 const page_load_metrics::PageLoadExtraInfo& extra_info) { 509 const page_load_metrics::PageLoadExtraInfo& extra_info) {
509 logger_.OnFirstTextPaintInPage(timing, extra_info); 510 logger_.OnFirstTextPaintInPage(timing, extra_info);
510 } 511 }
511 512
512 void FromGWSPageLoadMetricsObserver::OnFirstImagePaintInPage( 513 void FromGWSPageLoadMetricsObserver::OnFirstImagePaintInPage(
513 const page_load_metrics::PageLoadTiming& timing, 514 const page_load_metrics::mojom::PageLoadTiming& timing,
514 const page_load_metrics::PageLoadExtraInfo& extra_info) { 515 const page_load_metrics::PageLoadExtraInfo& extra_info) {
515 logger_.OnFirstImagePaintInPage(timing, extra_info); 516 logger_.OnFirstImagePaintInPage(timing, extra_info);
516 } 517 }
517 518
518 void FromGWSPageLoadMetricsObserver::OnFirstContentfulPaintInPage( 519 void FromGWSPageLoadMetricsObserver::OnFirstContentfulPaintInPage(
519 const page_load_metrics::PageLoadTiming& timing, 520 const page_load_metrics::mojom::PageLoadTiming& timing,
520 const page_load_metrics::PageLoadExtraInfo& extra_info) { 521 const page_load_metrics::PageLoadExtraInfo& extra_info) {
521 logger_.OnFirstContentfulPaintInPage(timing, extra_info); 522 logger_.OnFirstContentfulPaintInPage(timing, extra_info);
522 } 523 }
523 524
524 void FromGWSPageLoadMetricsObserver::OnParseStart( 525 void FromGWSPageLoadMetricsObserver::OnParseStart(
525 const page_load_metrics::PageLoadTiming& timing, 526 const page_load_metrics::mojom::PageLoadTiming& timing,
526 const page_load_metrics::PageLoadExtraInfo& extra_info) { 527 const page_load_metrics::PageLoadExtraInfo& extra_info) {
527 logger_.OnParseStart(timing, extra_info); 528 logger_.OnParseStart(timing, extra_info);
528 } 529 }
529 530
530 void FromGWSPageLoadMetricsObserver::OnParseStop( 531 void FromGWSPageLoadMetricsObserver::OnParseStop(
531 const page_load_metrics::PageLoadTiming& timing, 532 const page_load_metrics::mojom::PageLoadTiming& timing,
532 const page_load_metrics::PageLoadExtraInfo& extra_info) { 533 const page_load_metrics::PageLoadExtraInfo& extra_info) {
533 logger_.OnParseStop(timing, extra_info); 534 logger_.OnParseStop(timing, extra_info);
534 } 535 }
535 536
536 void FromGWSPageLoadMetricsObserver::OnComplete( 537 void FromGWSPageLoadMetricsObserver::OnComplete(
537 const page_load_metrics::PageLoadTiming& timing, 538 const page_load_metrics::mojom::PageLoadTiming& timing,
538 const page_load_metrics::PageLoadExtraInfo& extra_info) { 539 const page_load_metrics::PageLoadExtraInfo& extra_info) {
539 logger_.OnComplete(timing, extra_info); 540 logger_.OnComplete(timing, extra_info);
540 } 541 }
541 542
542 void FromGWSPageLoadMetricsObserver::OnFailedProvisionalLoad( 543 void FromGWSPageLoadMetricsObserver::OnFailedProvisionalLoad(
543 const page_load_metrics::FailedProvisionalLoadInfo& failed_load_info, 544 const page_load_metrics::FailedProvisionalLoadInfo& failed_load_info,
544 const page_load_metrics::PageLoadExtraInfo& extra_info) { 545 const page_load_metrics::PageLoadExtraInfo& extra_info) {
545 logger_.OnFailedProvisionalLoad(failed_load_info, extra_info); 546 logger_.OnFailedProvisionalLoad(failed_load_info, extra_info);
546 } 547 }
547 548
548 void FromGWSPageLoadMetricsObserver::OnUserInput( 549 void FromGWSPageLoadMetricsObserver::OnUserInput(
549 const blink::WebInputEvent& event) { 550 const blink::WebInputEvent& event) {
550 logger_.OnUserInput(event); 551 logger_.OnUserInput(event);
551 } 552 }
552 553
553 void FromGWSPageLoadMetricsLogger::OnComplete( 554 void FromGWSPageLoadMetricsLogger::OnComplete(
554 const page_load_metrics::PageLoadTiming& timing, 555 const page_load_metrics::mojom::PageLoadTiming& timing,
555 const page_load_metrics::PageLoadExtraInfo& extra_info) { 556 const page_load_metrics::PageLoadExtraInfo& extra_info) {
556 if (!ShouldLogPostCommitMetrics(extra_info.url)) 557 if (!ShouldLogPostCommitMetrics(extra_info.url))
557 return; 558 return;
558 559
559 page_load_metrics::PageAbortInfo abort_info = GetPageAbortInfo(extra_info); 560 page_load_metrics::PageAbortInfo abort_info = GetPageAbortInfo(extra_info);
560 if (!WasAbortedInForeground(extra_info, abort_info)) 561 if (!WasAbortedInForeground(extra_info, abort_info))
561 return; 562 return;
562 563
563 // If we did not receive any timing IPCs from the render process, we can't 564 // If we did not receive any timing IPCs from the render process, we can't
564 // know for certain if the page was truly aborted before paint, or if the 565 // know for certain if the page was truly aborted before paint, or if the
565 // abort happened before we received the IPC from the render process. Thus, we 566 // abort happened before we received the IPC from the render process. Thus, we
566 // do not log aborts for these page loads. Tracked page loads that receive no 567 // do not log aborts for these page loads. Tracked page loads that receive no
567 // timing IPCs are tracked via the ERR_NO_IPCS_RECEIVED error code in the 568 // timing IPCs are tracked via the ERR_NO_IPCS_RECEIVED error code in the
568 // PageLoad.Events.InternalError histogram, so we can keep track of how often 569 // PageLoad.Events.InternalError histogram, so we can keep track of how often
569 // this happens. 570 // this happens.
570 if (timing.IsEmpty()) 571 if (page_load_metrics::IsEmpty(timing))
571 return; 572 return;
572 573
573 if (!timing.paint_timing.first_paint || 574 if (!timing.paint_timing->first_paint ||
574 timing.paint_timing.first_paint >= abort_info.time_to_abort) { 575 timing.paint_timing->first_paint >= abort_info.time_to_abort) {
575 LogCommittedAbortsBeforePaint(abort_info.reason, abort_info.time_to_abort); 576 LogCommittedAbortsBeforePaint(abort_info.reason, abort_info.time_to_abort);
576 } else if (WasAbortedBeforeInteraction(abort_info, 577 } else if (WasAbortedBeforeInteraction(abort_info,
577 first_user_interaction_after_paint_)) { 578 first_user_interaction_after_paint_)) {
578 LogAbortsAfterPaintBeforeInteraction(abort_info); 579 LogAbortsAfterPaintBeforeInteraction(abort_info);
579 } 580 }
580 581
581 LogForegroundDurations(timing, extra_info, base::TimeTicks()); 582 LogForegroundDurations(timing, extra_info, base::TimeTicks());
582 } 583 }
583 584
584 void FromGWSPageLoadMetricsLogger::OnFailedProvisionalLoad( 585 void FromGWSPageLoadMetricsLogger::OnFailedProvisionalLoad(
585 const page_load_metrics::FailedProvisionalLoadInfo& failed_load_info, 586 const page_load_metrics::FailedProvisionalLoadInfo& failed_load_info,
586 const page_load_metrics::PageLoadExtraInfo& extra_info) { 587 const page_load_metrics::PageLoadExtraInfo& extra_info) {
587 if (!ShouldLogFailedProvisionalLoadMetrics()) 588 if (!ShouldLogFailedProvisionalLoadMetrics())
588 return; 589 return;
589 590
590 page_load_metrics::PageAbortInfo abort_info = GetPageAbortInfo(extra_info); 591 page_load_metrics::PageAbortInfo abort_info = GetPageAbortInfo(extra_info);
591 if (!WasAbortedInForeground(extra_info, abort_info)) 592 if (!WasAbortedInForeground(extra_info, abort_info))
592 return; 593 return;
593 594
594 LogProvisionalAborts(abort_info); 595 LogProvisionalAborts(abort_info);
595 596
596 LogForegroundDurations(page_load_metrics::PageLoadTiming(), extra_info, 597 LogForegroundDurations(page_load_metrics::mojom::PageLoadTiming(), extra_info,
597 base::TimeTicks()); 598 base::TimeTicks());
598 } 599 }
599 600
600 bool FromGWSPageLoadMetricsLogger::ShouldLogFailedProvisionalLoadMetrics() { 601 bool FromGWSPageLoadMetricsLogger::ShouldLogFailedProvisionalLoadMetrics() {
601 // See comment in ShouldLogPostCommitMetrics above the call to 602 // See comment in ShouldLogPostCommitMetrics above the call to
602 // IsGoogleSearchHostname for more info on this if test. 603 // IsGoogleSearchHostname for more info on this if test.
603 if (provisional_url_has_search_hostname_) 604 if (provisional_url_has_search_hostname_)
604 return false; 605 return false;
605 606
606 return previously_committed_url_is_search_results_ || 607 return previously_committed_url_is_search_results_ ||
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 bool FromGWSPageLoadMetricsLogger::ShouldLogForegroundEventAfterCommit( 642 bool FromGWSPageLoadMetricsLogger::ShouldLogForegroundEventAfterCommit(
642 const base::Optional<base::TimeDelta>& event, 643 const base::Optional<base::TimeDelta>& event,
643 const page_load_metrics::PageLoadExtraInfo& info) { 644 const page_load_metrics::PageLoadExtraInfo& info) {
644 DCHECK(info.did_commit) 645 DCHECK(info.did_commit)
645 << "ShouldLogForegroundEventAfterCommit called without committed URL."; 646 << "ShouldLogForegroundEventAfterCommit called without committed URL.";
646 return ShouldLogPostCommitMetrics(info.url) && 647 return ShouldLogPostCommitMetrics(info.url) &&
647 WasStartedInForegroundOptionalEventInForeground(event, info); 648 WasStartedInForegroundOptionalEventInForeground(event, info);
648 } 649 }
649 650
650 void FromGWSPageLoadMetricsLogger::OnDomContentLoadedEventStart( 651 void FromGWSPageLoadMetricsLogger::OnDomContentLoadedEventStart(
651 const page_load_metrics::PageLoadTiming& timing, 652 const page_load_metrics::mojom::PageLoadTiming& timing,
652 const page_load_metrics::PageLoadExtraInfo& extra_info) { 653 const page_load_metrics::PageLoadExtraInfo& extra_info) {
653 if (ShouldLogForegroundEventAfterCommit( 654 if (ShouldLogForegroundEventAfterCommit(
654 timing.document_timing.dom_content_loaded_event_start, extra_info)) { 655 timing.document_timing->dom_content_loaded_event_start, extra_info)) {
655 PAGE_LOAD_HISTOGRAM( 656 PAGE_LOAD_HISTOGRAM(
656 internal::kHistogramFromGWSDomContentLoaded, 657 internal::kHistogramFromGWSDomContentLoaded,
657 timing.document_timing.dom_content_loaded_event_start.value()); 658 timing.document_timing->dom_content_loaded_event_start.value());
658 } 659 }
659 } 660 }
660 661
661 void FromGWSPageLoadMetricsLogger::OnLoadEventStart( 662 void FromGWSPageLoadMetricsLogger::OnLoadEventStart(
662 const page_load_metrics::PageLoadTiming& timing, 663 const page_load_metrics::mojom::PageLoadTiming& timing,
663 const page_load_metrics::PageLoadExtraInfo& extra_info) { 664 const page_load_metrics::PageLoadExtraInfo& extra_info) {
664 if (ShouldLogForegroundEventAfterCommit( 665 if (ShouldLogForegroundEventAfterCommit(
665 timing.document_timing.load_event_start, extra_info)) { 666 timing.document_timing->load_event_start, extra_info)) {
666 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSLoad, 667 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSLoad,
667 timing.document_timing.load_event_start.value()); 668 timing.document_timing->load_event_start.value());
668 } 669 }
669 } 670 }
670 671
671 void FromGWSPageLoadMetricsLogger::OnFirstPaintInPage( 672 void FromGWSPageLoadMetricsLogger::OnFirstPaintInPage(
672 const page_load_metrics::PageLoadTiming& timing, 673 const page_load_metrics::mojom::PageLoadTiming& timing,
673 const page_load_metrics::PageLoadExtraInfo& extra_info) { 674 const page_load_metrics::PageLoadExtraInfo& extra_info) {
674 if (ShouldLogForegroundEventAfterCommit(timing.paint_timing.first_paint, 675 if (ShouldLogForegroundEventAfterCommit(timing.paint_timing->first_paint,
675 extra_info)) { 676 extra_info)) {
676 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSFirstPaint, 677 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSFirstPaint,
677 timing.paint_timing.first_paint.value()); 678 timing.paint_timing->first_paint.value());
678 } 679 }
679 first_paint_triggered_ = true; 680 first_paint_triggered_ = true;
680 } 681 }
681 682
682 void FromGWSPageLoadMetricsLogger::OnFirstTextPaintInPage( 683 void FromGWSPageLoadMetricsLogger::OnFirstTextPaintInPage(
683 const page_load_metrics::PageLoadTiming& timing, 684 const page_load_metrics::mojom::PageLoadTiming& timing,
684 const page_load_metrics::PageLoadExtraInfo& extra_info) { 685 const page_load_metrics::PageLoadExtraInfo& extra_info) {
685 if (ShouldLogForegroundEventAfterCommit(timing.paint_timing.first_text_paint, 686 if (ShouldLogForegroundEventAfterCommit(timing.paint_timing->first_text_paint,
686 extra_info)) { 687 extra_info)) {
687 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSFirstTextPaint, 688 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSFirstTextPaint,
688 timing.paint_timing.first_text_paint.value()); 689 timing.paint_timing->first_text_paint.value());
689 } 690 }
690 } 691 }
691 692
692 void FromGWSPageLoadMetricsLogger::OnFirstImagePaintInPage( 693 void FromGWSPageLoadMetricsLogger::OnFirstImagePaintInPage(
693 const page_load_metrics::PageLoadTiming& timing, 694 const page_load_metrics::mojom::PageLoadTiming& timing,
694 const page_load_metrics::PageLoadExtraInfo& extra_info) { 695 const page_load_metrics::PageLoadExtraInfo& extra_info) {
695 if (ShouldLogForegroundEventAfterCommit(timing.paint_timing.first_image_paint, 696 if (ShouldLogForegroundEventAfterCommit(
696 extra_info)) { 697 timing.paint_timing->first_image_paint, extra_info)) {
697 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSFirstImagePaint, 698 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSFirstImagePaint,
698 timing.paint_timing.first_image_paint.value()); 699 timing.paint_timing->first_image_paint.value());
699 } 700 }
700 } 701 }
701 702
702 void FromGWSPageLoadMetricsLogger::OnFirstContentfulPaintInPage( 703 void FromGWSPageLoadMetricsLogger::OnFirstContentfulPaintInPage(
703 const page_load_metrics::PageLoadTiming& timing, 704 const page_load_metrics::mojom::PageLoadTiming& timing,
704 const page_load_metrics::PageLoadExtraInfo& extra_info) { 705 const page_load_metrics::PageLoadExtraInfo& extra_info) {
705 if (ShouldLogForegroundEventAfterCommit( 706 if (ShouldLogForegroundEventAfterCommit(
706 timing.paint_timing.first_contentful_paint, extra_info)) { 707 timing.paint_timing->first_contentful_paint, extra_info)) {
707 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSFirstContentfulPaint, 708 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSFirstContentfulPaint,
708 timing.paint_timing.first_contentful_paint.value()); 709 timing.paint_timing->first_contentful_paint.value());
709 710
710 // If we have a foreground paint, we should have a foreground parse start, 711 // If we have a foreground paint, we should have a foreground parse start,
711 // since paints can't happen until after parsing starts. 712 // since paints can't happen until after parsing starts.
712 DCHECK(WasStartedInForegroundOptionalEventInForeground( 713 DCHECK(WasStartedInForegroundOptionalEventInForeground(
713 timing.parse_timing.parse_start, extra_info)); 714 timing.parse_timing->parse_start, extra_info));
714 PAGE_LOAD_HISTOGRAM( 715 PAGE_LOAD_HISTOGRAM(
715 internal::kHistogramFromGWSParseStartToFirstContentfulPaint, 716 internal::kHistogramFromGWSParseStartToFirstContentfulPaint,
716 timing.paint_timing.first_contentful_paint.value() - 717 timing.paint_timing->first_contentful_paint.value() -
717 timing.parse_timing.parse_start.value()); 718 timing.parse_timing->parse_start.value());
718 } 719 }
719 } 720 }
720 721
721 void FromGWSPageLoadMetricsLogger::OnParseStart( 722 void FromGWSPageLoadMetricsLogger::OnParseStart(
722 const page_load_metrics::PageLoadTiming& timing, 723 const page_load_metrics::mojom::PageLoadTiming& timing,
723 const page_load_metrics::PageLoadExtraInfo& extra_info) { 724 const page_load_metrics::PageLoadExtraInfo& extra_info) {
724 if (ShouldLogForegroundEventAfterCommit(timing.parse_timing.parse_start, 725 if (ShouldLogForegroundEventAfterCommit(timing.parse_timing->parse_start,
725 extra_info)) { 726 extra_info)) {
726 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSParseStart, 727 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSParseStart,
727 timing.parse_timing.parse_start.value()); 728 timing.parse_timing->parse_start.value());
728 } 729 }
729 } 730 }
730 731
731 void FromGWSPageLoadMetricsLogger::OnParseStop( 732 void FromGWSPageLoadMetricsLogger::OnParseStop(
732 const page_load_metrics::PageLoadTiming& timing, 733 const page_load_metrics::mojom::PageLoadTiming& timing,
733 const page_load_metrics::PageLoadExtraInfo& extra_info) { 734 const page_load_metrics::PageLoadExtraInfo& extra_info) {
734 if (ShouldLogForegroundEventAfterCommit(timing.parse_timing.parse_stop, 735 if (ShouldLogForegroundEventAfterCommit(timing.parse_timing->parse_stop,
735 extra_info)) { 736 extra_info)) {
736 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSParseDuration, 737 PAGE_LOAD_HISTOGRAM(internal::kHistogramFromGWSParseDuration,
737 timing.parse_timing.parse_stop.value() - 738 timing.parse_timing->parse_stop.value() -
738 timing.parse_timing.parse_start.value()); 739 timing.parse_timing->parse_start.value());
739 } 740 }
740 } 741 }
741 742
742 void FromGWSPageLoadMetricsLogger::OnUserInput( 743 void FromGWSPageLoadMetricsLogger::OnUserInput(
743 const blink::WebInputEvent& event) { 744 const blink::WebInputEvent& event) {
744 if (first_paint_triggered_ && !first_user_interaction_after_paint_) { 745 if (first_paint_triggered_ && !first_user_interaction_after_paint_) {
745 DCHECK(!navigation_start_.is_null()); 746 DCHECK(!navigation_start_.is_null());
746 first_user_interaction_after_paint_ = 747 first_user_interaction_after_paint_ =
747 base::TimeTicks::Now() - navigation_start_; 748 base::TimeTicks::Now() - navigation_start_;
748 } 749 }
749 } 750 }
750 751
751 void FromGWSPageLoadMetricsLogger::FlushMetricsOnAppEnterBackground( 752 void FromGWSPageLoadMetricsLogger::FlushMetricsOnAppEnterBackground(
752 const page_load_metrics::PageLoadTiming& timing, 753 const page_load_metrics::mojom::PageLoadTiming& timing,
753 const page_load_metrics::PageLoadExtraInfo& extra_info) { 754 const page_load_metrics::PageLoadExtraInfo& extra_info) {
754 LogForegroundDurations(timing, extra_info, base::TimeTicks::Now()); 755 LogForegroundDurations(timing, extra_info, base::TimeTicks::Now());
755 } 756 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698