| 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 713 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 724 UseCounter::countDeprecation(document.frame(), feature); | 724 UseCounter::countDeprecation(document.frame(), feature); |
| 725 } | 725 } |
| 726 | 726 |
| 727 void UseCounter::countDeprecationIfNotPrivateScript(v8::Isolate* isolate, Execut
ionContext* context, Feature feature) | 727 void UseCounter::countDeprecationIfNotPrivateScript(v8::Isolate* isolate, Execut
ionContext* context, Feature feature) |
| 728 { | 728 { |
| 729 if (DOMWrapperWorld::current(isolate).isPrivateScriptIsolatedWorld()) | 729 if (DOMWrapperWorld::current(isolate).isPrivateScriptIsolatedWorld()) |
| 730 return; | 730 return; |
| 731 UseCounter::countDeprecation(context, feature); | 731 UseCounter::countDeprecation(context, feature); |
| 732 } | 732 } |
| 733 | 733 |
| 734 static String replacedBy(const char* oldString, const char* newString) | 734 static const char* milestoneString(int milestone) |
| 735 { | 735 { |
| 736 return String::format("'%s' is deprecated. Please use '%s' instead.", oldStr
ing, newString); | 736 switch (milestone) { |
| 737 case 50: |
| 738 return "M50, around April 2016"; |
| 739 } |
| 740 |
| 741 ASSERT_NOT_REACHED(); |
| 742 return nullptr; |
| 743 } |
| 744 |
| 745 static String replacedBy(const char* feature, const char* replacement) |
| 746 { |
| 747 return String::format("%s is deprecated. Please use %s instead.", feature, r
eplacement); |
| 748 } |
| 749 |
| 750 static String willBeRemoved(const char* feature, int milestone, const char* deta
ils) |
| 751 { |
| 752 return String::format("%s is deprecated and will be removed in %s. See https
://www.chromestatus.com/features/%s for more details.", feature, milestoneString
(milestone), details); |
| 753 } |
| 754 |
| 755 static String replacedWillBeRemoved(const char* feature, const char* replacement
, int milestone, const char* details) |
| 756 { |
| 757 return String::format("%s is deprecated and will be removed in %s. Please us
e %s instead. See https://www.chromestatus.com/features/%s for more details.", f
eature, milestoneString(milestone), replacement, details); |
| 737 } | 758 } |
| 738 | 759 |
| 739 String UseCounter::deprecationMessage(Feature feature) | 760 String UseCounter::deprecationMessage(Feature feature) |
| 740 { | 761 { |
| 741 switch (feature) { | 762 switch (feature) { |
| 742 // Quota | 763 // Quota |
| 743 case PrefixedStorageInfo: | 764 case PrefixedStorageInfo: |
| 744 return "'window.webkitStorageInfo' is deprecated. Please use 'navigator.
webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead."; | 765 return replacedBy("'window.webkitStorageInfo'", "'navigator.webkitTempor
aryStorage' or 'navigator.webkitPersistentStorage'"); |
| 745 | 766 |
| 746 // Keyboard Event (DOM Level 3) | 767 // Keyboard Event (DOM Level 3) |
| 747 case KeyboardEventKeyLocation: | 768 case KeyboardEventKeyLocation: |
| 748 return replacedBy("KeyboardEvent.keyLocation", "KeyboardEvent.location")
; | 769 return replacedBy("'KeyboardEvent.keyLocation'", "'KeyboardEvent.locatio
n'"); |
| 749 | 770 |
| 750 case ConsoleMarkTimeline: | 771 case ConsoleMarkTimeline: |
| 751 return replacedBy("console.markTimeline", "console.timeStamp"); | 772 return replacedBy("'console.markTimeline'", "'console.timeStamp'"); |
| 752 | 773 |
| 753 case FileError: | 774 case FileError: |
| 754 return "FileError is deprecated. Please use the 'name' or 'message' attr
ibutes of DOMError rather than 'code'."; | 775 return "FileError is deprecated. Please use the 'name' or 'message' attr
ibutes of DOMError rather than 'code'."; |
| 755 | 776 |
| 756 case CSSStyleSheetInsertRuleOptionalArg: | 777 case CSSStyleSheetInsertRuleOptionalArg: |
| 757 return "Calling CSSStyleSheet.insertRule() with one argument is deprecat
ed. Please pass the index argument as well: insertRule(x, 0)."; | 778 return "Calling CSSStyleSheet.insertRule() with one argument is deprecat
ed. Please pass the index argument as well: insertRule(x, 0)."; |
| 758 | 779 |
| 759 case PrefixedVideoSupportsFullscreen: | 780 case PrefixedVideoSupportsFullscreen: |
| 760 return "'HTMLVideoElement.webkitSupportsFullscreen' is deprecated. Its v
alue is true if the video is loaded."; | 781 return replacedBy("'HTMLVideoElement.webkitSupportsFullscreen'", "'Docum
ent.fullscreenEnabled'"); |
| 761 | 782 |
| 762 case PrefixedVideoDisplayingFullscreen: | 783 case PrefixedVideoDisplayingFullscreen: |
| 763 return "'HTMLVideoElement.webkitDisplayingFullscreen' is deprecated. Ple
ase use the 'fullscreenchange' event instead."; | 784 return replacedBy("'HTMLVideoElement.webkitDisplayingFullscreen'", "'Doc
ument.fullscreenElement'"); |
| 764 | 785 |
| 765 case PrefixedVideoEnterFullscreen: | 786 case PrefixedVideoEnterFullscreen: |
| 766 return replacedBy("HTMLVideoElement.webkitEnterFullscreen()", "Element.r
equestFullscreen()"); | 787 return replacedBy("'HTMLVideoElement.webkitEnterFullscreen()'", "'Elemen
t.requestFullscreen()'"); |
| 767 | 788 |
| 768 case PrefixedVideoExitFullscreen: | 789 case PrefixedVideoExitFullscreen: |
| 769 return replacedBy("HTMLVideoElement.webkitExitFullscreen()", "Document.e
xitFullscreen()"); | 790 return replacedBy("'HTMLVideoElement.webkitExitFullscreen()'", "'Documen
t.exitFullscreen()'"); |
| 770 | 791 |
| 771 case PrefixedVideoEnterFullScreen: | 792 case PrefixedVideoEnterFullScreen: |
| 772 return replacedBy("HTMLVideoElement.webkitEnterFullScreen()", "Element.r
equestFullscreen()"); | 793 return replacedBy("'HTMLVideoElement.webkitEnterFullScreen()'", "'Elemen
t.requestFullscreen()'"); |
| 773 | 794 |
| 774 case PrefixedVideoExitFullScreen: | 795 case PrefixedVideoExitFullScreen: |
| 775 return replacedBy("HTMLVideoElement.webkitExitFullScreen()", "Document.e
xitFullscreen()"); | 796 return replacedBy("'HTMLVideoElement.webkitExitFullScreen()'", "'Documen
t.exitFullscreen()'"); |
| 776 | 797 |
| 777 case PrefixedIndexedDB: | 798 case PrefixedIndexedDB: |
| 778 return replacedBy("webkitIndexedDB", "indexedDB"); | 799 return replacedBy("'webkitIndexedDB'", "'indexedDB'"); |
| 779 | 800 |
| 780 case PrefixedIDBCursorConstructor: | 801 case PrefixedIDBCursorConstructor: |
| 781 return replacedBy("webkitIDBCursor", "IDBCursor"); | 802 return replacedBy("'webkitIDBCursor'", "'IDBCursor'"); |
| 782 | 803 |
| 783 case PrefixedIDBDatabaseConstructor: | 804 case PrefixedIDBDatabaseConstructor: |
| 784 return replacedBy("webkitIDBDatabase", "IDBDatabase"); | 805 return replacedBy("'webkitIDBDatabase'", "'IDBDatabase'"); |
| 785 | 806 |
| 786 case PrefixedIDBFactoryConstructor: | 807 case PrefixedIDBFactoryConstructor: |
| 787 return replacedBy("webkitIDBFactory", "IDBFactory"); | 808 return replacedBy("'webkitIDBFactory'", "'IDBFactory'"); |
| 788 | 809 |
| 789 case PrefixedIDBIndexConstructor: | 810 case PrefixedIDBIndexConstructor: |
| 790 return replacedBy("webkitIDBIndex", "IDBIndex"); | 811 return replacedBy("'webkitIDBIndex'", "'IDBIndex'"); |
| 791 | 812 |
| 792 case PrefixedIDBKeyRangeConstructor: | 813 case PrefixedIDBKeyRangeConstructor: |
| 793 return replacedBy("webkitIDBKeyRange", "IDBKeyRange"); | 814 return replacedBy("'webkitIDBKeyRange'", "'IDBKeyRange'"); |
| 794 | 815 |
| 795 case PrefixedIDBObjectStoreConstructor: | 816 case PrefixedIDBObjectStoreConstructor: |
| 796 return replacedBy("webkitIDBObjectStore", "IDBObjectStore"); | 817 return replacedBy("'webkitIDBObjectStore'", "'IDBObjectStore'"); |
| 797 | 818 |
| 798 case PrefixedIDBRequestConstructor: | 819 case PrefixedIDBRequestConstructor: |
| 799 return replacedBy("webkitIDBRequest", "IDBRequest"); | 820 return replacedBy("'webkitIDBRequest'", "'IDBRequest'"); |
| 800 | 821 |
| 801 case PrefixedIDBTransactionConstructor: | 822 case PrefixedIDBTransactionConstructor: |
| 802 return replacedBy("webkitIDBTransaction", "IDBTransaction"); | 823 return replacedBy("'webkitIDBTransaction'", "'IDBTransaction'"); |
| 803 | 824 |
| 804 case PrefixedRequestAnimationFrame: | 825 case PrefixedRequestAnimationFrame: |
| 805 return "'webkitRequestAnimationFrame' is vendor-specific. Please use the
standard 'requestAnimationFrame' instead."; | 826 return "'webkitRequestAnimationFrame' is vendor-specific. Please use the
standard 'requestAnimationFrame' instead."; |
| 806 | 827 |
| 807 case PrefixedCancelAnimationFrame: | 828 case PrefixedCancelAnimationFrame: |
| 808 return "'webkitCancelAnimationFrame' is vendor-specific. Please use the
standard 'cancelAnimationFrame' instead."; | 829 return "'webkitCancelAnimationFrame' is vendor-specific. Please use the
standard 'cancelAnimationFrame' instead."; |
| 809 | 830 |
| 810 case PrefixedCancelRequestAnimationFrame: | 831 case PrefixedCancelRequestAnimationFrame: |
| 811 return "'webkitCancelRequestAnimationFrame' is vendor-specific. Please u
se the standard 'cancelAnimationFrame' instead."; | 832 return "'webkitCancelRequestAnimationFrame' is vendor-specific. Please u
se the standard 'cancelAnimationFrame' instead."; |
| 812 | 833 |
| 813 case SyncXHRWithCredentials: | 834 case SyncXHRWithCredentials: |
| 814 return "Setting 'XMLHttpRequest.withCredentials' for synchronous request
s is deprecated."; | 835 return "Setting 'XMLHttpRequest.withCredentials' for synchronous request
s is deprecated."; |
| 815 | 836 |
| 816 case PictureSourceSrc: | 837 case PictureSourceSrc: |
| 817 return "<source src> with a <picture> parent is invalid and therefore ig
nored. Please use <source srcset> instead."; | 838 return "<source src> with a <picture> parent is invalid and therefore ig
nored. Please use <source srcset> instead."; |
| 818 | 839 |
| 819 case XHRProgressEventPosition: | 840 case XHRProgressEventPosition: |
| 820 return "The XMLHttpRequest progress event property 'position' is depreca
ted. Please use 'loaded' instead."; | 841 return replacedBy("The XMLHttpRequest progress event property 'position'
", "'loaded'"); |
| 821 | 842 |
| 822 case XHRProgressEventTotalSize: | 843 case XHRProgressEventTotalSize: |
| 823 return "The XMLHttpRequest progress event property 'totalSize' is deprec
ated. Please use 'total' instead."; | 844 return replacedBy("The XMLHttpRequest progress event property 'totalSize
'", "'total'"); |
| 824 | 845 |
| 825 case ConsoleTimeline: | 846 case ConsoleTimeline: |
| 826 return replacedBy("console.timeline", "console.time"); | 847 return replacedBy("'console.timeline'", "'console.time'"); |
| 827 | 848 |
| 828 case ConsoleTimelineEnd: | 849 case ConsoleTimelineEnd: |
| 829 return replacedBy("console.timelineEnd", "console.timeEnd"); | 850 return replacedBy("'console.timelineEnd'", "'console.timeEnd'"); |
| 830 | 851 |
| 831 case XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: | 852 case XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: |
| 832 return "Synchronous XMLHttpRequest on the main thread is deprecated beca
use of its detrimental effects to the end user's experience. For more help, chec
k https://xhr.spec.whatwg.org/."; | 853 return "Synchronous XMLHttpRequest on the main thread is deprecated beca
use of its detrimental effects to the end user's experience. For more help, chec
k https://xhr.spec.whatwg.org/."; |
| 833 | 854 |
| 834 case GetMatchedCSSRules: | 855 case GetMatchedCSSRules: |
| 835 return "'getMatchedCSSRules()' is deprecated. For more help, check https
://code.google.com/p/chromium/issues/detail?id=437569#c2"; | 856 return "'getMatchedCSSRules()' is deprecated. For more help, check https
://code.google.com/p/chromium/issues/detail?id=437569#c2"; |
| 836 | 857 |
| 837 case PrefixedImageSmoothingEnabled: | 858 case PrefixedImageSmoothingEnabled: |
| 838 return replacedBy("CanvasRenderingContext2D.webkitImageSmoothingEnabled"
, "CanvasRenderingContext2D.imageSmoothingEnabled"); | 859 return replacedBy("'CanvasRenderingContext2D.webkitImageSmoothingEnabled
'", "'CanvasRenderingContext2D.imageSmoothingEnabled'"); |
| 839 | 860 |
| 840 case AudioListenerDopplerFactor: | 861 case AudioListenerDopplerFactor: |
| 841 return "dopplerFactor is deprecated and will be removed in M45 when all
doppler effects are removed"; | 862 return "dopplerFactor is deprecated and will be removed in M45 when all
doppler effects are removed"; |
| 842 | 863 |
| 843 case AudioListenerSpeedOfSound: | 864 case AudioListenerSpeedOfSound: |
| 844 return "speedOfSound is deprecated and will be removed in M45 when all d
oppler effects are removed"; | 865 return "speedOfSound is deprecated and will be removed in M45 when all d
oppler effects are removed"; |
| 845 | 866 |
| 846 case AudioListenerSetVelocity: | 867 case AudioListenerSetVelocity: |
| 847 return "setVelocity() is deprecated and will be removed in M45 when all
doppler effects are removed"; | 868 return "setVelocity() is deprecated and will be removed in M45 when all
doppler effects are removed"; |
| 848 | 869 |
| 849 case PrefixedWindowURL: | 870 case PrefixedWindowURL: |
| 850 return replacedBy("webkitURL", "URL"); | 871 return replacedBy("'webkitURL'", "'URL'"); |
| 851 | 872 |
| 852 case PrefixedAudioContext: | 873 case PrefixedAudioContext: |
| 853 return replacedBy("webkitAudioContext", "AudioContext"); | 874 return replacedBy("'webkitAudioContext'", "'AudioContext'"); |
| 854 | 875 |
| 855 case PrefixedOfflineAudioContext: | 876 case PrefixedOfflineAudioContext: |
| 856 return replacedBy("webkitOfflineAudioContext", "OfflineAudioContext"); | 877 return replacedBy("'webkitOfflineAudioContext'", "'OfflineAudioContext'"
); |
| 857 | 878 |
| 858 case RangeExpand: | 879 case RangeExpand: |
| 859 return replacedBy("Range.expand()", "Selection.modify()"); | 880 return replacedBy("'Range.expand()'", "'Selection.modify()'"); |
| 860 | 881 |
| 861 case PrefixedMediaAddKey: | 882 case PrefixedMediaAddKey: |
| 862 case PrefixedMediaGenerateKeyRequest: | 883 case PrefixedMediaGenerateKeyRequest: |
| 863 case PrefixedMediaCancelKeyRequest: | 884 case PrefixedMediaCancelKeyRequest: |
| 864 return "The prefixed Encrypted Media Extensions APIs are deprecated. Ple
ase use 'navigator.requestMediaKeySystemAccess()' instead."; | 885 return "The prefixed Encrypted Media Extensions APIs are deprecated. Ple
ase use 'navigator.requestMediaKeySystemAccess()' instead."; |
| 865 | 886 |
| 866 case CanPlayTypeKeySystem: | 887 case CanPlayTypeKeySystem: |
| 867 return "canPlayType()'s 'keySystem' parameter is deprecated. Please use
'navigator.requestMediaKeySystemAccess()' instead."; | 888 return replacedBy("canPlayType()'s 'keySystem' parameter", "'navigator.r
equestMediaKeySystemAccess()'"); |
| 868 | 889 |
| 869 // Powerful features on insecure origins (https://goo.gl/rStTGz) | 890 // Powerful features on insecure origins (https://goo.gl/rStTGz) |
| 870 case DeviceMotionInsecureOrigin: | 891 case DeviceMotionInsecureOrigin: |
| 871 return "The devicemotion event is deprecated on insecure origins, and su
pport will be removed in the future. You should consider switching your applicat
ion to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more detail
s."; | 892 return "The devicemotion event is deprecated on insecure origins, and su
pport will be removed in the future. You should consider switching your applicat
ion to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more detail
s."; |
| 872 | 893 |
| 873 case DeviceOrientationInsecureOrigin: | 894 case DeviceOrientationInsecureOrigin: |
| 874 return "The deviceorientation event is deprecated on insecure origins, a
nd support will be removed in the future. You should consider switching your app
lication to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more d
etails."; | 895 return "The deviceorientation event is deprecated on insecure origins, a
nd support will be removed in the future. You should consider switching your app
lication to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more d
etails."; |
| 875 | 896 |
| 876 case DeviceOrientationAbsoluteInsecureOrigin: | 897 case DeviceOrientationAbsoluteInsecureOrigin: |
| 877 return "The deviceorientationabsolute event is deprecated on insecure or
igins, and support will be removed in the future. You should consider switching
your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz fo
r more details."; | 898 return "The deviceorientationabsolute event is deprecated on insecure or
igins, and support will be removed in the future. You should consider switching
your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz fo
r more details."; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 891 case ElementCreateShadowRootMultipleWithUserAgentShadowRoot: | 912 case ElementCreateShadowRootMultipleWithUserAgentShadowRoot: |
| 892 return "Calling Element.createShadowRoot() for an element which already
hosts a user-agent shadow root is deprecated. See https://www.chromestatus.com/f
eatures/4668884095336448 for more details."; | 913 return "Calling Element.createShadowRoot() for an element which already
hosts a user-agent shadow root is deprecated. See https://www.chromestatus.com/f
eatures/4668884095336448 for more details."; |
| 893 | 914 |
| 894 case CSSDeepCombinator: | 915 case CSSDeepCombinator: |
| 895 return "/deep/ combinator is deprecated. See https://www.chromestatus.co
m/features/6750456638341120 for more details."; | 916 return "/deep/ combinator is deprecated. See https://www.chromestatus.co
m/features/6750456638341120 for more details."; |
| 896 | 917 |
| 897 case CSSSelectorPseudoShadow: | 918 case CSSSelectorPseudoShadow: |
| 898 return "::shadow pseudo-element is deprecated. See https://www.chromesta
tus.com/features/6750456638341120 for more details."; | 919 return "::shadow pseudo-element is deprecated. See https://www.chromesta
tus.com/features/6750456638341120 for more details."; |
| 899 | 920 |
| 900 case PrefixedMouseEventMovementX: | 921 case PrefixedMouseEventMovementX: |
| 901 return replacedBy("webkitMovementX", "movementX"); | 922 return replacedBy("'webkitMovementX'", "'movementX'"); |
| 902 | 923 |
| 903 case PrefixedMouseEventMovementY: | 924 case PrefixedMouseEventMovementY: |
| 904 return replacedBy("webkitMovementY", "movementY"); | 925 return replacedBy("'webkitMovementY'", "'movementY'"); |
| 905 | 926 |
| 906 case SVGSMILElementInDocument: | 927 case SVGSMILElementInDocument: |
| 907 case SVGSMILAnimationInImageRegardlessOfCache: | 928 case SVGSMILAnimationInImageRegardlessOfCache: |
| 908 return "SVG's SMIL animations (<animate>, <set>, etc.) are deprecated an
d will be removed. Please use CSS animations or Web animations instead."; | 929 return "SVG's SMIL animations (<animate>, <set>, etc.) are deprecated an
d will be removed. Please use CSS animations or Web animations instead."; |
| 909 | 930 |
| 910 case PrefixedPerformanceClearResourceTimings: | 931 case PrefixedPerformanceClearResourceTimings: |
| 911 return replacedBy("Performance.webkitClearResourceTimings", "Performance
.clearResourceTimings"); | 932 return replacedBy("'Performance.webkitClearResourceTimings'", "'Performa
nce.clearResourceTimings'"); |
| 912 | 933 |
| 913 case PrefixedPerformanceSetResourceTimingBufferSize: | 934 case PrefixedPerformanceSetResourceTimingBufferSize: |
| 914 return replacedBy("Performance.webkitSetResourceTimingBufferSize", "Perf
ormance.setResourceTimingBufferSize"); | 935 return replacedBy("'Performance.webkitSetResourceTimingBufferSize'", "'P
erformance.setResourceTimingBufferSize'"); |
| 915 | 936 |
| 916 case PrefixedPerformanceResourceTimingBufferFull: | 937 case PrefixedPerformanceResourceTimingBufferFull: |
| 917 return replacedBy("Performance.onwebkitresourcetimingbufferfull", "Perfo
rmance.onresourcetimingbufferfull"); | 938 return replacedBy("'Performance.onwebkitresourcetimingbufferfull'", "'Pe
rformance.onresourcetimingbufferfull'"); |
| 918 | 939 |
| 919 case BluetoothDeviceInstanceId: | 940 case BluetoothDeviceInstanceId: |
| 920 return replacedBy("BluetoothDevice.instanceID", "BluetoothDevice.id"); | 941 return replacedBy("'BluetoothDevice.instanceID'", "'BluetoothDevice.id'"
); |
| 921 | 942 |
| 922 case V8SVGElement_OffsetParent_AttributeGetter: | 943 case V8SVGElement_OffsetParent_AttributeGetter: |
| 923 return "'SVGElement.offsetParent' is deprecated and will be removed in M
50, around April 2016. See https://www.chromestatus.com/features/572491246757478
4 for more details."; | 944 return willBeRemoved("'SVGElement.offsetParent'", 50, "5724912467574784"
); |
| 924 | 945 |
| 925 case V8SVGElement_OffsetTop_AttributeGetter: | 946 case V8SVGElement_OffsetTop_AttributeGetter: |
| 926 return "'SVGElement.offsetTop' is deprecated and will be removed in M50,
around April 2016. See https://www.chromestatus.com/features/5724912467574784 f
or more details."; | 947 return willBeRemoved("'SVGElement.offsetTop'", 50, "5724912467574784"); |
| 927 | 948 |
| 928 case V8SVGElement_OffsetLeft_AttributeGetter: | 949 case V8SVGElement_OffsetLeft_AttributeGetter: |
| 929 return "'SVGElement.offsetLeft' is deprecated and will be removed in M50
, around April 2016. See https://www.chromestatus.com/features/5724912467574784
for more details."; | 950 return willBeRemoved("'SVGElement.offsetLeft'", 50, "5724912467574784"); |
| 930 | 951 |
| 931 case V8SVGElement_OffsetWidth_AttributeGetter: | 952 case V8SVGElement_OffsetWidth_AttributeGetter: |
| 932 return "'SVGElement.offsetWidth' is deprecated and will be removed in M5
0, around April 2016. See https://www.chromestatus.com/features/5724912467574784
for more details."; | 953 return willBeRemoved("'SVGElement.offsetWidth'", 50, "5724912467574784")
; |
| 933 | 954 |
| 934 case V8SVGElement_OffsetHeight_AttributeGetter: | 955 case V8SVGElement_OffsetHeight_AttributeGetter: |
| 935 return "'SVGElement.offsetHeight' is deprecated and will be removed in M
50, around April 2016. See https://www.chromestatus.com/features/572491246757478
4 for more details."; | 956 return willBeRemoved("'SVGElement.offsetHeight'", 50, "5724912467574784"
); |
| 936 | 957 |
| 937 case MediaStreamTrackGetSources: | 958 case MediaStreamTrackGetSources: |
| 938 return "MediaStreamTrack.getSources is deprecated. See https://www.chrom
estatus.com/feature/4765305641369600 for more details."; | 959 return "MediaStreamTrack.getSources is deprecated. See https://www.chrom
estatus.com/feature/4765305641369600 for more details."; |
| 939 | 960 |
| 940 case CSSXGetComputedStyleQueries: | 961 case CSSXGetComputedStyleQueries: |
| 941 return "'getComputedStyle(e).cssXx' (except .cssFloat) is deprecated and
will be removed in M50, around April 2016. Please use 'getComputedStyle(e).xx'
instead."; | 962 return replacedWillBeRemoved("'getComputedStyle(e).cssXx' (except .cssFl
oat)", "'getComputedStyle(e).xx'", 50, "5006796888473600"); |
| 942 | 963 |
| 943 // Features that aren't deprecated don't have a deprecation message. | 964 // Features that aren't deprecated don't have a deprecation message. |
| 944 default: | 965 default: |
| 945 return String(); | 966 return String(); |
| 946 } | 967 } |
| 947 } | 968 } |
| 948 | 969 |
| 949 void UseCounter::count(CSSParserMode cssParserMode, CSSPropertyID feature) | 970 void UseCounter::count(CSSParserMode cssParserMode, CSSPropertyID feature) |
| 950 { | 971 { |
| 951 ASSERT(feature >= firstCSSProperty); | 972 ASSERT(feature >= firstCSSProperty); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 980 UseCounter* UseCounter::getFrom(const StyleSheetContents* sheetContents) | 1001 UseCounter* UseCounter::getFrom(const StyleSheetContents* sheetContents) |
| 981 { | 1002 { |
| 982 // FIXME: We may want to handle stylesheets that have multiple owners | 1003 // FIXME: We may want to handle stylesheets that have multiple owners |
| 983 // https://crbug.com/242125 | 1004 // https://crbug.com/242125 |
| 984 if (sheetContents && sheetContents->hasSingleOwnerNode()) | 1005 if (sheetContents && sheetContents->hasSingleOwnerNode()) |
| 985 return getFrom(sheetContents->singleOwnerDocument()); | 1006 return getFrom(sheetContents->singleOwnerDocument()); |
| 986 return 0; | 1007 return 0; |
| 987 } | 1008 } |
| 988 | 1009 |
| 989 } // namespace blink | 1010 } // namespace blink |
| OLD | NEW |