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 |