| OLD | NEW |
| 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 17 matching lines...) Expand all Loading... |
| 28 #include "core/frame/UseCounter.h" | 28 #include "core/frame/UseCounter.h" |
| 29 | 29 |
| 30 #include "core/css/CSSStyleSheet.h" | 30 #include "core/css/CSSStyleSheet.h" |
| 31 #include "core/css/StyleSheetContents.h" | 31 #include "core/css/StyleSheetContents.h" |
| 32 #include "core/dom/Document.h" | 32 #include "core/dom/Document.h" |
| 33 #include "core/dom/ExecutionContext.h" | 33 #include "core/dom/ExecutionContext.h" |
| 34 #include "core/frame/DOMWindow.h" | 34 #include "core/frame/DOMWindow.h" |
| 35 #include "core/frame/FrameConsole.h" | 35 #include "core/frame/FrameConsole.h" |
| 36 #include "core/frame/FrameHost.h" | 36 #include "core/frame/FrameHost.h" |
| 37 #include "core/frame/LocalFrame.h" | 37 #include "core/frame/LocalFrame.h" |
| 38 #include "core/workers/WorkerGlobalScope.h" |
| 38 #include "public/platform/Platform.h" | 39 #include "public/platform/Platform.h" |
| 39 | 40 |
| 40 namespace WebCore { | 41 namespace WebCore { |
| 41 | 42 |
| 42 static int totalPagesMeasuredCSSSampleId() { return 1; } | 43 static int totalPagesMeasuredCSSSampleId() { return 1; } |
| 43 | 44 |
| 44 int UseCounter::m_muteCount = 0; | 45 int UseCounter::m_muteCount = 0; |
| 45 | 46 |
| 46 // FIXME : This mapping should be autogenerated. This function should | 47 // FIXME : This mapping should be autogenerated. This function should |
| 47 // be moved to a separate file and a script run at build time | 48 // be moved to a separate file and a script run at build time |
| (...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 599 FrameHost* host = document.frameHost(); | 600 FrameHost* host = document.frameHost(); |
| 600 if (!host) | 601 if (!host) |
| 601 return; | 602 return; |
| 602 | 603 |
| 603 ASSERT(host->useCounter().deprecationMessage(feature).isEmpty()); | 604 ASSERT(host->useCounter().deprecationMessage(feature).isEmpty()); |
| 604 host->useCounter().recordMeasurement(feature); | 605 host->useCounter().recordMeasurement(feature); |
| 605 } | 606 } |
| 606 | 607 |
| 607 void UseCounter::count(const ExecutionContext* context, Feature feature) | 608 void UseCounter::count(const ExecutionContext* context, Feature feature) |
| 608 { | 609 { |
| 609 if (!context || !context->isDocument()) | 610 if (!context) |
| 610 return; | 611 return; |
| 611 count(*toDocument(context), feature); | 612 if (context->isDocument()) { |
| 613 count(*toDocument(context), feature); |
| 614 return; |
| 615 } |
| 616 if (context->isWorkerGlobalScope()) |
| 617 toWorkerGlobalScope(context)->countFeature(feature); |
| 612 } | 618 } |
| 613 | 619 |
| 614 void UseCounter::countDeprecation(ExecutionContext* context, Feature feature) | 620 void UseCounter::countDeprecation(ExecutionContext* context, Feature feature) |
| 615 { | 621 { |
| 616 if (!context || !context->isDocument()) | 622 if (!context) |
| 617 return; | 623 return; |
| 618 UseCounter::countDeprecation(*toDocument(context), feature); | 624 if (context->isDocument()) { |
| 625 UseCounter::countDeprecation(*toDocument(context), feature); |
| 626 return; |
| 627 } |
| 628 if (context->isWorkerGlobalScope()) |
| 629 toWorkerGlobalScope(context)->countDeprecation(feature); |
| 619 } | 630 } |
| 620 | 631 |
| 621 void UseCounter::countDeprecation(const DOMWindow* window, Feature feature) | 632 void UseCounter::countDeprecation(const DOMWindow* window, Feature feature) |
| 622 { | 633 { |
| 623 if (!window || !window->document()) | 634 if (!window || !window->document()) |
| 624 return; | 635 return; |
| 625 UseCounter::countDeprecation(*window->document(), feature); | 636 UseCounter::countDeprecation(*window->document(), feature); |
| 626 } | 637 } |
| 627 | 638 |
| 628 void UseCounter::countDeprecation(const Document& document, Feature feature) | 639 void UseCounter::countDeprecation(const Document& document, Feature feature) |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 775 UseCounter* UseCounter::getFrom(const StyleSheetContents* sheetContents) | 786 UseCounter* UseCounter::getFrom(const StyleSheetContents* sheetContents) |
| 776 { | 787 { |
| 777 // FIXME: We may want to handle stylesheets that have multiple owners | 788 // FIXME: We may want to handle stylesheets that have multiple owners |
| 778 // http://crbug.com/242125 | 789 // http://crbug.com/242125 |
| 779 if (sheetContents && sheetContents->hasSingleOwnerNode()) | 790 if (sheetContents && sheetContents->hasSingleOwnerNode()) |
| 780 return getFrom(sheetContents->singleOwnerDocument()); | 791 return getFrom(sheetContents->singleOwnerDocument()); |
| 781 return 0; | 792 return 0; |
| 782 } | 793 } |
| 783 | 794 |
| 784 } // namespace WebCore | 795 } // namespace WebCore |
| OLD | NEW |