[MS-ESI2]: Microsoft Edge / Internet Explorer ECMA-402 ECMAScript Internationalization API (2nd Edition) Specification

Similar documents
[MS-ES2017-INTL]: Microsoft Edge ECMAScript 2017 Internationalization API Specification (ECMA-402, 4th Edition, June 2017)

[MS-XHTML]: Internet Explorer Extensible HyperText Markup Language (XHTML) Standards Support Document

[MS-POINTERLOCK]: Microsoft Edge / Internet Explorer Pointer Lock Standards Support Document

[MS-TTML]: Internet Explorer Timed Text Markup Language (TTML) 1.0 Standards Support Documentation

[MS-EME]: Microsoft Edge Encrypted Media Extensions Standards Support Document

Microsoft XML Namespaces Standards Support Document

Microsoft XML Namespaces Standards Support Document

[MS-ISO10646]: Microsoft Universal Multiple-Octet Coded Character Set (UCS) Standards Support Document

[MS-POINTER]: Microsoft Edge / Internet Explorer Pointer Events Standards Support Document

[MS-XMLSS]: Microsoft XML Schema (Part 1: Structures) Standards Support Document

[MS-HVRS]: Intellectual Property Rights Notice for Open Specifications Documentation

[MS-WEBSTG]: Internet Explorer Web Storage Standards Support Document

[MS-HVRS]: Intellectual Property Rights Notice for Open Specifications Documentation

[MS-INDEXDB]: Microsoft Edge / Internet Explorer Indexed Database API Standards Support Document

[MS-DOM4]: Microsoft Edge / Internet Explorer DOM4 Standards Support Document

[MS-PICSL]: Internet Explorer PICS Label Distribution and Syntax Standards Support Document

[MS-EPUB3]: Microsoft Edge / Internet Explorer EPUB Publications Standards Support Document

[MS-CANVAS2D]: Microsoft Edge / Internet Explorer HTML Canvas 2D Context Standards Support Document

[MS-CONNMGR]: Integration Services Connection Manager File Format. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-PROPSTORE]: Property Store Binary File Format. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-CTDOC]: Word Custom Toolbar Binary File Format. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-CTDOC]: Word Custom Toolbar Binary File Format. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-MCI]: Microsoft ZIP (MSZIP) Compression and Decompression Data Structure

Integration Services Connection Manager File Format

[MS-PSRDP]: PowerShell Remote Debugging Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-FILESYNC]: File Synchronization Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-RDPET]: Remote Desktop Protocol: Telemetry Virtual Channel Extension

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

[MS-THCH-Diff]: Tracing HTTP Correlation Header Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-RDPET]: Remote Desktop Protocol: Telemetry Virtual Channel Extension

[MS-RTPRADEX]: RTP Payload for Redundant Audio Data Extensions. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-CPSP-Diff]: Connection Point Services: Phonebook Data Structure. Intellectual Property Rights Notice for Open Specifications Documentation

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

[MS-TSQLISO03-Diff]: SQL Server Transact-SQL ISO/IEC Standards Support Document

[MS-GSSA-Diff]: Generic Security Service Algorithm for Secret Key Transaction Authentication for DNS (GSS-TSIG) Protocol

[MS-SNID]: Server Network Information Discovery Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

Remote Access Server Advertisement (RASADV) Protocol

[MS-GRVRDB]: Groove RDB Commands Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-DPSMDL]: Semantic Model Definition Language Data Portability Overview

[MS-TSQLISO03]: SQL Server Transact-SQL ISO/IEC Standards Support Document

Remote Access Server Advertisement (RASADV) Protocol

[MS-PCCRTP]: Peer Content Caching and Retrieval: Hypertext Transfer Protocol (HTTP) Extensions

[MS-SNID-Diff]: Server Network Information Discovery Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

Query and Result Configuration Protocol Specification

[MS-TSQLISO03]: SQL Server Transact-SQL ISO/IEC Standards Support Document

[MS-HRL]: Intellectual Property Rights Notice for Open Specifications Documentation

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

[MS-ASNOTE]: Exchange ActiveSync: Notes Class Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-OXPHISH]: Phishing Warning Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-NCT-Diff]: Network Cost Transfer Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-NCT-Diff]: Network Cost Transfer Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-RTPRAD-Diff]: Real-Time Transport Protocol (RTP/RTCP): Redundant Audio Data Extensions

[MS-OAUTH2EX]: OAuth 2.0 Authentication Protocol Extensions. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-ASPSS]: ASP.NET State Service Database Repository Communications Protocol

[MS-RTPRAD]: Real-Time Transport Protocol (RTP/RTCP): Redundant Audio Data Extensions

[MS-SSISPARAMS-Diff]: Integration Services Project Parameter File Format. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-WDSMA]: Windows Deployment Services Multicast Application Protocol

[MS-SSDP-Diff]: SSDP: Networked Home Entertainment Devices (NHED) Extensions

File Transfer Protocol over Secure Sockets Layer (FTPS)

[MS-IMESYN]: IMESync Syntax Structure. Intellectual Property Rights Notice for Open Specifications Documentation

Intellectual Property Rights Notice for Open Specifications Documentation

[MS-DOM2CE]: Internet Explorer Extensions to the Document Object Model (DOM) Level 2 Core Specification

RTP for Application Sharing Payload Format Extensions

[MS-CAPR-Diff]: Central Access Policy Identifier (ID) Retrieval Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-SSP]: Intellectual Property Rights Notice for Open Specifications Documentation

[MS-DPIS]: Integration Services Data Portability Overview. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions

[MS-OXWSITEMID]: Web Service Item ID Algorithm. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-DPSMDL]: Semantic Model Definition Language Data Portability Overview

[MS-WDSC]: Windows Deployment Services Control Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-OXBBODY]: Best Body Retrieval Algorithm. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-CAPR]: Central Access Policy Identifier (ID) Retrieval Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

Wide Area Network Device Presence Protocol (WAN DPP)

[MC-SMP]: Session Multiplex Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

Report Definition Language Data Portability Overview

[MC-EDMX]: Entity Data Model for Data Services Packaging Format. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-RDPECLIP]: Remote Desktop Protocol: Clipboard Virtual Channel Extension

[MS-UPSSYNC]: User Profile Synchronization Stored Procedures Protocol Specification

[MS-RDPEMC]: Remote Desktop Protocol: Multiparty Virtual Channel Extension

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

[MS-WEBDAVE]: Web Distributed Authoring and Versioning Error Extensions Protocol

[MC-CCFG]: Server Cluster: Configuration (ClusCfg) Protocol

[MS-DPEDM]: Entity Data Model Data Portability Overview

[MS-RDPEPS]: Remote Desktop Protocol: Session Selection Extension

Preliminary. [MS-OXABREF]: Address Book Name Service Provider Interface (NSPI) Referral Protocol

[MS-EUMSDP]: Exchange Unified Messaging Session Description Protocol Extension

[MS-ADFSOAL]: Active Directory Federation Services OAuth Authorization Code Lookup Protocol

[MS-WDSMSI]: Windows Deployment Services Multicast Session Initiation Protocol

OData Protocol JSON Format Standards Support Document

[MS-RDPEXPS]: Remote Desktop Protocol: XML Paper Specification (XPS) Print Virtual Channel Extension

[MS-SQOS]: Storage Quality of Service Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-FSIDFT]: Indexing Dispatcher Fault Tolerance Protocol Specification

Remote Desktop Protocol: Input Virtual Channel Extension

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

[MS-DPEDMX]: Entity Data Model for Data Services Packaging Format Data Portability Overview

[MS-TPXS-Diff]: Telemetry Protocol XML Schema. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-FSSHTTPD]: Binary Data Format for File Synchronization via SOAP. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-DPREP-Diff]: Replication Data Portability Overview. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-IISS]: Internet Information Services (IIS) ServiceControl Protocol

[MS-OXABREF]: Address Book Name Service Provider Interface (NSPI) Referral Protocol

Transcription:

[MS-ESI2]: Microsoft Edge / Internet Explorer ECMA-402 ECMAScript Internationalization API (2nd Edition) Specification Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols, file formats, data portability, computer languages, and standards support. Additionally, overview documents cover inter-protocol relationships and interactions. Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you can make copies of it in order to develop implementations of the technologies that are described in this documentation and can distribute portions of it in your implementations that use these technologies or in your documentation as necessary to properly document the implementation. You can also distribute in your implementation, with or without modification, any schemas, IDLs, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications documentation. No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. Patents. Microsoft has patents that might cover your implementations of the technologies described in the Open Specifications documentation. Neither this notice nor Microsoft's delivery of this documentation grants any licenses under those patents or any other Microsoft patents. However, a given Open Specifications document might be covered by the Microsoft Open Specifications Promise or the Microsoft Community Promise. If you would prefer a written license, or if the technologies described in this documentation are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting iplg@microsoft.com. Trademarks. The names of companies and products contained in this documentation might be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights. For a list of Microsoft trademarks, visit www.microsoft.com/trademarks. Fictitious Names. The example companies, organizations, products, domain names, email addresses, logos, people, places, and events that are depicted in this documentation are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred. Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than as specifically described above, whether by implication, estoppel, or otherwise. Tools. The Open Specifications documentation does not require the use of Microsoft programming tools or programming environments in order for you to develop an implementation. If you have access to Microsoft programming tools and environments, you are free to take advantage of them. Certain Open Specifications documents are intended for use in conjunction with publicly available standards specifications and network programming art and, as such, assume that the reader either is familiar with the aforementioned material or has immediate access to it. 1 / 10

Revision Summary Date Revision History Revision Class Comments 12/7/2015 1.0 New Released new document. 3/22/2016 1.0 None No changes to the meaning, language, or formatting of the technical content. 7/19/2016 1.1 Minor Clarified the meaning of the technical content. 2 / 10

Table of Contents 1 Introduction... 4 1.1 Glossary... 4 1.2 References... 4 1.2.1 Normative References... 4 1.2.2 Informative References... 4 1.3 Microsoft Implementations... 4 1.4 Standards Support Requirements... 5 1.5 Notation... 5 2 Standards Support Statements... 6 2.1 Normative Variations... 6 2.1.1 [ECMA-402/2] Section 6.4.1 IsValidTimeZoneName (timezone)... 6 2.1.2 [ECMA-402/2] Section 11.1.1 InitializeNumberFormat (numberformat, locales, options)... 6 2.1.3 [ECMA-402/2] Section 11.3.4 Number Format Functions... 7 2.1.4 [ECMA-402/2] Section 12.3.4 DateTime Format Functions... 8 2.2 Clarifications... 8 2.3 Error Handling... 8 2.4 Security... 8 3 Change Tracking... 9 4 Index... 10 3 / 10

1 Introduction This document describes the level of support provided by Microsoft web browsers for the ECMAScript 2015 Internationalization API specification [ECMA-402/2], published June 2015. The [ECMA-402/2] specification defines the application programming interface for ECMAScript objects that support programs that need to adapt to the linguistic and cultural conventions used by different human languages and countries. 1.1 Glossary MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT. 1.2 References Links to a document in the Microsoft Open Specifications library point to the correct section in the most recently published version of the referenced document. However, because individual documents in the library are not updated at the same time, the section numbers in the documents may not match. You can confirm the correct section numbering by checking the Errata. 1.2.1 Normative References We conduct frequent surveys of the normative references to assure their continued availability. If you have any issue with finding a normative reference, please contact dochelp@microsoft.com. We will assist you in finding the relevant information. [ECMA-402/2] ECMA International, "Standard ECMA-402 2nd Edition: ECMAScript 2015 Internationalization API Specification", http://www.ecma-international.org/ecma-402/2.0/ecma- 402.pdf [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997, http://www.rfc-editor.org/rfc/rfc2119.txt 1.2.2 Informative References None. 1.3 Microsoft Implementations The following Microsoft web browser versions implement some portion of the [ECMA-402/2] specification: Microsoft Edge Each browser version may implement multiple document rendering modes. The modes vary from one to another in support of the standard. The following table lists the document modes supported by each browser version. Browser Version Microsoft Edge Document Modes Supported EdgeHTML Mode For each variation presented in this document there is a list of the document modes and browser versions that exhibit the behavior described by the variation. All combinations of modes and versions 4 / 10

that are not listed conform to the specification. For example, the following list for a variation indicates that the variation exists in three document modes in all browser versions that support these modes: Quirks Mode, IE7 Mode, and IE8 Mode (All Versions) 1.4 Standards Support Requirements To conform to [ECMA-402/2], a user agent must implement all required portions of the specification. Any optional portions that have been implemented must also be implemented as described by the specification. Normative language is usually used to define both required and optional portions. (For more information, see [RFC2119].) The following table lists the sections of [ECMA-402/2] and whether they are considered normative or informative. Sections Normative/Informative 1-5 Informative 6 Normative 7 Informative 8-13 Normative Annex A, Annex B Informative 1.5 Notation The following notations are used in this document to differentiate between notes of clarification, variation from the specification, and points of extensibility. Notation C#### V#### E#### Explanation This identifies a clarification of ambiguity in the target specification. This includes imprecise statements, omitted information, discrepancies, and errata. This does not include data formatting clarifications. This identifies an intended point of variability in the target specification such as the use of MAY, SHOULD, or RECOMMENDED. (See [RFC2119].) This does not include extensibility points. Because the use of extensibility points (such as optional implementation-specific data) can impair interoperability, this profile identifies such points in the target specification. For document mode and browser version notation, see also section 1.3. 5 / 10

2 Standards Support Statements This section contains all variations and clarifications for the Microsoft implementation of [ECMA- 402/2]. Section 2.1 describes normative variations from the MUST requirements of the specification. Section 2.2 describes clarifications of the MAY and SHOULD requirements. Section 2.3 considers error handling aspects of the implementation. Section 2.4 considers security aspects of the implementation. 2.1 Normative Variations The following subsections describe normative variations from the MUST requirements of [ECMA- 402/2]. 2.1.1 [ECMA-402/2] Section 6.4.1 IsValidTimeZoneName (timezone) V0122: The only timezone supported is UTC The specification states: 6.4.1 IsValidTimeZoneName (timezone) The IsValidTimeZoneName abstract operation verifies that the timezone argument (which must be a String value) represents a valid Zone or Link name of the IANA Time Zone Database. The abstract operation returns true if timezone, converted to upper case as described in 6.1, is equal to one of the Zone or Link names of the IANA Time Zone Database, converted to upper case as described in 6.1. It returns false otherwise. EdgeHTML Mode (All versions) The only timezone supported is UTC. If no timezone is provided, UTC is assumed. 2.1.2 [ECMA-402/2] Section 11.1.1 InitializeNumberFormat (numberformat, locales, options) V0120: CurrencyCode CLF is not supported. The specification states: 11.1.1 InitializeNumberFormat (numberformat, locales, options) The abstract operation InitializeNumberFormat accepts the arguments numberformat (which must be an object), locales, and options. It initializes numberformat as a NumberFormat object. The following steps are taken:... 16. Let s be GetOption(options, "style", "string", «"decimal", "percent", "currency"», "decimal"). 6 / 10

17. ReturnIfAbrupt(s). 18. Set numberformat.[[style]] to s. 19. Let c be GetOption(options, "currency", "string", undefined, undefined). 20. ReturnIfAbrupt(c). 21. If c is not undefined, then a. If the result of IsWellFormedCurrencyCode(c), is false, then throw a RangeError exception. 22. If s is "currency" and c is undefined, throw a TypeError exception. 23. If s is "currency", then a. Let c be converting c to upper case as specified in 6.1. b. Set numberformat.[[currency]] to c. c. Let cdigits be CurrencyDigits(c) 24. Let cd be GetOption(options, "currencydisplay", "string", «"code", "symbol", "name"», "symbol"). 25. ReturnIfAbrupt(cd). 26. If s is "currency", set numberformat.[[currencydisplay]] to cd. 27. Let mnid be GetNumberOption(options, "minimumintegerdigits", 1, 21, 1). 28. ReturnIfAbrupt(mnid). 29. Set numberformat.[[minimumintegerdigits]] to mnid. 30. If s is "currency", let mnfddefault be cdigits; else let mnfddefault be 0. 31. Let mnfd be GetNumberOption(options, "minimumfractiondigits", 0, 20, mnfddefault). 32. ReturnIfAbrupt(mnfd). 33. Set numberformat.[[minimumfractiondigits]] to mnfd. 34. If s is "currency", let mxfddefault be max(mnfd, cdigits); else if s is "percent", let mxfddefault be max(mnfd, 0); else let mxfddefault be max(mnfd, 3). EdgeHTML Mode (All versions) CurrencyCode CLF is not supported. 2.1.3 [ECMA-402/2] Section 11.3.4 Number Format Functions V0121: Numbers are not formatted correctly for locale th-u-nu-arab The specification states: 11.3.4 Number Format Functions A NumberFormat format function is an anonymous function that takes one argument value, and performs the following steps: 1. Let nf be the this value. 2. Assert: Type(nf) is Object and nf has an [[initializednumberformat]] internal slot whose value is true. 3. If value is not provided, let value be undefined. 4. Let x be ToNumber(value). 5. ReturnIfAbrupt(x). 6. Return FormatNumber(nf, x). When the FormatNumber abstract operation is called with arguments numberformat (which must be an object initialized as a NumberFormat) and x (which must be a Number value), it returns a String value representing x according to the effective locale and the formatting options of numberformat. EdgeHTML Mode (All versions) Numbers are not formatted correctly for locale th-u-nu-arab. 7 / 10

2.1.4 [ECMA-402/2] Section 12.3.4 DateTime Format Functions V0123: Old dates are not formatted correctly The specification states: 12.3.4 DateTime Format Functions A DateTime format function is an anonymous function that optionally takes an argument date....... When the FormatDateTime abstract operation is called with arguments datetimeformat (which must be an object initialized as a DateTimeFormat) and x (which must be a Number value), it returns a String value representing x (interpreted as a time value as specified in ES2015, 20.3.1.1) according to the effective locale and the formatting options of datetimeformat. EdgeHTML Mode (All versions) Old dates are not formatted correctly; for example, June 1 BC. 2.2 Clarifications The following subsections describe clarifications of the MAY and SHOULD requirements of [ECMA- 402/2]. 2.3 Error Handling There are no additional error handling considerations. 2.4 Security There are no additional security considerations. 8 / 10

3 Change Tracking No table of changes is available. The document is either new or has had no changes since its last release. 9 / 10

4 Index C Change tracking 9 G Glossary 4 I Informative references 4 Introduction 4 L locales - options) 6 N Normative references 4 R References informative 4 normative 4 T Tracking changes 9 10 / 10