Firefox 53 для разработчиков - Mozilla

Firefox 53 для разработчиков
============================

Firefox 53 был выпущен 19 апреля 2017. В этой статье перечислены основные изменения, которые полезны не только для веб-разработчиков, но и разработчиков Firefox и Gecko, а также разработчикам дополнений.

Изменения для веб-разработчиков
-------------------------------

### Инструменты разработчика

* Избегание задержки в прокрутке на подсветке заданных АПЗ (Firefox bug 1312103).
* Добавлена возможность копировать полный путь CSS элемента (Firefox bug 1323700).
* Devtools добавлена поддержка CSS-цвета-4 (Firefox bug 1310681).
* Разметка вид: добавить визуальную подсказку между открывающим и закрывающим тегами сложенного узла (Firefox bug 1323193).
### CSS

#### Новые возможности

* В `mask-*`свойствах обыкновенного письма (см CSS маски (en-US) ) все поддерживается и доступны по умолчанию (см Firefox bug 1251161).
* Добавлено `caret-color` (en-US) Свойство (Firefox bug 1063162).
* Реализована `place-items` / `place-self` (en-US) / `place-content` (en-US) Shorthands (Firefox bug 1319958 ).
* Добавлено `flow-root` значение `display` свойства (Firefox bug 1322191).
* `-moz-tab-size` теперь принимает `<length>` значения (Firefox bug 943918), а теперь анимируемый (Firefox bug 1308110).
* `mask-mode` (en-US): яркости не работает на градиентных масок (Firefox bug 1346265).
* [CSS-сетка] FR Единица в `grid-template-rows` не заполняя окно просмотра (Firefox bug 1346699).
* гибкие элементы не сортируются в соответствии с «порядком», если они отделены друг от друга abspos собрата (Firefox bug 1345873).

#### Другие изменения

* Включить маски longhands по элементам SVG (Firefox bug 1319667).
* [CSS-сетка] Исправлено: `align-self`/ `justify-self:stretch`/ `normal` не работает на `<table>` элементах сетки (Firefox bug 1316051).
* Установленный: `clip-path: circle()` с большой ссылкой окно и процент радиус не оказывают правильно (Firefox bug 1324713.
* При применении `text-transform` (en-US) значения из `uppercase` древнегреческого текста, акцент на дизъюнктивной ETA (rj) больше не удаляется (см Firefox bug 1322989).
* Наличие `contents` значения `display` контролировали через `layout.css.display-contents.enabled` настройку. В Firefox 53 эта настройка была удалена полностью, так что значение всегда будет доступен и больше не могут быть отключены (Firefox bug 1295788).
### JavaScript

* ECMAScript 2015 семантика для `Function.name` свойства были реализованы. Это включает в себя выведенные имена на анонимные функции ( `var foo = function() {}`) (Firefox bug 883377).
* ECMAScript 2015 семантика для закрытия итераторы были реализованы. Это влияет на `for...of`цикл, например (Firefox bug 1147371).
* Шаблон Буквальное предложение Revision , что снимает ограничения избежать последовательностей на помеченных литералах шаблона было реализовано (Firefox bug 1317375).
* Нестандартные Струнные дженерики теперь представьте предупреждение устаревания в консоли. Не используйте их больше, они будут удалены в будущем! (Firefox bug 1319926).
* Статическое `length` свойство `TypedArray` объектов было изменено с 3 до 0 в соответствии с ES2016 (Firefox bug 1317306).
* `SharedArrayBuffer` теперь может быть использован в `DataView` объекты (Firefox bug 1246597).
* В более ранних версиях спецификации, `SharedArrayBuffer` объектов необходимо явно переданы в ходе структурированного клонирования . В новой спецификации они не являются переводными объекты больше , и , следовательно , не должны быть в списке передачи. Новое поведение используется для представления консоли предупреждения только, но теперь будет выдавать ошибку (Firefox bug 1302037).
* `ArrayBuffer` длина теперь ограничена `Number.MAX_SAFE_INTEGER` (> = 2 \*\* 53) (Firefox bug 1255128).
* `Error.prototype` (en-US) и другие нативный объект ошибки прототипы , как `RangeError.prototype` (en-US) и т.д. теперь обычные объекты вместо соответствующих объектов Error. (В частности, `Object.prototype.toString.call(Error.prototype)` теперь `"[object Object]"`вместо `"[object Error]"`.) (Firefox bug 1213341).
### Мероприятия

* CSS Transitions: The `transitionstart`, `transitionrun` и `transitioncancel` события были реализованы (см Firefox bug 1264125 и Firefox bug 1287983).
* `CompositionEvent` (en-US) Конструктор был реализован (см Firefox bug 1002256).
* `MouseEvent.x` (en-US) и `MouseEvent.y` (en-US) псевдонимами `MouseEvent.clientX` / `MouseEvent.clientY` были реализованы (см Firefox bug 424390).
* `auxclick` событие и соответствующий `GlobalEventHandlers.onauxclick` (en-US) был реализован обработчик (см Firefox bug 1304044).
* `transitioncancel` событие теперь уволен после перехода (en-US) отменяется. См `GlobalEventHandlers.ontransitioncancel` (en-US) для получения более подробной информации и пример (Firefox bug 1264125).
### DOM

* `путь` и `поиск` `HTMLHyperLinkElementUtils` свойства ранее возвращено неправильные части в URL. Например, для URL из `http://z.com/x?a=true&b=false`, `pathname` будет возвращаться « `/x?a=true&b=false"` и `search` вернётся„", а не» `/x` «и» `?a=true&b=false"` соответственно. Теперь это было исправлено (Firefox bug 1310483).
* `URLSearchParams ()` (en-US) Конструктор теперь принимает на `USVString` (en-US) или последовательность `USVString` (en-US) ев в качестве инициализации объект (Firefox bug 1330678).
* `Selection.setBaseAndExtent ()` метод API выбора (en-US) теперь реализован (см Firefox bug 1321623).
* "Fakepath" дополнение `file` типа `<вход>` `values` была реализована в Gecko, давая его соотношение с другими браузерами (см Firefox bug 1274596).
* `Node.getRootNode ()` была реализована, заменяя устаревшее `Node.rootNode` (en-US) Свойство (Firefox bug 1269155).
* Собственные свойства `Plugin` (en-US) и `PluginArray` (en-US) объектов больше не перечислимы (Firefox bug 1270366).
* Названные свойства `MimeTypeArray` (en-US) объекты больше не перечислимы (Firefox bug 1270364).
* API разрешений (en-US) теперь имеет новое название разрешения доступного - `persistent-storage`- как он используется при создании `Permissions.query ()` (см Firefox bug 1270038). Это позволяет источнику использовать постоянную форму (т.е. постоянного хранения ) для его хранения, в соответствии с API хранения .
### Рабочие и работники сферы обслуживания

* Network Information API теперь доступен в рабочих (см Firefox bug 1323172).
* События сервера посланных теперь могут быть использованы из рабочих (см Firefox bug 1267903).
* `ExtendableEvent.waitUntil ()` Теперь можно вызвать асинхронно (см Firefox bug 1263304).
### WebGL

* `WEBGL_compressed_texture_astc` (en-US) реализуется расширение WebGL (Firefox bug 1250077).
* `WEBGL_debug_renderer_info` (en-US) расширение WebGL теперь включён по умолчанию (Firefox bug 1336645).
### Аудио, видео и медиа

#### Генеральная

* Начиная с **Firefox 53 для Android** , декодирование массовой информации обрабатывается вне процесса для повышения производительности на многоядерных системах (Firefox bug 1333323).

#### элементы медиа

* `HTMLMediaElement.play ()` Метод, используемый для начала воспроизведения медиа в любом медиа-элемента, теперь возвращает `Promise`, которая выполняется, когда воспроизведение начинается и отклоняется если произошла ошибка (Firefox bug 1244768).

#### Web Audio API

* Был добавлен `AudioScheduledSourceNode` (en-US) интерфейс и `AudioBufferSourceNode` (en-US), `ConstantSourceNode` (en-US) и `OscillatorNode` (en-US) интерфейсы теперь основаны на нем (Firefox bug 1324568).

#### WebRTC

* В `RTCPeerConnection` методы `createOffer ()` (en-US) и `createAnswer ()` (en-US) Теперь возвращает `промис` , который возвращает объект , соответствующий словарь `RTCSessionDescriptionInit` вместо возврата `RTCSessionDescription` (en-US) непосредственно. Существующий код будет продолжать работать, но новый код можно записать более просто (en-US) .
* Аналогичным образом , `RTCPeerConnection` методы `setLocalDescription ()` (en-US) и `setRemoteDescription ()` (en-US) теперь принимают в качестве входных данных объекта , соответствующего словарю `RTCSessionDescriptionInit`. Существующий код продолжает работать, но может быть упрощена (en-US) .
* `RTCPeerConnection.addIceCandidate ()` теперь принимает в качестве входных данных объекта, соответствующую `RTCIceCandidateInit` (en-US) словарь. Это совместимо с существующим кодом, но позволяет новый код, который будет написано чуть более просто при использовании в сочетании с изменениями перечисленных выше (Firefox bug 1263312).
* DTMF (en-US) поддержка теперь включена по умолчанию , используя `RTCDTMFSender` (en-US). См Использование DTMF с WebRTC (en-US) для получения дополнительной информации о том , как это работает.
### HTTP / Networking

* Gecko теперь имеет прив доступный в , `about:config` чтобы позволить пользователям устанавливать их по умолчанию `Referrer-политики` - (Firefox bug 1304623). Возможные значения: `network.http.referer.userControlPolicy`
    + 0 - `no-referrer`
    + 1 - `same-origin`
    + 2 - `strict-origin-when-cross-origin`
    + 3 - `no-referrer-when-downgrade` (по умолчанию)
* Поддержка следующего протокола переговоров (NPN) была удалена в пользу протокола прикладного уровня переговоров (ALPN) - см Firefox bug 1248198.
* `Large-Allocation` (en-US) заголовок HTTP теперь доступен по умолчанию, и больше не скрывается за привилегированную (Firefox bug 1331083).
### SVG

* Частично реализована `SVGGeometryElement` (en-US) интерфейс (Firefox bug 1239100).
Переезды с веб-платформы
------------------------

### HTML / XML

* `dom.details_element.enabled` Прив - которая контролируется включение / отключение `<детали>` и `<резюме>` опорный элемент в Firefox - теперь был удалён из `about:config`. Эти элементы (которые впервые были включены по умолчанию в Firefox 49) больше не могут быть отключены. См Firefox bug 1271549.
### CSS

* Удалён вариант с префиксом `-moz` для псевдо-класса `:dir()` (Firefox bug 1270406).
* `-moz` Приставкой версия `текст-ALIGN-последний` был удалён (Firefox bug 1276808).
* Удалён вариант с префиксом `-moz` для метода `calc()` (Firefox bug 1331296).
### JavaScript

* Нестандартный `ArrayBuffer.slice ()` Метод был удалён (но стандартизированная версия `ArrayBuffer.prototype.slice()` сохраняется, см Firefox bug 1313112).
### API-интерфейсы

* Информация API Wi - Fi , спикер API - менеджер, и Привязывание API и настройки API , были удалены из платформы (см Firefox bug 1313788, Firefox bug 1317853, Firefox bug 1313789 и Firefox bug 1313155 соответственно).
Изменения для дополнения и разработчиков Mozilla
------------------------------------------------

### WebExtensions

Новые API:

* `browsingData` (en-US)
* `identity` (en-US)
* `contextualIdentities` (en-US)

Усовершенствованные API:

* `storage.sync` (en-US)
* `page_action`, `browser_action`, `password`, `tab` Типы контекстов в`contextMenus` (en-US)
* `webRequest.onBeforeRequest` (en-US) теперь поддерживает `requestBody`
* `tabs.insertCSS` (en-US)теперь поддерживает `cssOrigin`, что позволяет вставлять таблицы стилей пользователя.
### модули JavaScript-код

* Асинхронные интерфейсы AddonManager теперь поддерживают `Промис`, а также колбэки (Firefox bug 987512.
Старые версии
-------------

* Firefox 52 для разработчиков (en-US)
* Firefox 51 для разработчиков (en-US)
* Firefox 50 для разработчиков (en-US)
* Firefox 49 для разработчиков (en-US)
* Firefox 48 для разработчиков (en-US)
* Firefox 47 для разработчиков (en-US)
* Firefox 46 для разработчиков (en-US)
* Firefox 45 для разработчиков (en-US)
* Firefox 44 для разработчиков (en-US)
* Firefox 43 для разработчиков
* Firefox 42 для разработчиков (en-US)
* Firefox 41 для разработчиков (en-US)
* Firefox 40 для разработчиков (en-US)
* Firefox 39 для разработчиков (en-US)
* Firefox 38 для разработчиков (en-US)
* Firefox 37 для разработчиков (en-US)
* Firefox 36 для разработчиков (en-US)
* Firefox 35 для разработчиков (en-US)
* Firefox 34 для разработчиков (en-US)
* Firefox 33 для разработчиков
* Firefox 32 для разработчиков
* Firefox 31 для разработчиков
* Firefox 30 для разработчиков (en-US)
* Firefox 29 для разработчиков
* Firefox 28 для разработчиков
* Firefox 27 для разработчиков (en-US)
* Firefox 26 для разработчиков (en-US)
* Firefox 25 для разработчиков (en-US)
* Firefox 24 для разработчиков (en-US)
* Firefox 23 для разработчиков (en-US)
* Firefox 22 для разработчиков (en-US)


Firefox 62 для разработчиков - Mozilla

Firefox 62 для разработчиков
============================

В этой статье перечислены ключевые изменения, которые касаются разработчиков. Firefox 62 был выпущен 5 сентября 2018 года.

Изменения для веб-разработчиков
-------------------------------

### Инструменты разработчика

* Включён по умолчанию редактор Shape Path — подробности в статье Edit Shape Paths in CSS.
* Появилась возможность вынести просмотр CSS-правил в отдельную от других вкладок панель. См. Page inspector 3-pane mode (en-US) для получения подробных сведений.
* Инспектор CSS-сеток обзавёлся новыми возможностями и новой документацией — см. CSS Grid Inspector: Examine grid layouts (en-US).
* Инструменты разработчика теперь можно разместить не только снизу и справа, но и слева (а также вынести в отдельное окно) (Firefox bug 1192642).
* На панель консоли разделения добавлена кнопка закрытия.
* При включённой настройке «Выбрать iframe в качестве текущего целевого документа» соответствующий значок будет появляться на панели инструментов при открытии настроек, даже если текущая страница не содержит фреймов (Firefox bug 1456069).
* Вкладка «Куки» в сетевом мониторе отображает атрибут `samesite` (Firefox bug 1452715).
* Режим адаптивного дизайна работает и во вкладках, размещённых в контейнерах (Firefox bug 1306975).
* При возникновении и выводе в консоль ошибки CORS Firefox предоставит ссылку на соответствующую страницу с описанием ошибок CORS (en-US) (Firefox bug 1475391).
* Появилась возможность создать снимок текущей страницы (без необходимости указывать имя файла) из консоли браузера (Firefox bug 1464461). Используется команда
 `:screenshot <filename.png> --fullpage`
 где `<filename.png>` — желаемое имя файла. Файл будет сохранён в каталог загрузок. Параметр `--fullpage` не является обязательным и служит для создания снимка всей страницы. В этом случае к имени файла будет добавлено `-fullpage`. Чтобы увидеть список всех доступных параметров, введите `:screenshot --help`.

#### Удалено

* Удалена панель разработчика/GCLI (которая открывалась сочетанием клавиш
 `Shift`
 +
 `F2`
 ) (Firefox bug 1461970). У интерфейса панели и библиотеки, отвечающей за работу GCLI, уже продолжительное время отсутствует мейнтейнер, некоторые функции не работают (с того времени, как появился многопроцессный режим), а сама GCLI несовместима с `unsafeSetInnerHTML`. Как следствие, по данным телеметрии панель очень редко используется, к тому же есть альтернативные способы вызова самых популярных команд.
### HTML

*Без изменений.*

### CSS

* Убран префикс у псевдоэлемента `:-moz-selection`, отныне он называется `::selection` (Firefox bug 509958).
* `<resolution>` (en-US) поддерживает `x` в качестве единицы измерения (Firefox bug 1460655).
* Включена по умолчанию поддержка `shape-margin` (en-US), `shape-outside` (en-US) и `shape-image-threshold` (en-US) (Firefox bug 1457297).

#### Удалено

* Из документов, отличных от XUL, удалены все XUL-значения `display` за исключением `-moz-box` и `-moz-inline-box` (Firefox bug 1288572).
### SVG

*Без изменений.*

### JavaScript

* Реализована поддержка конструктора `WebAssembly.Global()` (en-US) и глобальных переменных в WebAssembly (Firefox bug 1464656).
* Включена по умолчанию поддержка методов `Array.prototype.flat()` и `Array.prototype.flatMap()` (Firefox bug 1435813).
* Реализовано свойство `import.meta`, отображающее контекстно-специфичных метаданные для модуля JavaScript (Firefox bug 1427610).
* Строковые литералы могут напрямую содержать символы U+2028 LINE SEPARATOR и U+2029 PARAGRAPH SEPARATOR. Как следствие, синтаксис `JSON` отныне является подмножеством литерального синтаксиса JavaScript (см. Firefox bug 1435828 и предложенный TC39 json-superset).
* Для индексов, выходящих за границы типизированных массивов, `Reflect.defineProperty()` и `Reflect.set()` (en-US) будут возвращать `false` вместо `true` (Firefox bug 1308735).

#### Удалено

* Конструкторы `DOMPoint` и `DOMPointReadOnly` больше не поддерживают входной параметр типа `DOMPointInit`; значения свойств требуется указывать с помощью параметров `x`, `y`, `z` и `w` (Firefox bug 1186265).
* Метод `URL.createObjectURL()` больше не поддерживает создание URL-адресов объектов для представления `MediaStream`. Эта возможность уже не актуальна, поскольку можно напрямую задать `HTMLMediaElement.srcObject` (en-US) в `MediaStream` (Firefox bug 1454889).
### API

#### Новые API

* В версии для Android включён по умолчанию API Speech Synthesis (Text-to-Speech) (Firefox bug 1463496).

#### DOM

* Интерфейс `DOMPointReadOnly` (en-US) поддерживает статическую функцию `DOMPointReadOnly.fromPoint()` (en-US), создающую новый точечный объект из совместимого с `DOMPointInit` (en-US) словаря, который содержит любой объект `DOMPoint` (en-US). Функция также доступна на `DOMPoint` (en-US) (Firefox bug 1186265).
* В целях совместимости реализована поддержка свойства `Event.srcElement`. Оно является ссылкой на `Event.target` (Firefox bug 453968).
* `Navigator.registerProtocolHandler()` может быть вызван лишь в безопасном контексте (Firefox bug 1460506).
* Отключена по умолчанию поддержка метода `Navigator.registerContentHandler()`. Он будет удалён в будущем, поскольку уже некоторое время является устаревшим (Firefox bug 1460481).
* Реализован конструктор `DataTransfer()` (en-US) (Firefox bug 1351193).
* `Document.domain` больше не может вернуть `null` (Firefox bug 819475). Если не удалось идентифицировать домен, `domain` вернёт пустую строку вместо `null`.
* Реализован метод `Console.timeLog()`, отображающий текущее значение таймера консоли без остановки самого таймера (Firefox bug 1458466).
* Реализован метод `Console.countReset()`, сбрасывающий значение счётчика консоли (Firefox bug 1459279).

#### События DOM

*Без изменений.*

#### Сервис-воркеры

*Без изменений.*

#### Медиа, Web Audio и WebRTC

* Настройка `media.autoplay.enabled` распространяется не только на видео-, но и на аудиосодержимое (Firefox bug 1413098).
* Интерфейс `ChannelSplitterNode` (en-US) приведён в соответствие спецификации: по умолчанию у него 6 каналов, `channelInterpretation` имеет значение `"discrete"`, а `channelCountMode` — `"explicit"` (Firefox bug 1456265).

#### Удалено

* Поддержка событий `userproximity`, `deviceproximity` (см. `UserProximityEvent` и `DeviceProximityEvent`) отключена по умолчанию и управляется настройкой `device.sensors.proximity.enabled` (Firefox bug 1462308).
* Поддержка события `devicelight` (см. также `DeviceLightEvent`) отключена по умолчанию и управляется настройкой `device.sensors.ambientLight.enabled` (Firefox bug 1462308).
* События мутации (en-US) `DOMSubtreeModified` и `DOMAttrModified` больше не выбрасываются, когда атрибут `style` изменяется с помощью CSSOM (Firefox bug 1460295).
* Прекращена поддержка `CSSStyleDeclaration.getPropertyCSSValue()` (en-US) (Firefox bug 1408301).
* Прекращена поддержка `CSSValue`, `CSSPrimitiveValue` (en-US) и `CSSValueList` (en-US) (Firefox bug 1459871).
* `window.getComputedStyle()` больше не возвращает `null`, если вызван на `Window`, у которого нет представления (Firefox bug 1467722).
### HTTP

#### Удалено

* Удалена поддержка устаревшей CSP-директивы `referrer` (en-US). Вместо неё следует использовать заголовок `Referrer-Policy` (en-US) (Firefox bug 1302449).
### Безопасность

*Без изменений.*

### Плагины

*Без изменений.*

### WebDriver (Marionette)

#### Новые возможности

* Команда `WebDriver:ElementSendKeys` приносит в WebDriver возможность загружать файлы (Firefox bug 1448792).
* Запросы к пользователю, вызванные событиями `beforeunload`, автоматически отклоняются для команд `WebDriver:Get`, `WebDriver:Back`, `WebDriver:Forward`, `WebDriver:Refresh` и `WebDriver:Close` (Firefox bug 1434872).
* `WebDriver:PerformActions` при нажатии
 `Ctrl`
 + `Click` синтезирует событие `contextmenu (en-US)` (Firefox bug 1421323).

#### Изменения API

* Удалены устаревшие конечные точки, включая `getWindowPosition`, `setWindowPosition`, `getWindowSize и` `setWindowSize` (Firefox bug 1348145).
* Команды WebDriver, возвращающие успех с данными `null`, отныне возвращают пустой словарь (Firefox bug 1461463).

#### Исправленные ошибки

* `WebDriver:ExecuteScript` вызывал ошибку циклической ссылки для коллекций WebElement (Firefox bug 1447977).
* Отправка примитива действия `pointerMove` или `pause` могла привести к зависанию, таким образом, команда никогда не отправляла ответ (Firefox bug 1467743, Firefox bug 1447449).
### Прочее

*Без изменений.*

Изменения для разработчиков дополнений
--------------------------------------

### Изменения API

* Добавлен API `webRequest.getSecurityInfo()` (en-US), позволяющий получить подробные сведения о TLS-соединениях (Firefox bug 1322748).
* Добавлен `browserSettings.newTabPosition` (en-US), позволяющий настроить положение новой вкладки (Firefox bug 1344749).
* `windowTypes` объявлен устаревшим в `windows.get()` (en-US), `windows.getCurrent()` (en-US) и `windows.getLastFocused()` (en-US) (Firefox bug 1419132).
* Появилась возможность изменять каждое окно браузера в отдельности (Firefox bug 1419893).
### Изменения манифеста

* Новое свойство `open_at_install` ключа `sidebar_action` (en-US) манифеста позволяет дополнениям при установке автоматически открывать или не открывать боковые панели (Firefox bug 1460910).
* Изменено свойство `browser_style` различных ключей манифеста:
    + У `page_action` (en-US) и `browser_action` (en-US) оно по умолчанию стало `false`.
    + У `sidebar_action` (en-US) и `options_ui` (en-US) оно по умолчанию стало `true`.
### Изменения темы

* Новое свойство `tab_background_separator` ключа `theme` (en-US) манифеста позволяет дополнениям изменять цвет разделителя вкладок (Firefox bug 1459455).
### Удалено

* Прекращена поддержка установки распакованных дополнений (Firefox bug 1385057).
* Убран показ предупреждения о `browser_style` при временной загрузке дополнения для тестирования (Firefox bug 1404724).
Предыдущие версии
-----------------

* Firefox 61 для разработчиков (en-US)
* Firefox 60 для разработчиков (en-US)
* Firefox 59 для разработчиков (en-US)
* Firefox 58 для разработчиков (en-US)
* Firefox 57 для разработчиков (en-US)
* Firefox 56 для разработчиков (en-US)
* Firefox 55 для разработчиков (en-US)
* Firefox 54 для разработчиков (en-US)
* Firefox 53 для разработчиков
* Firefox 52 для разработчиков (en-US)
* Firefox 51 для разработчиков (en-US)
* Firefox 50 для разработчиков (en-US)
* Firefox 49 для разработчиков (en-US)
* Firefox 48 для разработчиков (en-US)
* Firefox 47 для разработчиков (en-US)
* Firefox 46 для разработчиков (en-US)
* Firefox 45 для разработчиков (en-US)
* Firefox 44 для разработчиков (en-US)
* Firefox 43 для разработчиков
* Firefox 42 для разработчиков (en-US)
* Firefox 41 для разработчиков (en-US)
* Firefox 40 для разработчиков (en-US)
* Firefox 39 для разработчиков (en-US)
* Firefox 38 для разработчиков (en-US)
* Firefox 37 для разработчиков (en-US)
* Firefox 36 для разработчиков (en-US)
* Firefox 35 для разработчиков (en-US)
* Firefox 34 для разработчиков (en-US)
* Firefox 33 для разработчиков
* Firefox 32 для разработчиков
* Firefox 31 для разработчиков


Firefox 29 для разработчика - Mozilla

Firefox 29 для разработчика
===========================

Firefox 29 был выпущен 29 апреля 2014 года. Список ключевых изменений, предоставленный в данной статье будет полезен не только веб-разработчикам, но и Firefox-, Gecko-разработчикам и разработчикам дополнений.

Хотите помочь документировать Firefox 29? Просмотрите список недостатков, которые надо устранить и приступайте!

Изменения для разработчиков
---------------------------

### Инструменты разработчика

Важные изменения:

* Vastly improved web console - Arrays are shown inline without clicking to bring up in the right inspector, window objects show their url, etc.
* Added the console API to Web Workers (bug 620935). Now you can log messages to the Web Console from Web Workers.
* The Network Monitor tool now shows performance statistics using pie charts (Firefox bug 846601).
* On the Inspector, preview tooltips of CSS transforms are now available (Firefox bug 726427).
* DOM elements seen in the debugger and console can be removed or inspected directly, via the new buttons to the right of the variable listing.
* A CSS source map is now supported by the Style Editor (Firefox bug 926014).
* Autocompletion of CSS properties and values has been added to the Style Editor (Firefox bug 717369).

*Больше деталей и изменений смотрите в блоге Mozilla Hacks.*

### CSS

* CSS variables have been implemented (Firefox bug 773296). Mozilla Hacks article can be found here. They are enabled by default only for non-release builds (on release builds flip the pref `layout.css.variables.enabled` to `true` if you want to play with them).
* Добавлена поддержка `visibility``: collapse` в
 Flexboxes (Firefox bug 783470).
* Свойство `box-sizing` больше не нуждается в префиксе (Firefox bug 243412).
* The `will-change` property, a hint to that something will animate has been added. The preference `layout.css.will-change.enabled` must be switched to `true` to enable it. (Firefox bug 940842)
* Scientific exponential notation, like `3e1` or `10e+0`, is now supported for `<number>` values (Firefox bug 964529).
* Тип изображения `<gradient>` (en-US) теперь поддерживается в `border-image` (en-US) (Firefox bug 709587).
* The `touch-action` property has been implemented. It is not activated by default; the `layout.css.touch_action.enabled` pref controls it. (Firefox bug 795567)
### HTML

* `<input type=color>` и `<input type=number>` доступны по умолчанию.
* Support for the non standard `<pre cols>` has been removed, as well as the layout effect of `<pre wrap>` . Both effects can, and should, be achieved using CSS. (Firefox bug 949879)
### JavaScript

* Реализованы новые методы строк в ECMAScript 6: `String.prototype.codePointAt()` и `String.prototype.fromCodePoint()` (Firefox bug 918879).
* The ECMAScript Internationalization API (ECMA-402) has been implemented and is now enabled by default in Firefox Desktop (Firefox bug 853301):
    + New objects in the new `Intl` object namespace:
        - `Intl.Collator`
        - `Intl.DateTimeFormat`
        - `Intl.NumberFormat`
    + The following methods of `String`, `Number` and `Date` have been updated to include the `locales` and `options` arguments per ECMA-402:
        - `String.prototype.localeCompare()`
        - `Number.prototype.toLocaleString()`
        - `Date.prototype.toLocaleString()`
        - `Date.prototype.toLocaleDateString()`
        - `Date.prototype.toLocaleTimeString()`
* To match the updated ECMAScript6 draft specification, the `Map` (en-US) and `Set` objects now treat `-0` and `+0` as the same when checking for key and value equality.
* `Promise` has been enabled by default (Firefox bug 918806).
* Completed generators now returns an `IteratorResult` object instead of throwing (Firefox bug 958951).
* A malformed JSON string parsed by `JSON.parse()` now yields a more detailed error message containing the line and column number that caused the parsing error. This is useful when debugging large JSON data.
### Интерфейс/APIs/DOM

* A new type of workers, `SharedWorker`, is now available by default (Firefox bug 924089).
* The `URLUtils` interface now supports the `searchParams` property returning a `URLSearchParams` object, allowing to modify the search params of an URL (Firefox bug 887836). The `URLSearchParams` constructor allows easier parsing of query strings.
* The `Worker.onLine` property is now supported, allowing to know the online/offline status in workers (Firefox bug 925437).
* As part of the implementation of Web Components, the `HTMLShadowElement` interface has been implemented behind the `dom.webcomponents.enabled`. Flip it to `true` if you want to use it. (Firefox bug 887538).
* The read-only property `HTMLIFrameElement.sandbox` is no longer a `string` but an `HTMLSettableToken` (Firefox bug 845057).
* On `HTMLCanvasElement.getContext()`, the value `moz-webgl` is no longer supported. Use the standard `webgl` value (Firefox bug 913597).
* The constructor for `ImageData` has been added. This interface can be used in a `Worker`. (Firefox bug 959958)
* The property `location.origin` is now available in workers (Firefox bug 964148).
* The `ValidityState.badInput` property has been implemented (Firefox bug 827161).
* The deprecated `Window.pkcs11` property has been removed; it was returning `null` since Firefox 3.0.14. (Firefox bug 964964)
* The `Node.cloneNode()` and `Document.importNode()` methods take the Boolean `deep` argument. Until now, if omitted, these methods acted as if the value of `deep` was `true`. But this behavior has been changed as per the latest spec, and if omitted, the methods will act as if the value was `false`. (Firefox bug 937461)
* `Window._content` is no longer available to Web content (Firefox bug 946564).
* `URLUtils.port` behavior has been slightly changed: set to `''` will set it to the default port associated with the protocol, and `0` to `0.` (Firefox bug 930450)
* `Document.referrer` is now based on the incumbent script (Firefox bug 887928).
* Gamepad API (en-US) включён по умолчанию (Firefox bug 878828).
### MathML

*Без изменений.*

### SVG

*Без изменений.*

Безопасность
------------

* Реализована экспериментальная директива CSP 1.1 `hash-source`. Чтобы воспользоваться этой функцией, настройка `security.csp.experimentalEnabled` должна быть установлена в положение `true` (Firefox bug 883975).
Изменения для разработчиков дополнений
--------------------------------------

* Совместимость дополнений с Australis - Это существенное изменение темы Firefox, что влияет на большинство расширений, связанных с пользовательским интерфейсом Firefox.

Об изменениях, не касающихся Austrlis, будет объявлено позднее.

Смотрите также
--------------

* Совместимость сайтов с Firefox 29
### Предыдущие версии

* Firefox 28 для разработчиков
* Firefox 27 для разработчиков (en-US)
* Firefox 26 для разработчиков (en-US)
* Firefox 25 для разработчиков (en-US)
* Firefox 24 для разработчиков (en-US)
* Firefox 23 для разработчиков (en-US)
* Firefox 22 для разработчиков (en-US)
* Firefox 21 для разработчиков (en-US)
* Firefox 20 для разработчиков (en-US)
* Firefox 19 для разработчиков (en-US)
* Firefox 18 для разработчиков (en-US)
* Firefox 17 для разработчиков (en-US)
* Firefox 16 для разработчиков (en-US)
* Firefox 15 для разработчиков (en-US)
* Firefox 14 для разработчиков (en-US)
* Firefox 13 для разработчиков (en-US)
* Firefox 12 для разработчиков (en-US)
* Firefox 11 для разработчиков (en-US)
* Firefox 10 для разработчиков (en-US)
* Firefox 9 для разработчиков (en-US)
* Firefox 8 для разработчиков (en-US)
* Firefox 7 для разработчиков (en-US)
* Firefox 6 для разработчиков (en-US)
* Firefox 5 для разработчиков (en-US)
* Firefox 4 для разработчиков (en-US)
* Firefox 3.6 для разработчиков (en-US)
* Firefox 3.5 для разработчиков
* Firefox 3 для разработчиков
* Firefox 2 для разработчиков (en-US)
* Firefox 1.5 для разработчиков (en-US)


Firefox 28 для разработчика - Mozilla

Firefox 28 для разработчика
===========================

Firefox 28 был выпущен 18 марта 2014 года. Список ключевых изменений в данной статье будет полезен не только веб-разработчикам, но и Firefox-, Gecko-разработчикам и разработчикам дополнений.

Хотите помочь документировать Firefox 28? Просмотрите список недостатков, которые надо устранить и приступайте!

Изменения для разработчиков
---------------------------

### Инструменты разработчика

* The `console.exception` property has been added (Firefox bug 922214).
* The `console.assert` property has been added (Firefox bug 760193).
* App Manager: a new Manifest Editor was added.
* App Manager: the toolbox used for debugging apps is now embedded in the app manager UI.
* Web Console: added a "split console" mode - press Escape to quickly open the console in any other tool.
* Web Console: added a dark theme for the output.
* Debugger: pretty-print minified JavaScript.
* Debugger: simply hover over any variable or click on it to bring up a pop-up that displays the current value.
* Inspector: added a color picker in rules view and various tooltips.
* Browser Toolbox: allows add-on and platform developers to use almost all of the developer tools while targeting the browser itself.

Больше деталей в этой публикации.

### CSS

* Support for multi-line flexbox (en-US) has been added (Firefox bug 939901).
* Longhand East Asian counter styles (en-US) have been implemented (Firefox bug 934072).
* Support for the `background-blend-mode` property has been added (Firefox bug 841601).
* The `none` value has been added to `font-variant-ligatures` (Firefox bug 913264).
* Support for the `:hover` user action pseudo-class on pseudo-elements has been implemented (Firefox bug 922669).
### HTML

* Реализована поддержка `<input type=color>` и `<input type=number>`, отключены по умолчанию.
### JavaScript

* ECMAScript 6 (Harmony) implementation continues:
    + New `Array` methods have been implemented: `Array.prototype.entries()` and `Array.prototype.keys()` (Firefox bug 894658).
### Интерфейс/API/DOM

* `HTMLVideoElement.canPlayType('video/webm')` now reports `maybe`. (Firefox bug 884275).
* The `DocumentFragment.getElementById()` (en-US) method has been implemented. E.g. `document.createDocumentFragment().getElementById()` (Firefox bug 933193).
* The `KeyboardEvent.repeat` (en-US) attribute has been implemented (Firefox bug 600117).
* The `File` constructor, e.g. `new File(["foo"], "foo.txt")` has been implemented. (Firefox bug 819900).
* The `Navigator.plugins` is no more enumerable, for privacy reasons (Firefox bug 757726).
* The two attributes `Window.screenX` and `Window.screenY` (en-US) now return CSS pixels (and no more device pixels) (Firefox bug 943668).
* The two methods `CanvasRenderingContext2D.drawSystemFocusRing()` and `CanvasRenderingContext2D.drawCustomFocusRing()` (en-US) have been implemented. The preference `canvas.focusring.enabled` must be set to `true` to activate both (Firefox bug 540456).
* The following attributes have been added to `NavigatorID` (en-US): `appCodeName` (en-US) and `product` (en-US) (Firefox bug 925847).
### MathML

* Добавлена поддержка атрибута `mathvariant` (Firefox bug 114365).
### SVG

*Без изменений.*

### Аудио/Видео

* Добавлена поддержка аудиокодека Opus для контента в мультимедиа-контейнерах WebM (Firefox bug 887978).
* Интегрирована поддержка видео-декодера VP9 (Firefox bug 833023).
### Сеть

* Удалена поддержка протокола `SPDY/2`.
Изменения для разработчиков дополнений
--------------------------------------

* The interface of DeferredTask.jsm has been changed, and the `isPending()`, `start()`, `flush()`, and `cancel()` methods have been removed (Firefox bug 940408).
Безопасность
------------

* CSP was not enforced in sandboxed iframes. This has been fixed (Firefox bug 886164).
* The CSP 1.1 experimental `script-nonce` directive has been implemented. The preference `security.csp.experimentalEnabled` should be set to `true` to enable this functionality (Firefox bug 855326).
Смотрите также
--------------

* Site Compatibility for Firefox 28
### Предыдущие версии

* Firefox 27 для разработчиков (en-US)
* Firefox 26 для разработчиков (en-US)
* Firefox 25 для разработчиков (en-US)
* Firefox 24 для разработчиков (en-US)
* Firefox 23 для разработчиков (en-US)
* Firefox 22 для разработчиков (en-US)
* Firefox 21 для разработчиков (en-US)
* Firefox 20 для разработчиков (en-US)
* Firefox 19 для разработчиков (en-US)
* Firefox 18 для разработчиков (en-US)
* Firefox 17 для разработчиков (en-US)
* Firefox 16 для разработчиков (en-US)
* Firefox 15 для разработчиков (en-US)
* Firefox 14 для разработчиков (en-US)
* Firefox 13 для разработчиков (en-US)
* Firefox 12 для разработчиков (en-US)
* Firefox 11 для разработчиков (en-US)
* Firefox 10 для разработчиков (en-US)
* Firefox 9 для разработчиков (en-US)
* Firefox 8 для разработчиков (en-US)
* Firefox 7 для разработчиков (en-US)
* Firefox 6 для разработчиков (en-US)
* Firefox 5 для разработчиков (en-US)
* Firefox 4 для разработчиков (en-US)
* Firefox 3.6 для разработчиков (en-US)
* Firefox 3.5 для разработчиков
* Firefox 3 для разработчиков
* Firefox 2 для разработчиков (en-US)
* Firefox 1.5 для разработчиков (en-US)


Firefox 63 для разработчиков - Mozilla

Firefox 63 для разработчиков
============================

В этой статье перечислены ключевые изменения, которые касаются разработчиков. Firefox 63 был выпущен 23 октября 2018 года.

Изменения для веб-разработчиков
-------------------------------

### Инструменты разработчика

* Вкладка инспектора «Шрифты» обзавелась редактором, облегчающим просмотр и правку настроек используемых шрифтов. Подробнее см. в Edit fonts.
* Включён по умолчанию инспектор поддержи доступности (Firefox bug 1482454).
* При наведении курсора на объект в инспекторе поддержки доступности, элемент будет подсвечен, а его роль и имя показаны в информационной панели на странице (Firefox bug 1473030).
* Командная строка веб-консоли теперь находится не внизу окна, а прямо после вывода консоли (Firefox bug 1136299).
* Если адрес принадлежит домену, о котором известно, что он отслеживает пользователей, сетевой монитор покажет специальный значок перед этой ссылкой — см. Значки безопасности (Firefox bug 1333994).
* Настройка `devtools.aboutdebugging.showSystemAddons` отныне по умолчанию имеет значение `false`, что означает — системные дополнения не будут показаны на странице `about:debugging`. Значение этой настройки можно изменить на странице `about:config` (Firefox bug 1425347).
* Упрощена панель инструментов режима адаптивного дизайна, кроме того, добавлена возможность выровнять область просмотра по левому краю.
* Для пользовательских элементов инспектор теперь показывает ссылку на определение класса (Firefox bug 1443923).
### HTML

* Элемент `<img>` обзавёлся поддержкой атрибута `decoding` (Firefox bug 1416328); см. также `HTMLImageElement.decoding`.

#### Удалено

* Удалена поддержка ссылок с типом `sidebar` (`rel="sidebar"`) (Firefox bug 1452645).
### CSS

* Добавлена поддержка псевдокласса `:defined` (Firefox bug 1331334).
* В Flexbox-раскладку добавлена поддержка `row-gap`, `column-gap` и `gap` (Firefox bug 1398483).
* Снова включена поддержка запросов pixel-density правила @media (en-US), у которых есть префикс -webkit (Firefox bug 1444139).
* Реализована поддержка свойств CSS Flexible Box Layout (Flexbox) `align-self`, `align-content` и `align-items`, а также `justify-content` (Firefox bug 1472843).
* Реализована функция `path` для `offset-path` (en-US) (Firefox bug 1429298).
* Внесены улучшения синтаксиса из спецификации Media Queries Level 4 (en-US) (Firefox bug 1472843).
* Свойства `offset-*` переименованы в `inset-block-start` (en-US), `inset-block-end` (en-US), `inset-inline-start` (en-US) и `inset-inline-end` (en-US) (Firefox bug 1464782).
* Добавлена поддержка prefers-reduced-motion (Firefox bug 1365045, Firefox bug 1475462).
* Свойство `resize` (en-US) обзавелось относительно-направленными значениями (`block`, `inline`) (Firefox bug 1464786).
* Реализована flexbox-раскладка для значений `safe` и `unsafe` в `align-self`, `align-content` и `justify-content` (Firefox bug 1297774).
* Логические свойства (en-US) (там, где это необходимо) стали анимируемыми (Firefox bug 1309752).

#### Удалено

* Удалены `offset-block-start`, `offset-block-end`, `offset-inline-start` и `offset-inline-end`; как упомянуто выше, они переименованы в `inset-*` (Firefox bug 1464782).
### SVG

*Без изменений.*

### JavaScript

* Реализована поддержка свойства `Symbol.prototype.description` (en-US) (Firefox bug 1472170).
* Добавлен метод `Object.fromEntries` (Firefox bug 1469019).
* Существенно улучшено сообщение об ошибке, выдаваемое при попытке доступа к свойству не определённого объекта. В случае, когда `x` не определён, а вы пытаетесь получить доступ к `x.y`, консоль вернёт более понятное `x не определён; невозможно получить доступ к его свойству "y"` (en-US) вместо `TypeError: x не определён` (Firefox bug 1259822).

#### Удалено

* Удалена экспериментальная поддержка сериализации IndexedDB WebAssembly.Module (Firefox bug 1469395).
### API

#### Новые API

* Включена по умолчанию поддержка API Shadow DOM (Firefox bug 1471947) и Custom Elements (Firefox bug 1471948); см. Веб-компоненты для получения подробных сведений.
* Реализован API Media Capabilities (en-US) (Firefox bug 1409664).
* Реализована и включена по умолчанию поддержка API Async Clipboard (en-US) (Firefox bug 1461465). Как и в Chrome, в Firefox реализованы лишь методы `writeText()` (en-US) и `readText()` (en-US), но, в отличие от Chrome, `readText()` доступен лишь дополнениям.
* Поддерживается интерфейс `SecurityPolicyViolationEvent` (en-US). Он позволяет отправлять события при нарушении `Content-Security-Policy` (en-US) (Firefox bug 1472661).

#### DOM

* Включены по умолчанию следующие элементы API Web Animations (см. Firefox bug 1476158):
    + Свойства `ready` (en-US) и `finished` (en-US) `Animation`, указывающие на `Promise` `ready` и `finished` объекта `Animation`.
    + Свойство `effect` (en-US) объекта `Animation`.
    + Интерфейсы `KeyframeEffect` (en-US) и `AnimationEffect` (en-US).
* Реализован метод `Element.toggleAttribute()` (en-US) (Firefox bug 1469592).
* В целях совместимости добавлена поддержка нестандартного свойства `Event.returnValue` (en-US) (Firefox bug 1452569).
* Теперь, когда свойство `Window.event` (en-US) стало стандартным, оно реализовано в Firefox в целях совместимости (Firefox bug 218415), но из-за проблем совместимости (см. Firefox bug 1479964) включено лишь в «ночных» выпусках. Его поддержкой управляет настройка `dom.window.event.enabled` (Firefox bug 1493869).
* Для паритета с Edge и Chrome свойство `navigator.platform` (en-US) отныне возвращает `"Win32"` даже в 64-разрядных операционных системах Windows (Firefox bug 1472618).
* Раньше, ссылки, открывающие новые окна с `rel="noopener"`, и `Window.open()` (en-US) с `noopener` (en-US) приводили к тому, что у окна были отключены все свойства и разработчику приходилось включать необходимые ему стандартные свойства. Отныне такие окна будут иметь все те же свойства, что и любое другое окно, а разработчику следует отключать нежелательные (Firefox bug 1419960).

#### События DOM

* На платформе Windows улучшена обработка *правой* клавиши
 `Alt`
 . Если в текущей раскладке клавиша
 `Alt`
 назначена на
 `AltGr`
 , значение `KeyboardEvent.key` будет `"AltGraph"`. Такое поведение соответствует поведению, принятому недавно в Chrome (Firefox bug 900750).

#### Медиа, Web Audio и WebRTC

* Доступ к микрофону теперь работает одновременно в нескольких вкладках, даже в рамках одного процесса контента (Firefox bug 1404977).
* `RTCDataChannel` (en-US) теперь поддерживает формат данных sctp-sdp-21 в дополнение к старому формату sctp-sdp-05.
* Узлы `ConstantSourceNode` (en-US) отныне имеют не один, а два канала (Firefox bug 1413283).
* Интерфейс API Web Audio `AudioScheduledSourceNode` (en-US) (и все остальные типы узлов, основанные на нём) теперь выбрасывает корректное исключение (`RangeError`), если время начала узла представляет собой отрицательное значение (Firefox bug 1413284).
* Минимальные и максимально допустимые значения `value` (en-US) объекта `AudioParam` (en-US) изменены на минимальное отрицательное число с плавающей запятой одинарной точности (-340,282,346,638,528,859,811,704,183,484,516,925,440) и максимальное положительное число с плавающей запятой одинарной точности (+340,282,346,638,528,859,811,704,183,484,516,925,440) (Firefox bug 1476695).
* Включена по умолчанию поддержка метода `SourceBuffer.changeType` (en-US), позволяющего изменить кодеки во время активного потока. Это часть API Media Source Extensions (en-US) (Firefox bug 1481166).
* Метод `AudioParam.setValueCurveAtTime()` (en-US) обновлён, чтобы корректно принимать массив значений с плавающей запятой для указания значений параметров, которые изменяются со временем. До этого он требовал `Float32Array` (en-US) (Firefox bug 1421091).
* `AudioParam.setValueCurveAtTime()` (en-US) обновлён, чтобы возвращать правильный `TypeError`, если в массиве `values` обнаружено не конечное значение (Firefox bug 1472095).
* Кроме того, `setValueCurveAtTime()` обновлён таким образом, чтобы, когда параметр заканчивает следовать кривой значений, значение параметра устанавливалось в соответствии с последним значением в списке значений кривой (Firefox bug 1308436).
* Словарь `RTCRTPStreamStats` переименован в `RTCRtpStreamStats` (en-US) согласно прочим словарям WebRTC и спецификации (Firefox bug 1480498).
* Словарь `RTCRtpStreamStats` получил поддержку свойства `kind` (en-US) (Firefox bug 1481851).
* Свойство `isRemote` словаря `RTCRtpStreamStats` (en-US) объявлено устаревшим и будет удалено в Firefox 65. При доступе к свойству будет выведено предупреждение в консоли. Подробности в блоге (Firefox bug 1393306).

#### Canvas и WebGL

* `HTMLCanvasElement.getContext()` обзавёлся новым атрибутом `powerPreference`. В macOS, при наличии нескольких графических процессоров, это позволяет приложениям и апплетам WebGL, которым не важна производительность, запрашивать слабый GPU вместо более мощного и потребляющего больше энергии (Firefox bug 1349799).

#### Удалено

* Удалены устаревшие нестандартные методы `Window.back()` (en-US) и `Window.forward()` (en-US), реализованные лишь в Firefox. Вместо них следует использовать методы `window.history.back()` (en-US) и `window.history.forward()` (en-US) (Firefox bug 1479486).
* Методы `createObjectURL()` и `revokeObjectURL()` (en-US) больше не доступны на экземплярах `ServiceWorker`, поскольку легко приводят к утечкам памяти (Firefox bug 1264182).
* Удалена устаревшая и ограниченная поддержка эффектов Доплера на `PannerNode`. У интерфейса `AudioListener` (en-US) удалены свойства `dopplerFactor` и `speedOfSound`, кроме того, у интерфейса `PannerNode` удалён метод `setVelocity()` (Firefox bug 1148354).
### CSSOM

*Без изменений.*

### HTTP

* Реализован заголовок `Clear-Site-Data` (en-US); больше он не скрыт за соответствующей настройкой (Firefox bug 1470111).
### Безопасность

* Фавиконы сайтов отныне подчиняются политике защиты контента (CSP), если она настроена (Firefox bug 1297156).
* Выражение `'report-sample'` директивы CSP `script-src` отныне учитывается при создании отчёта о нарушении. Эта директива указывает, что в отчёт должен быть включён краткий пример того, где произошло нарушение. До этого Firefox всегда включал такой пример в отчёт (Firefox bug 1473218).
* Библиотеки NSS обновлены до версии 3.39 (Firefox bug 1470914).
### Плагины

*Без изменений.*

### WebDriver (Marionette)

#### Новые возможности

* Marionette будет возвращать возможность (en-US) `setWindowRect` в ответы `WebDriver:NewSession`, если браузер поддерживает все команды позиционирования и изменения размера окна (это верно лишь для Firefox, но не для любого мобильного приложения) (Firefox bug 1470659).
* Реализована поддержка возможности `unhandledPromptBehavior`, позволяющая настроить prompt behavior (Firefox bug 1264259).
* Командам `WebDriver:ExecuteScript` и `WebDriver:ExecuteAsyncScript` добавлена возможность обработки запросов к пользователю (Firefox bug 1439995).

#### Изменения API

* Удалены устаревшие конечные точки команд без префикса `WebDriver:` (Firefox bug 1451725).
* Команда `WebDriver:NewSession` возвращает рекомендованные строки (`linux`, `mac`, `windows`) для `platformName`, как и определено в спецификации WebDriver (Firefox bug 1470646).

#### Исправленные ошибки

* События, связанные с фокусом, отсутствовали при взаимодействии элементов, если окно браузера находилось в фоне (Firefox bug 1398111).
* Последовательное выполнение действий `pointerDown` и `pointerUp` могло вызвать двойной щелчок, поскольку `WebDriver:ReleaseActions` не сбрасывал счётчик двойных щелчков (Firefox bug 1422583).
* Многократное выполнение действий `pause` могло привести к бесконечному зависанию (Firefox bug 1447449).
* `WebDriver:ExecuteScript` и `WebDriver:ExecuteAsyncScript` вызывали ошибку циклической ссылки при возвращении коллекции элементов (Firefox bug 1447977).
* Для предотвращения состояния гонки команды `WebDriver:AcceptAlert` и `WebDriver:DismissAlert` будут ожидать закрытия запроса к пользователю (Firefox bug 1479368).
* Записи журнала, вызванные скриптом фрейма, не ограничивались `MarionettePrefs.logLevel`, а содержали всё подряд (Firefox bug 1482829).
* `WebDriver:TakeScreenshot` вызывал ошибку при создании скриншота окна, у которого размер стороны превышал 32767 пикселей (Firefox bug 1485730).
* `WebDriver:SendAlertText` не заменял текст по умолчанию в запросе у пользователя, если переданный текст представлял собой пустую строку (Firefox bug 1486485).
### Прочее

* Исправлено поведение `PerformanceObserver.observe()` (en-US): этот метод теперь ничего не делает, если в указанном массиве типов записей не обнаружены допустимые типы записей или массив пуст/отсутствует. До этого некорректно выбрасывался `TypeError` (Firefox bug 1403027).
* Формат OpenSearch (en-US) теперь допускает использование `application/json` в качестве типа URL-адреса (`application/json` является ссылкой на `application/x-suggestions+json`) (Firefox bug 1425827).
Изменения для разработчиков дополнений
--------------------------------------

### Изменения API

#### Темы

* Цвет текста по умолчанию для значков `browserAction` (en-US) теперь автоматически становится чёрным или белым, чтобы достичь максимального контраста с фоном (Firefox bug 1474110).
* Свойства `accentcolor` и `textcolor` ключа `theme` (en-US) теперь необязательны (Firefox bug 1413144).
* `browserAction.getBadgeTextColor()` (en-US) и `browserAction.setBadgeTextColor()` (en-US) позволяют получать и настраивать цвет текста значков `browserAction` (en-US) (Firefox bug 1424620).
* Объект `colors` ключа `theme` теперь поддерживает свойства `ntp_text` (для указания цвета текста в новой вкладке) и `ntp_background` (для указания цвета фона) (Firefox bug 1347204).
* Темы получили возможность настраивать цвет боковых панелей, например, боковой панели закладок (Firefox bug 1418602). Соответствующие свойства:
    + `sidebar`: цвет фона.
    + `sidebar_text`: цвет текста.
    + `sidebar_highlight`: цвет фона выделенного элемента.
    + `sidebar_highlight_text`: цвет текста выделенного элемента.
* Метод `management.install()` (en-US) позволяет дополнениям устанавливать и задействовать подписанные темы (Firefox bug 1369209).

#### Поиск

* Новый API `search` (en-US) позволяет получить список установленных поисковых плагинов, и выполнять поиск с их помощью (Firefox bug 1352598).
* `topSites.get()` (en-US) получил поддержку параметра `options`, позволяющего настроить различные параметры возвращённого списка сайтов (Firefox bug 1445836).

#### Вкладки

* `tabs.onHighlighted` (en-US) отныне поддерживает множественное выделение (Firefox bug 1474440).
* `tabs.highlight` (en-US) теперь включает необязательное поле в объекте `highlightInfo` — `populate` — по умолчанию имеющее значение `true`. Установка его значения в `false` запрещает возвращённому объекту `windows.Window` заполнять список вкладок, что положительно сказывается на производительности (Firefox bug 1489814).
* `tabs.update` (en-US) позволяет менять статус выделения вкладки с помощью `highlighted: true` в параметре `updateProperties` (Firefox bug 1479129).
* `tabs.update` (en-US) поддерживает изменения статуса выделения вкладки без изменения фокуса (Firefox bug 1486050). Для этого в параметре `updateProperties` используются одновременно `highlighted: true` и `active: false`.
* `tabs.query` (en-US) стала возвращать массив объектов `tabs.Tab` (en-US) при выборе нескольких вкладок (Firefox bug 1465170).
* Свойство `tabs.Tab` (en-US) теперь корректно отражает то, какие вкладки выделены (подсвечены), а `tabs.highlight` (en-US) поддерживает изменение статуса выделения нескольких вкладок (Firefox bug 1464862).
* Свойство `isarticle` в объекте `extraParameters`, передаваемом в `tabs.onUpdated` (en-US), переименовано в `isArticle`. Старое название сохранено, но объявлено устаревшим. Это изменение попало в Firefox 62 (Firefox bug 1461695).
* Событие `tabs.onUpdated` (en-US) позволяет отслеживать, какая вкладка привлекает внимание пользователя с помощью свойства `attention` объекта `changeInfo` (Firefox bug 1396684).

#### Меню

* В API `menus` (en-US) добавлен `menus.getTargetElement()` (en-US). Метод возвращает щелчок по элементу, на который ссылается параметр `targetElementId` (Firefox bug 1325814).
* `menus.create()` (en-US) теперь позволяет создавать невидимые пункты меню, `menus.update()` (en-US) позволяет переключать видимость пунктов меню (Firefox bug 1482529).
* Элементы, созданные с помощью API `menus` (en-US), обзавелись поддержкой клавиш доступа (Firefox bug 1320462).
* Параметр `menus.create()` (en-US) и `menus.update()` (en-US) `targetUrlPatterns` теперь поддерживает любые схемы URL-адресов, даже те, которые обычно не допускаются в шаблоне соответствия (Firefox bug 1280370).
* При нажатии на элемент контекстного меню вкладки, разрешение "activeTab" будет дано этой вкладке, даже если она не является активной (Firefox bug 1446956).

#### Прочее

* `commands.onCommand` (en-US) теперь расценивается как пользовательский ввод (en-US) (Firefox bug 1408129).
* API `webRequest` позволяет фильтровать speculative-соединения (Firefox bug 1479565).
* `webRequest.SecurityInfo` (en-US) обзавёлся свойствами `keaGroupName` и `signatureSchemeName`. Это изменение попало в Firefox 62 (Firefox bug 1471959).
* `cookies.Cookie` включает свойство, показывающее состояние атрибута SameSite у кук. Перечисление `cookies.SameSiteStatus` (en-US) определяет значение состояния SameSite (Firefox bug 1351663).
* Шаблоны соответствия для URL-адресов теперь явно соответствуют схеме "данные" (Firefox bug 1280370).
Предыдущие версии
-----------------

* Firefox 62 для разработчиков
* Firefox 61 для разработчиков (en-US)
* Firefox 60 для разработчиков (en-US)
* Firefox 59 для разработчиков (en-US)
* Firefox 58 для разработчиков (en-US)
* Firefox 57 для разработчиков (en-US)
* Firefox 56 для разработчиков (en-US)
* Firefox 55 для разработчиков (en-US)
* Firefox 54 для разработчиков (en-US)
* Firefox 53 для разработчиков
* Firefox 52 для разработчиков (en-US)
* Firefox 51 для разработчиков (en-US)
* Firefox 50 для разработчиков (en-US)
* Firefox 49 для разработчиков (en-US)
* Firefox 48 для разработчиков (en-US)
* Firefox 47 для разработчиков (en-US)
* Firefox 46 для разработчиков (en-US)
* Firefox 45 для разработчиков (en-US)
* Firefox 44 для разработчиков (en-US)
* Firefox 43 для разработчиков
* Firefox 42 для разработчиков (en-US)
* Firefox 41 для разработчиков (en-US)
* Firefox 40 для разработчиков (en-US)
* Firefox 39 для разработчиков (en-US)
* Firefox 38 для разработчиков (en-US)
* Firefox 37 для разработчиков (en-US)
* Firefox 36 для разработчиков (en-US)
* Firefox 35 для разработчиков (en-US)
* Firefox 34 для разработчиков (en-US)
* Firefox 33 для разработчиков
* Firefox 32 для разработчиков


Firefox 3.5 для разработчика - Mozilla

Firefox 3.5 для разработчика
============================

Firefox 3.5 вводит ряд новых возможностей, а также дополнительную и улучшенную поддержку для самых различных веб-стандартов. Данная статья представляет собой исчерпывающий перечень нововведений со ссылками на статьи, освещающие основные усовершенствования.

Новые возможности для разработчиков
-----------------------------------

### Для разработчиков веб-сайтов и веб-приложений

#### Поддержка HTML 5

Использование аудио и видео

В Firefox 3.5 добавлена поддержка элементов HTML 5 `audio` и `video`.

Offline resources in Firefox

Firefox 3.5 now fully supports the HTML 5 offline resource specification.

Drag and drop

The HTML 5 drag and drop API allows support for dragging and dropping items within and between web sites. This also provides a simpler API for use by extensions and Mozilla-based applications.

#### Newly-supported CSS features

Downloadable fonts support

The new `@font-face` @rule lets web pages provide downloadable fonts, so that sites can be rendered exactly as the page author expects.

CSS media queries

Firefox 3.5 now supports CSS media queries, which enhance support for media-dependent style sheets.

`:before` and `:after` updated to CSS 2.1

The `:before` and `:after` pseudo-elements have been updated to full CSS 2.1 support, adding support for the `position`, `float`, `list-style-*`, and some `display` properties.

`ch` units for length

The `ch` unit can now be used anywhere that accepts a unit of length. `1ch` is the width of the "0" (zero) character.

`opacity`

The `-moz-opacity` Mozilla extension to CSS has been removed in favor of the standard `opacity`property.

`text-shadow`

The `text-shadow` property, which allows web content to specify shadow effects to apply to text and text decorations, is now supported.

`word-wrap` (en-US)

This newly-supported property lets content specify whether or not lines may be broken within words in order to prevent overflow when an otherwise unbreakable string is too long to fit on one line.

`white-space` property supports the `pre-line` value

The `white-space` property now accepts the `pre-line` value.

`-moz-box-shadow` (en-US)`-moz-border-image` (en-US)`-moz-column-rule` (en-US)`-moz-column-rule-width` (en-US)`-moz-column-rule-style` (en-US)`-moz-column-rule-color` (en-US)

Firefox 3.5 adds support for these Mozilla extensions to CSS.

The `-moz-nativehyperlinktext` color value

This new color value represents the user's system's default hyperlink color.

The `-moz-window-shadow` property and the `:-moz-system-metric(mac-graphite-theme)` pseudo-class

These new CSS features were added to facilitate theming.

New values for `-moz-appearance` (en-US)

The `-moz-win-glass` and `-moz-mac-unified-toolbar` values have been added to `-moz-appearance`.

Using CSS transforms

Firefox 3.5 supports CSS transforms. See `-moz-transform` (en-US) and `-moz-transform-origin` (en-US) for details.

`:nth-child``:nth-last-child``:nth-of-type``:nth-last-of-type``:first-of-type``:last-of-type``:only-of-type`

These selectors are all newly-supported in Firefox 3.5.

#### Новые возможности DOM

localStorage

Firefox 3.5 adds support for the Web Storage `localStorage` property, which provides a way for web applications to store data locally on the client's computer.

Using web workers

Firefox 3.5 supports web workers to allow easy multi-threading support in web applications.

Using geolocation

Firefox 3.5 supports the Geolocation API, which allows web applications to obtain information about the user's current location if a provider for that information is installed and enabled.

Locating DOM elements using selectors

The selectors API allows querying a document to locate the elements that match a given selection rule.

Mouse gesture events

Firefox 3.5 supports mouse gesture events such as trackpad swipes.

The `NodeIterator` object

The `NodeIterator` object provides support for iterating over the list of the nodes in a DOM subtree.

The MozAfterPaint event

This new DOM event is sent after painting updates in windows.

The MozMousePixelScroll event

This new DOM event allows detection of pixel-based mouse scroll wheel events instead of line-based scroll events.

#### Новые возможности JavaScript

Новое в JavaScript 1.8.1

Обзор всех изменений в JavaScript 1.8.1.

`Object.getPrototypeOf()`

Новый метод, возвращающий прототип указанного объекта.

Использование встроенного JSON

Firefox 3.5 имеет встроенную поддержку JSON.

Новые методы обрезки строк в объекте `String`

Объект `String` теперь имеет методы `trim()`, `trimLeft()` и `trimRight()`.

#### Networking

Cross-site access controls for HTTP

In Firefox 3.5, it's now possible for HTTP requests, including those made by `XMLHttpRequest`, to work across domains if the server supports it.

Progress events for`XMLHttpRequest`

Progress events are now offered to enable extensions to monitor the progress of requests.

Improved Synchronous `XMLHttpRequest` support

DOM Timeout and Input Events are now suppressed during a synchronous `XMLHttpRequest`.

Controlling DNS prefetching

Firefox 3.5 provides DNS prefetching, whereby it performs domain name resolution ahead of time for links included in the current page, in order to save time when links are actually clicked. This article describes how you can tune your web site to disable prefetching, or to adjust how prefetching operates.

#### New Canvas features

HTML 5 text API for `canvas` elements

Canvas elements now support the HTML 5 text API.

Shadow effects in a `canvas`

Canvas shadow effects are now supported.

`createImageData()`

The canvas method `createImageData()` is now supported, allowing code to specifically create an `ImageData` object instead of requiring it to be done automatically. This can improve performance of other `ImageData` methods by preventing them from having to create the object.

`moz-opaque` attribute

Added the `moz-opaque` DOM attribute, which lets the canvas know whether or not translucency will be a factor. If the canvas knows there's no translucency, painting performance can be optimized.

#### New SVG features

Applying SVG effects to HTML content

You can now apply SVG effects to HTML and XHTML content; this article describes how.

#### Miscellaneous new features

ICC color correction in Firefox

Firefox 3.5 now supports ICC color correction for tagged images.

The `defer` attribute is now supported on `script` elements

This attribute indicates to the browser that it *may* choose to continue to parse and render the page without waiting for the script to finish executing.

### Другие улучшения

* The Text node's `wholeText` property and `replaceWholeText()` method have been implemented.
* The property `element.children` has been added. It returns a *collection* of child elements of the given element.
* The Element Traversal API is now supported by the DOM Element object.
* HTML document nodes may now be cloned using `cloneNode()`.
* The non-standard `getBoxObjectFor()` DOM method has been removed. You should be using `getBoundingClientRect()` instead.
* Dispatched DOM events can now be re-dispatched. This makes Firefox 3.5 pass Acid 3 test 30.
* Improvements have been made to DOM 2 Range handling.
* In non-chrome scope, caught objects in exceptions are now the actual thrown object instead of an XPConnect wrapper containing the thrown object.
* SVG ID references are now live.
* SVG filters now work for `foreignObject`.
* The `GetSVGDocument()` method has been added to `object` and `iframe` elements for compatibility.
* Implicit setting of properties in object and array initializers no longer execute setters in JavaScript. See the blog post Object and array initializers should not invoke setters when evaluated for details.
* The `gDownloadLastDir.path` variable has been renamed to `gDownloadLastDir.file` since it refers to an `nsIFile`, not a path.
* The `gDownloadLastDirPath` variable has been renamed to `gDownloadLastDirFile` since it refers to an `nsIFile`, not a path.
* Starting in Firefox 3.5, you can no longer use `data:` bindings in chrome packages that get `XPCNativeWrapper` automation.
### Для разработчиков дополнений

If you're an extension developer, you should start by reading Updating extensions for Firefox 3.5, which offers a helpful overview of what changes may affect your extension.

#### New components and functionality

Supporting private browsing mode

Firefox 3.5 offers Private Browsing mode, which doesn't record the user's activities. Extensions may support private browsing following the guidelines offered by this article.

Security changes in Firefox 3.5

This article covers security-related changes in Firefox 3.5.

Theme changes in Firefox 3.5

This article covers theme-related changes in Firefox 3.5.

Monitoring WiFi access points

Code with UniversalXPConnect privileges can now monitor the list of available access points, getting information on their SSIDs, MAC addresses, and signal strength. This can be used in tandem with Geolocation to offer WiFi-based location service.

#### Notable changes and improvements

* The XUL `textbox` widget now offers a `search` type, for use as search fields.
* In order to support dragging and dropping tabs between windows, the `browser` widget now has a `swapDocShells()` method.
* Added the `level` attribute to the `panel` element; this specifies whether panels appear on top of other applications, or just on top of the window the panel is contained within.
* Элементы XUL теперь поддерживают свойства `clientHeight`, `clientWidth`, `scrollHeight` и `scrollWidth`.
* Элементы `keyset` теперь имеют атрибут `disabled`.
* В дополнение к этому, элементы `keyset` теперь могут быть удалены с помощью метода узла `removeChild()`.
* `mozIStorageStatement` had the `initialize()` method removed; consumers should use the `createStatement()` method instead to get a new statement object.
* The Storage API now offers support for asynchronous requests.
* The `nsICookie2` interface now exposes the time at which cookies were created in its new `creationTime` attribute.
* Added a flag to `nsIProtocolHandler` (`URI_IS_LOCAL_RESOURCE`) that is checked during chrome registration to make sure a protocol is allowed to be registered.
* Firefox now looks for plugins in `/usr/lib/mozilla/plugins` on Linux, as well as the previously supported locations.
* The plugin API has been updated to include support for private browsing mode; you may now use `NPN_GetValue()` to query the state of private browsing mode using the variable `NPNVprivateModeBool`.
Новые возможности для конечного пользователя
--------------------------------------------

### User experience

Location aware browsing

If you choose, you may allow Firefox 3.5 to share information about your current location with web sites. Firefox 3.5 can use information about the network you're connected to to share your location. Of course, it asks for your permission before doing so, to ensure your privacy.

Open audio and video support

Firefox 3.5 supports embedded video and audio using the open Ogg format, as well as WAV for audio. No plugins, no confusing error messages about needing to install something or other that turns out not to be available on your platform anyway.

Local data storage

Web applications can now use Web Storage's local storage capabilities to store data on your computer. This is great for anything from site preferences to more complex data.

### Безопасность и приватность

Private Browsing

Need to use someone else's computer? Switch on Private Browsing mode and nothing will be recorded about your session, including cookies, history, and any other potentially private information.

Better privacy controls

The Privacy preference pane has been completely redesigned to offer users more control over their private information. Users can choose to retain or discard anything including history information, cookies, downloads, and form field information. In addition, users can specify whether or not to include history and/or bookmarks in the location bar's automated suggestions, so you can keep private web addresses from popping up unexpectedly while typing in the location bar.

### Производительность

Faster JavaScript performance

JavaScript, the "J" in "AJAX," is sped up dramatically in Firefox 3.5 with the new TraceMonkey JavaScript engine. Web applications are much faster than in Firefox 3.

Faster page rendering

Web content draws faster in Firefox 3.5, thanks to technologies such as "speculative parsing." Your users don't need to know what it means, other than "it makes things draw faster."

Смотрите также
--------------

* Firefox 3 для разработчика
* Firefox 2 для разработчика
* Firefox 1.5 для разработчика


Firefox 3 для разработчиков - Mozilla

Firefox 3 для разработчиков
===========================

Если вы разработчик и хотите познакомится со всеми возможностями Firefox 3 вы пришли по адресу. В этой статье представлен список новых статей, в которых рассказывается о новых возможностях Firefox 3. В статьях не будут представлены сведения о незначительных изменениях, однако они помогут вам познакомится с существенными обновлениями.

### Новые возможности для разработчиков в Firefox 3

#### Для веб-мастеров и разработчиков приложений

Обновление веб-приложений для Firefox 3

Предоставляет информацию об изменениях которые вам возможно нужно внести, чтобы получить выгоду от новых возможностей Firefox 3.

Online и offline события

Firefox 3 поддерживает WHATWG online и offline события, которые позволяют приложениям и расширениям определять есть ли активное Интернет соединение, и так же позволяет определять когда появляется и пропадает соединение.

Веб-ориентированные обработчики протоколов

Теперь вы можете регистрировать веб-приложения как обработчик протокола используя метод `navigator.registerProtocolHandler()`.

Рисование текста с использованием canvas

Теперь вы можете рисовать текст с использованием нестандартизированного API canvas поддерживаемого Firefox 3.

Поддержка преобразований для canvas

Firefox now supports the `transform()` and `setTransform()` methods on canvases.

Using microformats

Firefox now has APIs for working with microformats.

Drag and drop events

Firefox 3 supports new events that are sent to the source node for a drag operation when the drag begins and ends.

Focus management in HTML

The new HTML 5 `activeElement` and `hasFocus` attributes are supported.

Offline resources in Firefox

Firefox now lets web applications request that resources be cached to allow the application to be used while offline.

CSS improvements in Firefox 3

Firefox 3 features a number of improvements in its CSS support.

DOM improvements in Firefox 3

Firefox 3 offers a number of new features in Firefox 3's DOM implementation, including support for several Internet Explorer extensions to the DOM.

JavaScript 1.8 support

Firefox 3 offers JavaScript 1.8.

EXSLT support

Firefox 3 provides support for a substantial subset of the EXSLT extensions to XSLT.

SVG improvements in Firefox 3

SVG support in Firefox 3 has been upgraded significantly, with support for over two dozen new filters, several new elements and attributes, and other improvements.

Animated PNG graphics

Firefox 3 supports the animated PNG (APNG) image format.

#### For XUL and extension developers

##### Notable changes and improvements

Updating extensions for Firefox 3

Provides a guide to the things you'll need to do to update your extension to work with Firefox 3.

XUL improvements in Firefox 3

Firefox 3 offers a number of new XUL elements, including new sliding scales, the date and time pickers, and spin buttons.

Templates in Firefox 3

Templates have been significantly improved in Firefox 3. The key improvement allows the use of custom query processors to allow data sources other than RDF to be used.

Securing updates

In order to provide a more secure add-on upgrade path for users, add-ons are now required to provide a secure method for obtaining updates before they can be installed. Add-ons hosted at AMO automatically provide this. Any add-ons installed that do not provide a secure update method when the user upgrades to Firefox 3 will be automatically disabled. Firefox will however continue to check for updates to the extension over the insecure path and attempt to install any update offered (installation will fail if the update also fails to provide a secure update method).

Places migration guide

An article about how to update an existing extension to use the Places API.

Download Manager improvements in Firefox 3

The Firefox 3 Download Manager features new and improved APIs, including support for multiple progress listeners.

Using nsILoginManager

The Password Manager has been replaced by the new Login Manager.

Embedding XBL bindings

You can now use the `data:` URL scheme from chrome code to embed XBL bindings directly instead of having them in separate XML files.

Localizing extension descriptions

Firefox 3 offers a new method for localizing add-on metadata. This lets the localized details be available as soon as the add-on has been downloaded, as well as when the add-on is disabled.

Localization and Plurals

Firefox 3 adds the new PluralForm module, which provides tools to aid in correctly pluralizing words in multiple localizations.

Theme changes in Firefox 3

Notes and information of use to people who want to create themes for Firefox 3.

##### New components and functionality

FUEL Library

FUEL is about making it easier for extension developers to be productive, by minimizing some of the XPCOM formality and adding some "modern" JavaScript ideas.

Places

The history and bookmarks APIs have been completely replaced by the new Places API.

Idle service

Firefox 3 offers the new `nsIIdleService` interface, which lets extensions determine how long it's been since the user last pressed a key or moved their mouse.

ZIP writer

The new `nsIZipWriter` interface lets extensions create ZIP archives.

Full page zoom

Firefox 3 improves the user experience by offering full page zoom in addition to text-only zoom.

Interfacing with the XPCOM cycle collector

XPCOM code can now take advantage of the cycle collector, which helps ensure that unused memory gets released instead of leaking.

The Thread Manager

Firefox 3 provides the new `nsIThreadManager` interface, along with new interfaces for threads and thread events, which provides a convenient way to create and manage threads in your code.

JavaScript modules

Firefox 3 now offers a new shared code module mechanism that lets you easily create modules in JavaScript that can be loaded by extensions and applications for use, much like shared libraries.

The `nsIJSON` interface

Firefox 3 offers the new `nsIJSON` interface, which offers high-performance encoding and decoding of JSON strings.

The nsIParentalControlsService interface

Firefox 3 now supports the Microsoft Windows Vista parental controls feature, and allows code to interact with it.

Using content preferences

Firefox 3 includes a new service for getting and setting arbitrary site-specific preferences that extensions as well as core code can use to keep track of their users' preferences for individual sites.

Plug-in Monitoring

A new component of the plugin system is now available to measure how long it takes plugins (e.g., Macromedia Flash) to execute their calls.

##### Fixed bugs

Notable bugs fixed in Firefox 3

This article provides information about bugs that have been fixed in Firefox 3.

### New features for end users

#### User experience

* **Easier password management.** An information bar at the top of the browser window now appears to allow you to save passwords after a successful login.
* **Simplified add-on installation.** You can now install extensions from third-party download sites in fewer clicks, thanks to the removal of the add-on download site whitelist.
* **New Download Manager.** The download manager makes it easier to locate your downloaded files.
* **Resumable downloads.** You can now resume downloads after restarting the browser or resetting your network connection.
* **Full page zoom.** From the View menu and using keyboard shortcuts, you can now zoom in and out on the content of entire pages — this scales not just the text but the layout and images as well.
* **Tab scrolling and quickmenu.** Tabs are easier to locate with the new tab scrolling and tab quickmenu features.
* **Save what you were doing.** Firefox 3 prompts you to see if you'd like to save your current tabs when you exit Firefox.
* **Optimized Open in Tabs behavior.** Opening a folder of bookmarks in tabs now appends the new tabs instead of replacing the existing ones.
* **Easier to resize location and search bars.** You can now easily resize the location and search bars using a simple resize handle between them.
* **Text selection improvements.** You can now select multiple ranges of text using the Control (Command on Macintosh) key. Double-clicking and dragging now selects in "word-by-word" mode. Triple-clicking selects an entire paragraph.
* **Find toolbar.** The Find toolbar now opens with the current selection.
* **Plugin management.** Users can now disable individual plugins in the Add-on Manager.
* **Integration with Windows Vista.** Firefox's menus now display using Vista's native theme.
* **Integration with Mac OS X.** Firefox now supports Growl for notifications of completed downloads and available updates.
* **Star button.** The new star button in the location bar lets you quickly add a new bookmark with a single click. A second click lets you file and tag your new bookmark.
* **Tags.** You can now associate keywords with your bookmarks to easily sort them by topic.
* **Location bar and auto-complete.** Type the title or tag of a page in the location bar to quickly find the site you were looking for in your history and bookmarks. Favicons, bookmark, and tag indicators help you see where the results are coming from.
* **Smart Bookmarks folder.** Firefox's new Smart Bookmarks folder offers quick access to your recently bookmarked and tagged places, as well as pages you visit frequently.
* **Bookmarks and History Organizer.** The new unified bookmarks and history organizer lets you easily search your history and bookmarks with multiple views and smart folders for saving your frequent searches.
* **Web-based protocol handlers.** Web applications, such as your favorite web mail provider, can now be used instead of desktop applications for handling `mailto:` links from other sites. Similar support is provided for other protocols as well. (Note that web applications do have to register themselves with Firefox before this will work.)
* **Easy to use Download Actions.** A new Applications preferences pane provides an improved user interface for configuring handlers for various file types and protocol schemes.
* **Improved look and feel.** Graphics and font handling have been improved to make web sites look better on your screen, including sharper text rendering and better support for fonts with ligatures and complex scripts. In addition, Mac and Linux (Gnome) users will find that Firefox feels more like a native application for their platform than ever, with a new, native, look and feel.
* **Color management support.** By setting the `gfx.color_management.enabled` preference in `about:config`, you can ask Firefox to use the color profiles embedded in images to adjust the colors to match your computer's display.
* **Offline support.** Web applications can take advantage of new features to support being used even when you don't have an Internet connection.

#### Security and privacy

* **One-click site information.** Want to know more about the site you're visiting? Click the site's icon in the location bar to see who owns it. Identify information is prominently displayed and easier than ever to understand.
* **Malware protection.** Firefox 3 warns you if you arrive at a web site that is known to install viruses, spyware, trojans, or other dangerous software (known as malware). You can see what the warning looks like by clicking here.
* **Web forgery protection enhanced.** Now when you visit a page that's suspected of being a forgery, you're shown a special page instead of the contents of the page with a warning. Click here to see what it looks like.
* **Easier to understand SSL errors.** The errors presented when an invalid SSL certificate is encountered have been clarified to make it easier to understand what the problem is.
* **Out-of-date add-on protection.** Firefox 3 now automatically checks add-on and plugin versions and disables older, insecure versions.
* **Secure add-on updates.** Add-on update security has been improved by disallowing add-ons that use an insecure update mechanism.
* **Anti-virus integration.** Firefox 3 now informs anti-virus software when executable files are downloaded.
* **Windows Vista parental controls support.** Firefox 3 supports the Vista system-wide parental control setting for disabling file downloads.

#### Performance

* **Reliability.** Firefox 3 now stores bookmarks, history, cookies, and preferences in a transactionally secure database format. This means your data is protected against loss even if your system crashes.
* **Speed.** Firefox 3 has gotten a performance boost by completely replacing the part of the software that handles drawing to your screen, as well as to how page layout work is handled.
* **Memory use reduced.** Firefox 3 is more memory efficient than ever, with over 300 memory "leak" bugs fixed and new features to help automatically locate and dispose of leaked memory blocks.
### See also

* Updating extensions for Firefox 3
* Updating web applications for Firefox 3
* Firefox 2 for developers
* Firefox 1.5 for developers


Firefox 32 для разработчиков - Mozilla

Firefox 32 для разработчиков
============================

Хотите помочь с документированием Firefox 32? Взгляните на список ошибок, о которых нужно написать и приступайте!

Изменения для Web Разработчиков
-------------------------------

### Инструментарий разработчика

Основные изменения:

* Редактор Web Audio
* Автоподстановка и подсказки в Блокноте
* Стили User agent в представлении Inspector Rules
* Кнопка выбора элемента со страницы перемещена
* Добавлено отображение размеров узла в информационную панель Инспектора
* Добавлена кнопка снятия снимка всей страницы
* Добавлены HiDPI изображения в инструменты
* Узлы, содержащие `display:none` в Инспекторе отображаются иначе

Все ошибки исправленные между версиями Firefox 31 и Firefox 32.

### CSS

* `mix-blend-mode` включено по умолчанию (Firefox bug 952643).
* `position:sticky` включено по умолчанию в Release сборках (раньше было только в Nightly и Aurora) (Firefox bug 916315).
* реализовано box-decoration-break: Левая/правая часть box-shadow должна быть отрисована только на первом/последнем элементе inline контейнера (Firefox bug 613659).
* Реализация flex-grow/flex-shrink для преобразования между нулевыми и не нулевыми значениями (Firefox bug 996945).
### HTML

* Экспериментальная реализация свойства (включается параметром) `<img>` `srcset`. Чтобы включить его, установите значение `dom.image.srcset.enable` в `true` (Firefox bug 870021).
### JavaScript

* Реализованы новые встроенные методы ECMAScript 6:
    + `Array.from()` (Firefox bug 904723)
    + `Array.prototype.copyWithin()`
    + `Number.isSafeInteger()`
### Интерфейсы/APIs/DOM

* Реализованы свойство `navigator.languages` и событие `languagechange (en-US)` (Firefox bug 889335).
* В методы `KeyboardEvent.getModifierState` (en-US)() и `MouseEvent.getModifierState` (en-US)() добавлена поддержка виртуального модификатора `Accel` (Firefox bug 1009388).
* Добавлена экспериментальная реализация свойства `KeyboardEvent.code` (en-US): она отключена в Release сборках (Firefox bug 865649).
### MathML

* Добавлена поддержка для `<menclose>` notation `phasorangle`.
### SVG

*Без изменений.*

### Audio/Video

\_*Без изменений*.\_

Безопасность
------------

* Привилегированный код теперь обладает рентгеновским зрением относительно экземпляров `Object` и `Array` в (en-US) JavaScript (en-US).
Изменения для разработчиков дополнений и разработчиков Mozilla
--------------------------------------------------------------

### Add-on SDK

#### Основные изменения

* Добавлено свойство `exclude` в `PageMod`.
* Добавлено свойство `anonymous` в `Request`.
* Add-on Debugger теперь содержит Консоль и Блокнот.

#### Подробнее

Коммиты GitHub между версиями Firefox 31 и Firefox 32. Не будут включать никаких поднятий, сделанных после того, как этот выпуск войдёт в Aurora.

Ошибки исправленные Firefox 31 и Firefox 32. Сюда не включены изменения, сделанные после того, как этот релиз был перемещён в стадию Aurora.

Смотрите также
--------------

* Совместимость сайтов с Firefox 32
### Предыдущие версии

* Firefox 31 для разработчиков
* Firefox 30 для разработчиков (en-US)
* Firefox 29 для разработчиков
* Firefox 28 для разработчиков
* Firefox 27 для разработчиков (en-US)
* Firefox 26 для разработчиков (en-US)
* Firefox 25 для разработчиков (en-US)
* Firefox 24 для разработчиков (en-US)
* Firefox 23 для разработчиков (en-US)
* Firefox 22 для разработчиков (en-US)
* Firefox 21 для разработчиков (en-US)
* Firefox 20 для разработчиков (en-US)
* Firefox 19 для разработчиков (en-US)
* Firefox 18 для разработчиков (en-US)
* Firefox 17 для разработчиков (en-US)
* Firefox 16 для разработчиков (en-US)
* Firefox 15 для разработчиков (en-US)
* Firefox 14 для разработчиков (en-US)
* Firefox 13 для разработчиков (en-US)
* Firefox 12 для разработчиков (en-US)
* Firefox 11 для разработчиков (en-US)
* Firefox 10 для разработчиков (en-US)
* Firefox 9 для разработчиков (en-US)
* Firefox 8 для разработчиков (en-US)
* Firefox 7 для разработчиков (en-US)
* Firefox 6 для разработчиков (en-US)
* Firefox 5 для разработчиков (en-US)
* Firefox 4 для разработчиков (en-US)
* Firefox 3.6 для разработчиков (en-US)
* Firefox 3.5 для разработчиков
* Firefox 3 для разработчиков
* Firefox 2 для разработчиков (en-US)
* Firefox 1.5 для разработчиков (en-US)


Firefox 65 для разработчиков - Mozilla

Firefox 65 для разработчиков
============================

В этой статье перечислены ключевые изменения, которые касаются разработчиков. Firefox 64 был выпущен 29 января 2019 года.

Изменения для веб-разработчиков
-------------------------------

### Инструменты разработчика

* Включён по умолчанию инспектор Flexbox (en-US).
* Отладчик JavaScript получил поддержку точек останова XHR (Firefox bug 821610).
* Щелчок правой кнопкой по элементу дерева доступности позволяет вывести его в JSON-формате.
* Если фон текста является сложным (например, градиент или сложное изображение), инструмент цветового контраста в инспекторе доступности покажет диапазон значений цветового контраста.
* Во вкладку «Заголовки» сетевого монитора добавлено отображение политики Referrer для выбранного запроса (Firefox bug 1496742).
* При просмотре трассировки стека (например, в журналах консоли или отладчике JavaScript) вызовы методов фреймворка распознаются и по умолчанию сворачиваются, что облегчает размещение вашего кода.
* Подобно традиционным терминалам теперь можно использовать обратный поиск в истории консоли JavaScript(
 `F9`
 в Windows/Linux или
 `Ctrl`
 +
 `R`
 в macOS, затем ввести искомое, а сочетаниями
 `Ctrl`
 +
 `R`
 /
 `Ctrl`
 +
 `S`
 переключаться между результатами).
* Сокращение `$0` в консоли JavaScript (ссылается на инспектируемый в данный момент элемент страницы) обзавелось возможностью автодополнения. Например, вы можете ввести `$0.te`, чтобы получить предложения автодополнения для свойств наподобие `$0.textContent`.
* Правки, внесённые через просмотр правил в Инспекторе, теперь отображаются на вкладке «Изменения» (Firefox bug 1503920).
### HTML

* События теперь отправляются на отключённые элементы HTML, то есть элементы `<button>`, `<fieldset>`, `<input>`, `<select>` и `<textarea>` (en-US) с установленными атрибутами `disabled` (Firefox bug 329509).
* Как в Chrome и Safari, удаление атрибута `src` у элемента `<iframe>` (en-US) загружает в него `about:blank` (Firefox bug 1501418) . До этого удаление `src` не влияло на содержимое `iframe`.
* Добавлена поддержка атрибута `referrerpolicy` у элементов `<script>` (Firefox bug 1460920).
### CSS

* Убран префикс у значения `crisp-edges` свойства `image-rendering` (en-US) (Firefox bug 1496617).
* Значение `auto` `scrollbar-color` (en-US) теперь разрешается в `auto`, а не в два цвета (Firefox bug 1501418).
* Реализована поддержка свойств `break-*` (Firefox bug 775618):
    + `break-before` (en-US) → `page-break-before` (en-US).
    + `break-after` (en-US) → `page-break-after` (en-US).
    + `break-inside` (en-US) → `page-break-inside` (en-US).
* Реализована поддержка значения `anywhere` у свойства `overflow-wrap` (Firefox bug 1505786).
* Добавлены новые ключевые слова `jump-start`, `jump-end`, `jump-none` и `jump-both`, используемые внутри временной функции steps() (en-US) (Firefox bug 1496619). Функция `frames()`, ранее использовавшаяся для этого, объявлена устаревшей.
* Для совместимости с прочими браузерами добавлены несколько новых значений `-webkit-appearance`. В частности:
    + `meter`, которое отныне используется в качестве значения по умолчанию для элементов `<meter>`; существующее значение `meterbar` теперь является псевдонимом `meter` (Firefox bug 1501483).
    + `progress-bar`, которое отныне используется в качестве значения по умолчанию для элементов `<progress>`; существующее значение `progressbar` теперь является псевдонимом `progress-bar` (Firefox bug 1501506).
    + `textarea`, которое отныне используется в качестве значения по умолчанию для элементов `<textarea>` (en-US); существующее значение `textfield-multiline` теперь является псевдонимом `textarea` (Firefox bug 1507905)
* Изменено поведение `user-select`, чтобы достичь сходства с прочими браузерами (Firefox bug 1506547). Конкретно:
    + `user-select: all`, установленное на элемент, больше не перекрывает значения `user-select` дочерних элементов. Пример:
     html
    ```html
    <div style="-webkit-user-select: all">
      All
      <div style="-webkit-user-select: none">None</div>
    </div>

    ```
    `<div>`, на который установлен `none`, теперь не выбирается. До этого значение `none` перекрывалось значением `all` родительского элемента.
    + Теперь можно выбирать элементы не-`contenteditable`, вложенные в элементы `contenteditable`.
    + `user-select` теперь ведёт себя согласованно внутри и снаружи теневого DOM.
    + Удалено проприетарное значение `-moz-text`.
* Реализована поддержка переменных среды CSS (функция `env()` (en-US)) (Firefox bug 1462233).

#### Удалено

* Удалена настройка `layout.css.shape-outside.enabled`; поддержку `shape-outside` (en-US), `shape-margin` (en-US) и `shape-image-threshold` (en-US) больше нельзя отключить через `about:config` (Firefox bug 1504387).
* Удалены некоторые специфичные для Firefox значения `user-select` — `-moz-all`, `-moz-text`, `tri-state`, `element`, `elements` и `toggle`. См. Firefox bug 1492958 и Firefox bug 1506547.
* Как упоминалось выше, удалена временная функция `frames()` (Firefox bug 1496619).
### SVG

*Без изменений.*

### JavaScript

* Реализована поддержка `Intl.RelativeTimeFormat` (en-US) (Firefox bug 1504334).
* Максимально допустимое значение length у строк отныне составляет `2^30 - 2` (~1 ГБ) вместо `2^28 - 1` (~256 МБ) (Firefox bug 1509542).
* Добавлена поддержка свойства `globalThis` (Firefox bug 1317422).
### API

#### Новые API

* Включена по умолчанию поддержка Readable Streams (en-US) (Firefox bug 1505122).
* Включена по умолчанию поддержка Storage Access API (Firefox bug 1513021).

#### DOM

* `Performance.toJSON()` (en-US) доступен веб-воркерам (Firefox bug 1504958).
* Запросы `XMLHttpRequest` будут выбрасывать `NetworkError`, если запрошено содержимое типа `Blob`, а метод запроса отличен от `GET` (Firefox bug 1502599).
* Многие функции Fullscreen API (en-US) с префиксом `-moz-` объявлены устаревшими и выдают предупреждение в консоль JavaScript (Firefox bug 1504946).
* `createImageBitmap()` (en-US) отныне поддерживает изображения SVG (`SVGImageElement` (en-US)) в качестве источника (Firefox bug 1500768).

#### События DOM

* За одно событие разрешено не более одного вызова `Window.open()` (en-US) (Firefox bug 675574).
* События `keyup` (en-US) и `keydown` (en-US) в целях улучшения кроссбраузерной совместимости для пользователей CJKT отныне срабатывают во время композиции IME (Firefox bug 354358).

#### Веб-воркеры

* Поскольку событие `SharedWorkerGlobalScope.onconnect` (en-US) является экземпляром `MessageEvent` (en-US), его свойство `data` теперь представляет собой пустую строку, а не `null` (Firefox bug 1508824).

#### Fetch и сервис-воркеры

* Метод `Response.redirect()` (en-US) теперь корректно выбрасывает `TypeError`, если в качестве первого параметра указан невалидный URL (Firefox bug 1503276).
* Методы `ServiceWorkerContainer.register()` и `WorkerGlobalScope.importScripts()` (когда они используется сервис-воркером) отныне принимают любые файлы с валидными MIME-типом JavaScript (Firefox bug 1354577).
* Добавлена поддержка свойств `FetchEvent.replacesClientId` (en-US) и `FetchEvent.resultingClientId` (en-US) (Firefox bug 1264177).
* Реализована поддержка `ServiceWorkerGlobalScope.onmessageerror` и `ServiceWorkerContainer.onmessageerror` (Firefox bug 1399446).
* Заголовок `Origin` больше не устанавливается у запросов Fetch с методом `HEAD` или `GET` (Firefox bug 1508661).

#### Media, Web Audio и WebRTC

* Словарь WebRTC `RTCIceCandidateStats` (en-US) обновлён в соответствии с последними изменениями спецификации (Firefox bug 1324788, Firefox bug 1489040).
* События `pause` и `resume` `MediaRecorder` (и соответствующие свойства обработчика событий — `MediaRecorder.onpause` (en-US) и `MediaRecorder.onresume` (en-US)) не были реализованы ранее, хотя таблицы совместимости утверждали обратное. Теперь они реализованы (Firefox bug 1458538, Firefox bug 1514016).

#### Canvas и WebGL

* В контекстах WebGL1 и WebGL2 доступно использование расширений сжатия текстур WebGL `EXT_texture_compression_bptc` (en-US) и `EXT_texture_compression_rgtc` (en-US) (Firefox bug 1507263).

#### Удалено

* Отключена мутация событий (en-US) в теневых деревьях (Firefox bug 1489858).
* Удалено нестандартное свойство `currentTime` `MediaStream` (Firefox bug 1502927).
* Удалены настройки `dom.webcomponents.shadowdom.enabled` и `dom.webcomponents.customelements.enabled` — больше нельзя отключить поддержку Shadow DOM и Custom Elements через `about:config` (Firefox bug 1503019).
* Удалено нестандартное событие DOM `text`, срабатывавшее, чтобы уведомить пользовательский интерфейс редактора браузера о строках данных композиции IME и диапазоне выбора (Firefox bug 1288640).
* Событие `keypress (en-US)` больше не срабатывает для непечатаемых клавиш (en-US) (Firefox bug 968056) за исключением клавиши
 `Enter`
 и комбинаций
 `Shift`
 +
 `Enter`
 и
 `Ctrl`
 +
 `Enter`
 (сохранены для кроссбраузерной совместимости).
### Безопасность

* К допустимым заголовкам запросов отныне применяются дополнительные ограничения CORS (Firefox bug 1483815, см. также whatwg fetch issue 382: CORS-safelisted request headers should be restricted according to RFC 7231 для получения дополнительных сведений).
### Сеть

*Без изменений.*

### Плагины

*Без изменений.*

### WebDriver (Marionette)

#### Изменения API

* `WebDriver:ElementSendKeys` при проверке интерактивности обрабатывает `<input type=file>` менее строго, позволяя скрывать эти элементы без возникновения ошибки `not interactable`. Если требуется строгая проверка, следует использовать `strictFileInteractability` (Firefox bug 1502864).

#### Исправленные ошибки

* Команды для манипуляций окнами `WebDriver:FullscreenWindow`, `WebDriver:MinimizeWindow`, `WebDriver:MaximizeWindow` и `WebDriver:SetWindowRect` стали более стабильными (Firefox bug 1492499). При определённых обстоятельствах они больше не вызывают бесконечное зависание, но ожидают в течение 5 секунд, если запрошенное состояние окна не может быть достигнуто (Firefox bug 1521527).
* `WebDriver:ElementClick` отныне корректно высчитывает центр элемента для щелчка по нему, что позволяет взаимодействовать с элементами, имеющими размер 1x1 пиксель (Firefox bug 1499360).

#### Прочее

* При возникновении ошибки `unexpected alert open` выводятся более понятные сообщения (Firefox bug 1502268).
### Прочее

* Добавлена поддержка изображений в формате WebP (en-US) (Firefox bug 1294490).
    + Кроме того, для улучшения кросс-браузерной совместимости MIME-тип WebP (`image/webp`) был добавлен в стандартный заголовок HTTP-запроса `Accept` для файлов HTML (Firefox bug 1507691).
Изменения для разработчиков дополнений
--------------------------------------

### Изменения API

#### Вкладки

* tabs API (en-US) обзавёлся поддержкой наследников вкладок — вкладке можно назначить ID вкладки-наследника, которая станет активной, когда первая вкладка закроется (Firefox bug 1500479, см. также эту запись в блоге для получения подробных сведений). В частности:
    + Тип `tabs.Tab` (en-US) получил свойство `successorId`, используемое для хранения/получения ID вкладки-наследника.
    + Колбэк обработчика событий `tabs.onActivated` (en-US) получил новый параметр, `previousTabId`, содержащий ID предыдущей активированной вкладки, если она всё ещё открыта.
    + Объект `updateProperties` функции `tabs.update()` (en-US) обзавёлся новым свойством `successorTabId`, которое служит для его обновления.
    + `successorTabId` также возвращается функциями наподобие `tabs.get()` и `tabs.query()` (en-US).
    + Новая функция `tabs.moveInSuccession()` позволяет массово манипулировать наследниками вкладок.
### Изменения манифеста

*Без изменений.*

### Прочее

* Версия для Android теперь поддерживает свойства `headerURL`/`theme_frame` для тем расширений (en-US) (Firefox bug 1429488).
Предыдущие версии
-----------------

* Firefox 65 для разработчиков
* Firefox 64 для разработчиков
* Firefox 63 для разработчиков
* Firefox 62 для разработчиков
* Firefox 61 для разработчиков (en-US)
* Firefox 60 для разработчиков (en-US)
* Firefox 59 для разработчиков (en-US)
* Firefox 58 для разработчиков (en-US)
* Firefox 57 для разработчиков (en-US)
* Firefox 56 для разработчиков (en-US)
* Firefox 55 для разработчиков (en-US)
* Firefox 54 для разработчиков (en-US)
* Firefox 53 для разработчиков
* Firefox 52 для разработчиков (en-US)
* Firefox 51 для разработчиков (en-US)
* Firefox 50 для разработчиков (en-US)
* Firefox 49 для разработчиков (en-US)
* Firefox 48 для разработчиков (en-US)
* Firefox 47 для разработчиков (en-US)
* Firefox 46 для разработчиков (en-US)
* Firefox 45 для разработчиков (en-US)
* Firefox 44 для разработчиков (en-US)
* Firefox 43 для разработчиков
* Firefox 42 для разработчиков (en-US)
* Firefox 41 для разработчиков (en-US)
* Firefox 40 для разработчиков (en-US)
* Firefox 39 для разработчиков (en-US)
* Firefox 38 для разработчиков (en-US)
* Firefox 37 для разработчиков (en-US)
* Firefox 36 для разработчиков (en-US)
* Firefox 35 для разработчиков (en-US)