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

Side by Side Diff: Source/core/frame/UseCounter.cpp

Issue 901143002: Support deprecation warnings in shared/service workers (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 10 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
« no previous file with comments | « Source/core/frame/UseCounter.h ('k') | Source/core/workers/WorkerGlobalScope.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright (C) 2012 Google, Inc. All rights reserved. 3 * Copyright (C) 2012 Google, Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 } 530 }
531 531
532 UseCounter::~UseCounter() 532 UseCounter::~UseCounter()
533 { 533 {
534 // We always log PageDestruction so that we have a scale for the rest of the features. 534 // We always log PageDestruction so that we have a scale for the rest of the features.
535 blink::Platform::current()->histogramEnumeration("WebCore.FeatureObserver", PageDestruction, NumberOfFeatures); 535 blink::Platform::current()->histogramEnumeration("WebCore.FeatureObserver", PageDestruction, NumberOfFeatures);
536 536
537 updateMeasurements(); 537 updateMeasurements();
538 } 538 }
539 539
540 void UseCounter::CountBits::updateMeasurements()
541 {
542 if (m_bits) {
543 for (unsigned i = 0; i < NumberOfFeatures; ++i) {
544 if (m_bits->quickGet(i))
545 blink::Platform::current()->histogramEnumeration("WebCore.Featur eObserver", i, NumberOfFeatures);
546 }
547 // Clearing count bits is timing sensitive.
548 m_bits->clearAll();
549 }
550 }
551
540 void UseCounter::updateMeasurements() 552 void UseCounter::updateMeasurements()
541 { 553 {
542 blink::Platform::current()->histogramEnumeration("WebCore.FeatureObserver", PageVisits, NumberOfFeatures); 554 blink::Platform::current()->histogramEnumeration("WebCore.FeatureObserver", PageVisits, NumberOfFeatures);
543 555 m_countBits.updateMeasurements();
544 if (m_countBits) {
545 for (unsigned i = 0; i < NumberOfFeatures; ++i) {
546 if (m_countBits->quickGet(i))
547 blink::Platform::current()->histogramEnumeration("WebCore.Featur eObserver", i, NumberOfFeatures);
548 }
549 // Clearing count bits is timing sensitive.
550 m_countBits->clearAll();
551 }
552 556
553 // FIXME: Sometimes this function is called more than once per page. The fol lowing 557 // FIXME: Sometimes this function is called more than once per page. The fol lowing
554 // bool guards against incrementing the page count when there are no CSS 558 // bool guards against incrementing the page count when there are no CSS
555 // bits set. http://crbug.com/236262. 559 // bits set. http://crbug.com/236262.
556 bool needsPagesMeasuredUpdate = false; 560 bool needsPagesMeasuredUpdate = false;
557 for (int i = firstCSSProperty; i <= lastCSSProperty; ++i) { 561 for (int i = firstCSSProperty; i <= lastCSSProperty; ++i) {
558 if (m_CSSFeatureBits.quickGet(i)) { 562 if (m_CSSFeatureBits.quickGet(i)) {
559 int cssSampleId = mapCSSPropertyIdToCSSSampleIdForHistogram(i); 563 int cssSampleId = mapCSSPropertyIdToCSSSampleIdForHistogram(i);
560 blink::Platform::current()->histogramEnumeration("WebCore.FeatureObs erver.CSSProperties", cssSampleId, maximumCSSSampleId()); 564 blink::Platform::current()->histogramEnumeration("WebCore.FeatureObs erver.CSSProperties", cssSampleId, maximumCSSSampleId());
561 needsPagesMeasuredUpdate = true; 565 needsPagesMeasuredUpdate = true;
(...skipping 12 matching lines...) Expand all
574 } 578 }
575 579
576 void UseCounter::count(const Frame* frame, Feature feature) 580 void UseCounter::count(const Frame* frame, Feature feature)
577 { 581 {
578 if (!frame) 582 if (!frame)
579 return; 583 return;
580 FrameHost* host = frame->host(); 584 FrameHost* host = frame->host();
581 if (!host) 585 if (!host)
582 return; 586 return;
583 587
584 ASSERT(host->useCounter().deprecationMessage(feature).isEmpty()); 588 ASSERT(deprecationMessage(feature).isEmpty());
585 host->useCounter().recordMeasurement(feature); 589 host->useCounter().recordMeasurement(feature);
586 } 590 }
587 591
588 void UseCounter::count(const Document& document, Feature feature) 592 void UseCounter::count(const Document& document, Feature feature)
589 { 593 {
590 count(document.frame(), feature); 594 count(document.frame(), feature);
591 } 595 }
592 596
593 void UseCounter::count(const ExecutionContext* context, Feature feature) 597 void UseCounter::count(const ExecutionContext* context, Feature feature)
594 { 598 {
(...skipping 30 matching lines...) Expand all
625 629
626 void UseCounter::countDeprecation(const LocalFrame* frame, Feature feature) 630 void UseCounter::countDeprecation(const LocalFrame* frame, Feature feature)
627 { 631 {
628 if (!frame) 632 if (!frame)
629 return; 633 return;
630 FrameHost* host = frame->host(); 634 FrameHost* host = frame->host();
631 if (!host) 635 if (!host)
632 return; 636 return;
633 637
634 if (host->useCounter().recordMeasurement(feature)) { 638 if (host->useCounter().recordMeasurement(feature)) {
635 ASSERT(!host->useCounter().deprecationMessage(feature).isEmpty()); 639 ASSERT(!deprecationMessage(feature).isEmpty());
636 frame->console().addMessage(ConsoleMessage::create(DeprecationMessageSou rce, WarningMessageLevel, host->useCounter().deprecationMessage(feature))); 640 frame->console().addMessage(ConsoleMessage::create(DeprecationMessageSou rce, WarningMessageLevel, deprecationMessage(feature)));
637 } 641 }
638 } 642 }
639 643
640 void UseCounter::countDeprecation(ExecutionContext* context, Feature feature) 644 void UseCounter::countDeprecation(ExecutionContext* context, Feature feature)
641 { 645 {
642 if (!context) 646 if (!context)
643 return; 647 return;
644 if (context->isDocument()) { 648 if (context->isDocument()) {
645 UseCounter::countDeprecation(*toDocument(context), feature); 649 UseCounter::countDeprecation(*toDocument(context), feature);
646 return; 650 return;
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 UseCounter* UseCounter::getFrom(const StyleSheetContents* sheetContents) 885 UseCounter* UseCounter::getFrom(const StyleSheetContents* sheetContents)
882 { 886 {
883 // FIXME: We may want to handle stylesheets that have multiple owners 887 // FIXME: We may want to handle stylesheets that have multiple owners
884 // http://crbug.com/242125 888 // http://crbug.com/242125
885 if (sheetContents && sheetContents->hasSingleOwnerNode()) 889 if (sheetContents && sheetContents->hasSingleOwnerNode())
886 return getFrom(sheetContents->singleOwnerDocument()); 890 return getFrom(sheetContents->singleOwnerDocument());
887 return 0; 891 return 0;
888 } 892 }
889 893
890 } // namespace blink 894 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/frame/UseCounter.h ('k') | Source/core/workers/WorkerGlobalScope.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698