| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google, Inc. All rights reserved. | 2 * Copyright (C) 2012 Google, Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 1232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1243 m_CSSRecorded.quickSet(property); | 1243 m_CSSRecorded.quickSet(property); |
| 1244 } | 1244 } |
| 1245 m_legacyCounter.countCSS(property); | 1245 m_legacyCounter.countCSS(property); |
| 1246 } | 1246 } |
| 1247 | 1247 |
| 1248 void UseCounter::count(Feature feature) { | 1248 void UseCounter::count(Feature feature) { |
| 1249 DCHECK(Deprecation::deprecationMessage(feature).isEmpty()); | 1249 DCHECK(Deprecation::deprecationMessage(feature).isEmpty()); |
| 1250 recordMeasurement(feature); | 1250 recordMeasurement(feature); |
| 1251 } | 1251 } |
| 1252 | 1252 |
| 1253 UseCounter* UseCounter::getFrom(const Document* document) { | |
| 1254 if (document && document->frameHost()) | |
| 1255 return &document->frameHost()->useCounter(); | |
| 1256 return 0; | |
| 1257 } | |
| 1258 | |
| 1259 UseCounter* UseCounter::getFrom(const CSSStyleSheet* sheet) { | |
| 1260 if (sheet) | |
| 1261 return getFrom(sheet->contents()); | |
| 1262 return 0; | |
| 1263 } | |
| 1264 | |
| 1265 UseCounter* UseCounter::getFrom(const StyleSheetContents* sheetContents) { | |
| 1266 // FIXME: We may want to handle stylesheets that have multiple owners | |
| 1267 // https://crbug.com/242125 | |
| 1268 if (sheetContents && sheetContents->hasSingleOwnerNode()) | |
| 1269 return getFrom(sheetContents->singleOwnerDocument()); | |
| 1270 return 0; | |
| 1271 } | |
| 1272 | |
| 1273 EnumerationHistogram& UseCounter::featuresHistogram() const { | 1253 EnumerationHistogram& UseCounter::featuresHistogram() const { |
| 1274 // Every SVGImage has it's own Page instance, and multiple web pages can | 1254 // Every SVGImage has it's own Page instance, and multiple web pages can |
| 1275 // share the usage of a single SVGImage. Ideally perhaps we'd delegate | 1255 // share the usage of a single SVGImage. Ideally perhaps we'd delegate |
| 1276 // metrics from an SVGImage to one of the Page's it's displayed in, but | 1256 // metrics from an SVGImage to one of the Page's it's displayed in, but |
| 1277 // that's tricky (SVGImage is intentionally isolated, and the Page that | 1257 // that's tricky (SVGImage is intentionally isolated, and the Page that |
| 1278 // created it may not even exist anymore). | 1258 // created it may not even exist anymore). |
| 1279 // So instead we just use a dedicated histogram for the SVG case. | 1259 // So instead we just use a dedicated histogram for the SVG case. |
| 1280 DEFINE_STATIC_LOCAL( | 1260 DEFINE_STATIC_LOCAL( |
| 1281 blink::EnumerationHistogram, histogram, | 1261 blink::EnumerationHistogram, histogram, |
| 1282 ("Blink.UseCounter.Features", blink::UseCounter::NumberOfFeatures)); | 1262 ("Blink.UseCounter.Features", blink::UseCounter::NumberOfFeatures)); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1356 } | 1336 } |
| 1357 } | 1337 } |
| 1358 | 1338 |
| 1359 if (needsPagesMeasuredUpdate) | 1339 if (needsPagesMeasuredUpdate) |
| 1360 cssPropertiesHistogram.count(totalPagesMeasuredCSSSampleId()); | 1340 cssPropertiesHistogram.count(totalPagesMeasuredCSSSampleId()); |
| 1361 | 1341 |
| 1362 m_CSSBits.clearAll(); | 1342 m_CSSBits.clearAll(); |
| 1363 } | 1343 } |
| 1364 | 1344 |
| 1365 } // namespace blink | 1345 } // namespace blink |
| OLD | NEW |