Bug 1761323 - Update pdf.js to version 2.14.102 r=pdfjs-reviewers,bdahl

Differential Revision: https://phabricator.services.mozilla.com/D141984
This commit is contained in:
Calixte 2022-03-24 18:17:23 +00:00
Родитель 7d1bb7f33d
Коммит 5222ec1a62
10 изменённых файлов: 529 добавлений и 765 удалений

Просмотреть файл

@ -1,5 +1,5 @@
This is the PDF.js project output, https://github.com/mozilla/pdf.js
Current extension version is: 2.14.13
Current extension version is: 2.14.102
Taken from upstream commit: 234aa9a50
Taken from upstream commit: db4f3adc5

Просмотреть файл

@ -1,4 +1,4 @@
/* Copyright 2021 Mozilla Foundation
/* Copyright 2022 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

Просмотреть файл

@ -56,7 +56,6 @@ exports.info = info;
exports.isArrayBuffer = isArrayBuffer;
exports.isArrayEqual = isArrayEqual;
exports.isAscii = isAscii;
exports.isSameOrigin = isSameOrigin;
exports.objectFromMap = objectFromMap;
exports.objectSize = objectSize;
exports.setVerbosityLevel = setVerbosityLevel;
@ -446,23 +445,6 @@ function assert(cond, msg) {
}
}
function isSameOrigin(baseUrl, otherUrl) {
let base;
try {
base = new URL(baseUrl);
if (!base.origin || base.origin === "null") {
return false;
}
} catch (e) {
return false;
}
const other = new URL(otherUrl, base);
return base.origin === other.origin;
}
function _isValidProtocol(url) {
if (!url) {
return false;
@ -1060,7 +1042,7 @@ exports.isNodeJS = isNodeJS;
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.build = exports.RenderTask = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;
exports.build = exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;
exports.getDocument = getDocument;
exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
exports.version = void 0;
@ -1183,7 +1165,6 @@ function getDocument(src) {
params[key] = value;
}
params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;
params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory;
params.ignoreErrors = params.stopAtErrors !== true;
@ -1191,14 +1172,26 @@ function getDocument(src) {
params.pdfBug = params.pdfBug === true;
params.enableXfa = params.enableXfa === true;
if (!Number.isInteger(params.rangeChunkSize) || params.rangeChunkSize < 1) {
params.rangeChunkSize = DEFAULT_RANGE_CHUNK_SIZE;
}
if (typeof params.docBaseUrl !== "string" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) {
params.docBaseUrl = null;
}
if (!Number.isInteger(params.maxImageSize)) {
if (!Number.isInteger(params.maxImageSize) || params.maxImageSize < -1) {
params.maxImageSize = -1;
}
if (typeof params.cMapUrl !== "string") {
params.cMapUrl = null;
}
if (typeof params.standardFontDataUrl !== "string") {
params.standardFontDataUrl = null;
}
if (typeof params.useWorkerFetch !== "boolean") {
params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory;
}
@ -1215,7 +1208,7 @@ function getDocument(src) {
params.useSystemFonts = !params.disableFontFace;
}
if (typeof params.ownerDocument === "undefined") {
if (typeof params.ownerDocument !== "object" || params.ownerDocument === null) {
params.ownerDocument = globalThis.document;
}
@ -1304,7 +1297,7 @@ async function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
const workerId = await worker.messageHandler.sendWithPromise("GetDocRequest", {
docId,
apiVersion: '2.14.13',
apiVersion: '2.14.102',
source: {
data: source.data,
url: source.url,
@ -1333,17 +1326,13 @@ async function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
}
class PDFDocumentLoadingTask {
static get idCounters() {
return (0, _util.shadow)(this, "idCounters", {
doc: 0
});
}
static #docId = 0;
constructor() {
this._capability = (0, _util.createPromiseCapability)();
this._transport = null;
this._worker = null;
this.docId = `d${PDFDocumentLoadingTask.idCounters.doc++}`;
this.docId = `d${PDFDocumentLoadingTask.#docId++}`;
this.destroyed = false;
this.onPassword = null;
this.onProgress = null;
@ -2145,19 +2134,18 @@ const PDFWorkerUtil = {
fallbackWorkerSrc: null,
fakeWorkerId: 0
};
exports.PDFWorkerUtil = PDFWorkerUtil;
;
class PDFWorker {
static get _workerPorts() {
return (0, _util.shadow)(this, "_workerPorts", new WeakMap());
}
static #workerPorts = new WeakMap();
constructor({
name = null,
port = null,
verbosity = (0, _util.getVerbosityLevel)()
} = {}) {
if (port && PDFWorker._workerPorts.has(port)) {
if (port && PDFWorker.#workerPorts.has(port)) {
throw new Error("Cannot use more than one PDFWorker per port.");
}
@ -2170,7 +2158,7 @@ class PDFWorker {
this._messageHandler = null;
if (port) {
PDFWorker._workerPorts.set(port, this);
PDFWorker.#workerPorts.set(port, this);
this._initializeFromPort(port);
@ -2269,15 +2257,8 @@ class PDFWorker {
});
const sendTest = () => {
const testObj = new Uint8Array([255]);
try {
messageHandler.send("test", testObj, [testObj.buffer]);
} catch (ex) {
(0, _util.warn)("Cannot use postMessage transfers.");
testObj[0] = 0;
messageHandler.send("test", testObj);
}
const testObj = new Uint8Array();
messageHandler.send("test", testObj, [testObj.buffer]);
};
sendTest();
@ -2330,8 +2311,7 @@ class PDFWorker {
this._webWorker = null;
}
PDFWorker._workerPorts.delete(this._port);
PDFWorker.#workerPorts.delete(this._port);
this._port = null;
if (this._messageHandler) {
@ -2346,8 +2326,8 @@ class PDFWorker {
throw new Error("PDFWorker.fromPort - invalid method signature.");
}
if (this._workerPorts.has(params.port)) {
return this._workerPorts.get(params.port);
if (this.#workerPorts.has(params.port)) {
return this.#workerPorts.get(params.port);
}
return new PDFWorker(params);
@ -3138,9 +3118,7 @@ class RenderTask {
exports.RenderTask = RenderTask;
class InternalRenderTask {
static get canvasInUse() {
return (0, _util.shadow)(this, "canvasInUse", new WeakSet());
}
static #canvasInUse = new WeakSet();
constructor({
callback,
@ -3191,11 +3169,11 @@ class InternalRenderTask {
}
if (this._canvas) {
if (InternalRenderTask.canvasInUse.has(this._canvas)) {
if (InternalRenderTask.#canvasInUse.has(this._canvas)) {
throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed.");
}
InternalRenderTask.canvasInUse.add(this._canvas);
InternalRenderTask.#canvasInUse.add(this._canvas);
}
if (this._pdfBug && globalThis.StepperManager?.enabled) {
@ -3235,7 +3213,7 @@ class InternalRenderTask {
}
if (this._canvas) {
InternalRenderTask.canvasInUse.delete(this._canvas);
InternalRenderTask.#canvasInUse.delete(this._canvas);
}
this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, "canvas"));
@ -3299,7 +3277,7 @@ class InternalRenderTask {
this.gfx.endDrawing();
if (this._canvas) {
InternalRenderTask.canvasInUse.delete(this._canvas);
InternalRenderTask.#canvasInUse.delete(this._canvas);
}
this.callback();
@ -3309,9 +3287,9 @@ class InternalRenderTask {
}
const version = '2.14.13';
const version = '2.14.102';
exports.version = version;
const build = '234aa9a50';
const build = 'db4f3adc5';
exports.build = build;
/***/ }),
@ -9209,7 +9187,7 @@ class LinkAnnotationElement extends AnnotationElement {
const link = document.createElement("a");
if (data.url) {
linkService.addLinkAttributes?.(link, data.url, data.newWindow);
linkService.addLinkAttributes(link, data.url, data.newWindow);
} else if (data.action) {
this._bindNamedAction(link, data.action);
} else if (data.dest) {
@ -11102,8 +11080,6 @@ Object.defineProperty(exports, "__esModule", ({
}));
exports.XfaLayer = void 0;
var _util = __w_pdfjs_require__(1);
var _xfa_text = __w_pdfjs_require__(17);
class XfaLayer {
@ -11225,7 +11201,7 @@ class XfaLayer {
}
if (isHTMLAnchorElement) {
linkService.addLinkAttributes?.(html, attributes.href, attributes.newWindow);
linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);
}
if (storage && attributes.dataId) {
@ -12403,8 +12379,8 @@ var _svg = __w_pdfjs_require__(22);
var _xfa_layer = __w_pdfjs_require__(20);
const pdfjsVersion = '2.14.13';
const pdfjsBuild = '234aa9a50';
const pdfjsVersion = '2.14.102';
const pdfjsBuild = 'db4f3adc5';
;
})();

Просмотреть файл

@ -1,4 +1,4 @@
/* Copyright 2021 Mozilla Foundation
/* Copyright 2022 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

Просмотреть файл

@ -1400,17 +1400,23 @@ class AForm {
}
_parseDate(cFormat, cDate) {
const ddate = Date.parse(cDate);
let date = null;
if (isNaN(ddate)) {
try {
return this._util.scand(cFormat, cDate);
} catch (error) {
return null;
try {
date = this._util.scand(cFormat, cDate);
} catch (error) {}
if (!date) {
date = Date.parse(cDate);
if (isNaN(date)) {
date = null;
} else {
date = new Date(date);
}
} else {
return new Date(ddate);
}
return date;
}
AFMergeChange(event = globalThis.event) {
@ -4699,6 +4705,10 @@ class Util extends _pdf_object.PDFObject {
}
scand(cFormat, cDate) {
if (typeof cDate !== "string") {
return new Date(cDate);
}
if (cDate === "") {
return new Date();
}
@ -4857,16 +4867,16 @@ class Util extends _pdf_object.PDFObject {
const [re, actions] = this._scandCache.get(cFormat);
const matches = new RegExp(re, "g").exec(cDate);
const matches = new RegExp(`^${re}$`, "g").exec(cDate);
if (!matches || matches.length !== actions.length + 1) {
return null;
}
const data = {
year: 0,
year: 2000,
month: 0,
day: 0,
day: 1,
hours: 0,
minutes: 0,
seconds: 0,
@ -4937,8 +4947,8 @@ Object.defineProperty(exports, "initSandbox", ({
var _initialization = __w_pdfjs_require__(1);
const pdfjsVersion = '2.14.13';
const pdfjsBuild = '234aa9a50';
const pdfjsVersion = '2.14.102';
const pdfjsBuild = 'db4f3adc5';
})();
/******/ return __webpack_exports__;

Просмотреть файл

@ -100,7 +100,7 @@ class WorkerMessageHandler {
}
testMessageProcessed = true;
handler.send("test", data instanceof Uint8Array && data[0] === 255);
handler.send("test", data instanceof Uint8Array);
});
handler.on("configure", function wphConfigure(data) {
(0, _util.setVerbosityLevel)(data.verbosity);
@ -117,7 +117,7 @@ class WorkerMessageHandler {
const WorkerTasks = [];
const verbosity = (0, _util.getVerbosityLevel)();
const apiVersion = docParams.apiVersion;
const workerVersion = '2.14.13';
const workerVersion = '2.14.102';
if (apiVersion !== workerVersion) {
throw new Error(`The API version "${apiVersion}" does not match ` + `the Worker version "${workerVersion}".`);
@ -713,7 +713,6 @@ exports.info = info;
exports.isArrayBuffer = isArrayBuffer;
exports.isArrayEqual = isArrayEqual;
exports.isAscii = isAscii;
exports.isSameOrigin = isSameOrigin;
exports.objectFromMap = objectFromMap;
exports.objectSize = objectSize;
exports.setVerbosityLevel = setVerbosityLevel;
@ -1103,23 +1102,6 @@ function assert(cond, msg) {
}
}
function isSameOrigin(baseUrl, otherUrl) {
let base;
try {
base = new URL(baseUrl);
if (!base.origin || base.origin === "null") {
return false;
}
} catch (e) {
return false;
}
const other = new URL(otherUrl, base);
return base.origin === other.origin;
}
function _isValidProtocol(url) {
if (!url) {
return false;
@ -2007,10 +1989,8 @@ class RefSet {
this._set.delete(ref.toString());
}
forEach(callback) {
for (const ref of this._set.values()) {
callback(ref);
}
[Symbol.iterator]() {
return this._set.values();
}
clear() {
@ -2046,10 +2026,8 @@ class RefSetCache {
this._map.set(ref.toString(), this.get(aliasRef));
}
forEach(callback) {
for (const value of this._map.values()) {
callback(value);
}
[Symbol.iterator]() {
return this._map.values();
}
clear() {
@ -3604,8 +3582,6 @@ var _primitives = __w_pdfjs_require__(5);
var _xfa_fonts = __w_pdfjs_require__(12);
var _stream = __w_pdfjs_require__(10);
var _annotation = __w_pdfjs_require__(22);
var _base_stream = __w_pdfjs_require__(9);
@ -3618,6 +3594,8 @@ var _cleanup_helper = __w_pdfjs_require__(66);
var _parser = __w_pdfjs_require__(27);
var _stream = __w_pdfjs_require__(10);
var _object_loader = __w_pdfjs_require__(71);
var _operator_list = __w_pdfjs_require__(62);
@ -4092,17 +4070,7 @@ function find(stream, signature, limit = 1024, backwards = false) {
}
class PDFDocument {
constructor(pdfManager, arg) {
let stream;
if (arg instanceof _base_stream.BaseStream) {
stream = arg;
} else if ((0, _util.isArrayBuffer)(arg)) {
stream = new _stream.Stream(arg);
} else {
throw new Error("PDFDocument: Unknown argument type");
}
constructor(pdfManager, stream) {
if (stream.length <= 0) {
throw new _util.InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");
}
@ -10235,9 +10203,10 @@ class PartialEvaluator {
}
}
processed.forEach(ref => {
for (const ref of processed) {
nonBlendModesSet.put(ref);
});
}
return false;
}
@ -10433,8 +10402,14 @@ class PartialEvaluator {
const maxImageSize = this.options.maxImageSize;
if (maxImageSize !== -1 && w * h > maxImageSize) {
(0, _util.warn)("Image exceeded maximum allowed size and was removed.");
return;
const msg = "Image exceeded maximum allowed size and was removed.";
if (this.options.ignoreErrors) {
(0, _util.warn)(msg);
return;
}
throw new Error(msg);
}
let optionalContent;
@ -26573,6 +26548,27 @@ class Font {
locaEntries.sort((a, b) => {
return a.index - b.index;
});
for (i = 0; i < numGlyphs; i++) {
const {
offset,
endOffset
} = locaEntries[i];
if (offset !== 0 || endOffset !== 0) {
break;
}
const nextOffset = locaEntries[i + 1].offset;
if (nextOffset === 0) {
continue;
}
locaEntries[i].endOffset = nextOffset;
break;
}
const missingGlyphs = Object.create(null);
let writeOffset = 0;
itemEncode(locaData, 0, writeOffset);
@ -39394,9 +39390,9 @@ class GlobalImageCache {
get _byteSize() {
let byteSize = 0;
this._imageCache.forEach(imageData => {
for (const imageData of this._imageCache) {
byteSize += imageData.byteSize;
});
}
return byteSize;
}
@ -42377,42 +42373,34 @@ class Catalog {
return (0, _util.shadow)(this, "jsActions", actions);
}
fontFallback(id, handler) {
const promises = [];
this.fontCache.forEach(function (promise) {
promises.push(promise);
});
return Promise.all(promises).then(translatedFonts => {
for (const translatedFont of translatedFonts) {
if (translatedFont.loadedName === id) {
translatedFont.fallback(handler);
return;
}
async fontFallback(id, handler) {
const translatedFonts = await Promise.all(this.fontCache);
for (const translatedFont of translatedFonts) {
if (translatedFont.loadedName === id) {
translatedFont.fallback(handler);
return;
}
});
}
}
cleanup(manuallyTriggered = false) {
async cleanup(manuallyTriggered = false) {
(0, _cleanup_helper.clearGlobalCaches)();
this.globalImageCache.clear(manuallyTriggered);
this.pageKidsCountCache.clear();
this.pageIndexCache.clear();
this.nonBlendModesSet.clear();
const promises = [];
this.fontCache.forEach(function (promise) {
promises.push(promise);
});
return Promise.all(promises).then(translatedFonts => {
for (const {
dict
} of translatedFonts) {
delete dict.cacheKey;
}
const translatedFonts = await Promise.all(this.fontCache);
this.fontCache.clear();
this.builtInCMapCache.clear();
this.standardFontDataCache.clear();
});
for (const {
dict
} of translatedFonts) {
delete dict.cacheKey;
}
this.fontCache.clear();
this.builtInCMapCache.clear();
this.standardFontDataCache.clear();
}
async getPageDict(pageIndex) {
@ -61873,8 +61861,8 @@ Object.defineProperty(exports, "WorkerMessageHandler", ({
var _worker = __w_pdfjs_require__(1);
const pdfjsVersion = '2.14.13';
const pdfjsBuild = '234aa9a50';
const pdfjsVersion = '2.14.102';
const pdfjsBuild = 'db4f3adc5';
})();
/******/ return __webpack_exports__;

Просмотреть файл

@ -995,23 +995,16 @@ select {
position: absolute;
top: 32px;
bottom: 0;
inset-inline-start: calc(-1 * var(--sidebar-width));
width: var(--sidebar-width);
visibility: hidden;
z-index: 100;
border-top: 1px solid rgba(51, 51, 51, 1);
border-inline-end: var(--doorhanger-border-color-whcm);
transition-property: inset-inline-start;
transition-duration: var(--sidebar-transition-duration);
transition-timing-function: var(--sidebar-transition-timing-function);
}
html[dir="ltr"] #sidebarContainer {
transition-property: left;
left: calc(0px - var(--sidebar-width));
border-right: var(--doorhanger-border-color-whcm);
}
html[dir="rtl"] #sidebarContainer {
transition-property: right;
right: calc(0px - var(--sidebar-width));
border-left: var(--doorhanger-border-color-whcm);
}
#outerContainer.sidebarResizing #sidebarContainer {
/* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
@ -1024,11 +1017,8 @@ html[dir="rtl"] #sidebarContainer {
#outerContainer.sidebarOpen #sidebarContainer {
visibility: visible;
}
html[dir="ltr"] #outerContainer.sidebarOpen #sidebarContainer {
left: 0;
}
html[dir="rtl"] #outerContainer.sidebarOpen #sidebarContainer {
right: 0;
#outerContainer.sidebarOpen #sidebarContainer {
inset-inline-start: 0;
}
#mainContainer {
@ -1043,17 +1033,16 @@ html[dir="rtl"] #outerContainer.sidebarOpen #sidebarContainer {
#sidebarContent {
top: 32px;
bottom: 0;
inset-inline-start: 0;
overflow: auto;
position: absolute;
width: 100%;
background-color: rgba(0, 0, 0, 0.1);
}
html[dir="ltr"] #sidebarContent {
left: 0;
box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.25);
}
html[dir="rtl"] #sidebarContent {
right: 0;
box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.25);
}
@ -1076,17 +1065,9 @@ html[dir="rtl"] #sidebarContent {
transition-duration: 0s;
}
html[dir="ltr"]
#outerContainer.sidebarOpen
#viewerContainer:not(.pdfPresentationMode) {
transition-property: left;
left: var(--sidebar-width);
}
html[dir="rtl"]
#outerContainer.sidebarOpen
#viewerContainer:not(.pdfPresentationMode) {
transition-property: right;
right: var(--sidebar-width);
#outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
inset-inline-start: var(--sidebar-width);
transition-property: inset-inline-start;
}
.toolbar {
@ -1115,34 +1096,22 @@ html[dir="rtl"] #toolbarSidebar {
0 0 1px rgba(0, 0, 0, 0.1);
}
html[dir="ltr"] #toolbarSidebar .toolbarButton {
margin-right: 2px !important;
#toolbarSidebar .toolbarButton {
margin-inline-end: 2px !important;
}
html[dir="rtl"] #toolbarSidebar .toolbarButton {
margin-left: 2px !important;
}
html[dir="ltr"] #toolbarSidebarRight .toolbarButton {
margin-right: 3px !important;
}
html[dir="rtl"] #toolbarSidebarRight .toolbarButton {
margin-left: 3px !important;
#toolbarSidebarRight .toolbarButton {
margin-inline-end: 3px !important;
}
#sidebarResizer {
position: absolute;
top: 0;
bottom: 0;
inset-inline-end: -6px;
width: 6px;
z-index: 200;
cursor: ew-resize;
}
html[dir="ltr"] #sidebarResizer {
right: -6px;
}
html[dir="rtl"] #sidebarResizer {
left: -6px;
}
#toolbarContainer,
.findbar,
@ -1159,29 +1128,17 @@ html[dir="rtl"] #sidebarResizer {
#loadingBar {
position: absolute;
inset-inline: 0 var(--loadingBar-end-offset);
height: 4px;
background-color: var(--body-bg-color);
border-bottom: 1px solid var(--toolbar-border-color);
transition-property: inset-inline-start;
transition-duration: var(--sidebar-transition-duration);
transition-timing-function: var(--sidebar-transition-timing-function);
}
html[dir="ltr"] #loadingBar {
transition-property: left;
left: 0;
right: var(--loadingBar-end-offset);
}
html[dir="rtl"] #loadingBar {
transition-property: right;
left: var(--loadingBar-end-offset);
right: 0;
}
html[dir="ltr"] #outerContainer.sidebarOpen #loadingBar {
left: var(--sidebar-width);
}
html[dir="rtl"] #outerContainer.sidebarOpen #loadingBar {
right: var(--sidebar-width);
#outerContainer.sidebarOpen #loadingBar {
inset-inline-start: var(--sidebar-width);
}
#outerContainer.sidebarResizing #loadingBar {
@ -1249,6 +1206,7 @@ html[dir="rtl"] #outerContainer.sidebarOpen #loadingBar {
}
.findbar {
inset-inline-start: 64px;
min-width: 300px;
background-color: var(--toolbar-bg-color);
}
@ -1261,23 +1219,10 @@ html[dir="rtl"] #outerContainer.sidebarOpen #loadingBar {
.findbar.wrapContainers > div.findbarMessageContainer {
height: auto;
}
html[dir="ltr"] .findbar {
left: 64px;
}
html[dir="rtl"] .findbar {
right: 64px;
}
.findbar .splitToolbarButton {
margin-top: 3px;
}
html[dir="ltr"] .findbar .splitToolbarButton {
margin-left: 0;
margin-right: 5px;
}
html[dir="rtl"] .findbar .splitToolbarButton {
margin-left: 5px;
margin-right: 0;
margin-inline: 0 5px;
}
.findbar .splitToolbarButton > .toolbarButton {
@ -1294,16 +1239,9 @@ html[dir="rtl"] .findbar .splitToolbarButton {
.findbar .splitToolbarButton > .findNext {
width: 29px;
}
html[dir="ltr"] .findbar .splitToolbarButton > .findNext {
border-bottom-right-radius: 2px;
border-top-right-radius: 2px;
border-right: 1px solid var(--field-border-color);
}
html[dir="rtl"] .findbar .splitToolbarButton > .findNext {
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
border-left: 1px solid var(--field-border-color);
border-start-end-radius: 2px;
border-end-end-radius: 2px;
border-inline-end: 1px solid var(--field-border-color);
}
.findbar input[type="checkbox"] {
@ -1320,15 +1258,6 @@ html[dir="rtl"] .findbar .splitToolbarButton > .findNext {
background-color: var(--button-hover-color);
}
html[dir="ltr"] #findInput {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
html[dir="rtl"] #findInput {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.findbar .toolbarField[type="checkbox"]:checked + .toolbarLabel {
background-color: var(--toggled-btn-bg-color) !important;
color: var(--toggled-btn-color);
@ -1336,6 +1265,8 @@ html[dir="rtl"] #findInput {
#findInput {
width: 200px;
border-start-end-radius: 0;
border-end-end-radius: 0;
}
#findInput::placeholder {
font-style: normal;
@ -1354,16 +1285,11 @@ html[dir="rtl"] #findInput[data-status="pending"] {
.secondaryToolbar {
padding: 6px 0 10px;
inset-inline-end: 4px;
height: auto;
z-index: 30000;
background-color: var(--doorhanger-bg-color);
}
html[dir="ltr"] .secondaryToolbar {
right: 4px;
}
html[dir="rtl"] .secondaryToolbar {
left: 4px;
}
#secondaryToolbarButtonContainer {
max-width: 220px;
@ -1384,7 +1310,7 @@ html[dir="rtl"] .secondaryToolbar {
.doorHangerRight:after,
.doorHangerRight:before {
bottom: 100%;
border: solid rgba(0, 0, 0, 0);
border: 8px solid rgba(0, 0, 0, 0);
content: " ";
height: 0;
width: 0;
@ -1392,14 +1318,14 @@ html[dir="rtl"] .secondaryToolbar {
pointer-events: none;
opacity: var(--doorhanger-triangle-opacity-whcm);
}
.doorHanger:after,
.doorHangerRight:after {
border-width: 8px;
}
.doorHanger:after {
inset-inline-start: 10px;
margin-inline-start: -8px;
border-bottom-color: var(--toolbar-bg-color);
}
.doorHangerRight:after {
inset-inline-end: 10px;
margin-inline-end: -8px;
border-bottom-color: var(--doorhanger-bg-color);
}
.doorHanger:before,
@ -1407,29 +1333,13 @@ html[dir="rtl"] .secondaryToolbar {
border-bottom-color: var(--doorhanger-border-color);
border-width: 9px;
}
html[dir="ltr"] .doorHanger:after,
html[dir="rtl"] .doorHangerRight:after {
left: 10px;
margin-left: -8px;
.doorHanger:before {
inset-inline-start: 10px;
margin-inline-start: -9px;
}
html[dir="ltr"] .doorHanger:before,
html[dir="rtl"] .doorHangerRight:before {
left: 10px;
margin-left: -9px;
}
html[dir="rtl"] .doorHanger:after,
html[dir="ltr"] .doorHangerRight:after {
right: 10px;
margin-right: -8px;
}
html[dir="rtl"] .doorHanger:before,
html[dir="ltr"] .doorHangerRight:before {
right: 10px;
margin-right: -9px;
.doorHangerRight:before {
inset-inline-end: 10px;
margin-inline-end: -9px;
}
#findResultsCount {
@ -1455,46 +1365,31 @@ html[dir="ltr"] .doorHangerRight:before {
transform: translateX(-50%);
}
html[dir="ltr"] #toolbarViewerLeft,
html[dir="rtl"] #toolbarViewerRight,
html[dir="ltr"] #toolbarSidebarLeft,
html[dir="rtl"] #toolbarSidebarRight {
float: left;
#toolbarViewerLeft,
#toolbarSidebarLeft {
float: inline-start;
}
html[dir="ltr"] #toolbarViewerRight,
html[dir="rtl"] #toolbarViewerLeft,
html[dir="ltr"] #toolbarSidebarRight,
html[dir="rtl"] #toolbarSidebarLeft {
float: right;
#toolbarViewerRight,
#toolbarSidebarRight {
float: inline-end;
}
html[dir="ltr"] #toolbarViewerLeft > *,
html[dir="ltr"] #toolbarViewerMiddle > *,
html[dir="ltr"] #toolbarViewerRight > *,
html[dir="ltr"] #toolbarSidebarLeft *,
html[dir="ltr"] #toolbarSidebarRight *,
html[dir="ltr"] .findbar * {
#toolbarViewerLeft > *,
#toolbarViewerMiddle > *,
#toolbarViewerRight > *,
#toolbarSidebarLeft *,
#toolbarSidebarRight *,
.findbar * {
position: relative;
float: left;
}
html[dir="rtl"] #toolbarViewerLeft > *,
html[dir="rtl"] #toolbarViewerMiddle > *,
html[dir="rtl"] #toolbarViewerRight > *,
html[dir="rtl"] #toolbarSidebarLeft *,
html[dir="rtl"] #toolbarSidebarRight *,
html[dir="rtl"] .findbar * {
position: relative;
float: right;
float: inline-start;
}
.splitToolbarButton {
margin: 2px 2px 0;
display: inline-block;
}
html[dir="ltr"] .splitToolbarButton > .toolbarButton {
float: left;
}
html[dir="rtl"] .splitToolbarButton > .toolbarButton {
float: right;
.splitToolbarButton > .toolbarButton {
float: inline-start;
}
.toolbarButton,
@ -1544,15 +1439,13 @@ html[dir="rtl"] .splitToolbarButton > .toolbarButton {
.splitToolbarButton > .toolbarButton {
position: relative;
}
html[dir="ltr"] .splitToolbarButton > .toolbarButton:first-child,
html[dir="rtl"] .splitToolbarButton > .toolbarButton:last-child {
margin: 0;
}
html[dir="ltr"] .splitToolbarButton > .toolbarButton:last-child,
html[dir="rtl"] .splitToolbarButton > .toolbarButton:first-child {
.splitToolbarButton > .toolbarButton:first-child,
.splitToolbarButton > .toolbarButton:last-child {
margin: 0;
}
.splitToolbarButtonSeparator {
float: inline-start;
padding: 10px 0;
width: 1px;
background-color: var(--separator-color);
@ -1567,13 +1460,6 @@ html[dir="rtl"] .splitToolbarButton > .toolbarButton:first-child {
padding: 13px 0;
}
html[dir="ltr"] .splitToolbarButtonSeparator {
float: left;
}
html[dir="rtl"] .splitToolbarButtonSeparator {
float: right;
}
.toolbarButton,
.dropdownToolbarButton,
.secondaryToolbarButton,
@ -1591,15 +1477,13 @@ html[dir="rtl"] .splitToolbarButtonSeparator {
box-sizing: border-box;
}
html[dir="ltr"] #toolbarViewerLeft > .toolbarButton:first-child,
html[dir="rtl"] #toolbarViewerRight > .toolbarButton:last-child {
margin-left: 2px;
#toolbarViewerLeft > .toolbarButton:first-child {
margin-inline-start: 2px;
}
#toolbarViewerRight > .toolbarButton:last-child {
margin-inline-end: 2px;
}
html[dir="ltr"] #toolbarViewerRight > .toolbarButton:last-child,
html[dir="rtl"] #toolbarViewerLeft > .toolbarButton:first-child {
margin-right: 2px;
}
.toolbarButton:hover,
.toolbarButton:focus-visible {
background-color: var(--button-hover-color);
@ -1640,16 +1524,10 @@ html[dir="rtl"] #toolbarViewerLeft > .toolbarButton:first-child {
}
.dropdownToolbarButton::after {
top: 6px;
inset-inline-end: 7px;
pointer-events: none;
mask-image: var(--toolbarButton-menuArrow-icon);
}
html[dir="ltr"] .dropdownToolbarButton::after {
right: 7px;
}
html[dir="rtl"] .dropdownToolbarButton::after {
left: 7px;
}
.dropdownToolbarButton > select {
width: calc(
@ -1660,21 +1538,15 @@ html[dir="rtl"] .dropdownToolbarButton::after {
color: var(--main-color);
margin: 0;
padding: 1px 0 2px;
padding-inline-start: 4px;
border: none;
background-color: var(--dropdown-btn-bg-color);
}
html[dir="ltr"] .dropdownToolbarButton > select {
padding-left: 4px;
}
html[dir="rtl"] .dropdownToolbarButton > select {
padding-right: 4px;
}
.dropdownToolbarButton > select:hover,
.dropdownToolbarButton > select:focus-visible {
background-color: var(--button-hover-color);
color: var(--toggled-btn-color);
}
.dropdownToolbarButton > select > option {
background: var(--doorhanger-bg-color);
color: var(--main-color);
@ -1732,12 +1604,7 @@ html[dir="rtl"] .dropdownToolbarButton > select {
.secondaryToolbarButton::before {
opacity: var(--doorhanger-icon-opacity);
top: 5px;
}
html[dir="ltr"] .secondaryToolbarButton::before {
left: 12px;
}
html[dir="rtl"] .secondaryToolbarButton::before {
right: 12px;
inset-inline-start: 12px;
}
.toolbarButton#sidebarToggle::before {
@ -1847,6 +1714,7 @@ html[dir="rtl"] #currentOutlineItem.toolbarButton::before {
position: absolute;
display: inline-block;
top: 1px;
inset-inline-start: 17px;
/* Create a filled circle, with a diameter of 9 pixels, using only CSS: */
content: "";
background-color: rgba(112, 219, 85, 1);
@ -1854,39 +1722,23 @@ html[dir="rtl"] #currentOutlineItem.toolbarButton::before {
width: 9px;
border-radius: 50%;
}
html[dir="ltr"] .toolbarButton.pdfSidebarNotification::after {
left: 17px;
}
html[dir="rtl"] .toolbarButton.pdfSidebarNotification::after {
right: 17px;
}
.secondaryToolbarButton {
position: relative;
margin: 0;
padding: 0 0 1px;
padding-inline-start: 36px;
height: auto;
min-height: 26px;
width: auto;
min-width: 100%;
text-align: start;
white-space: normal;
border-radius: 0;
box-sizing: border-box;
}
html[dir="ltr"] .secondaryToolbarButton {
padding-left: 36px;
text-align: left;
}
html[dir="rtl"] .secondaryToolbarButton {
padding-right: 36px;
text-align: right;
}
html[dir="ltr"] .secondaryToolbarButton > span {
padding-right: 4px;
}
html[dir="rtl"] .secondaryToolbarButton > span {
padding-left: 4px;
.secondaryToolbarButton > span {
padding-inline-end: 4px;
}
.secondaryToolbarButton.firstPage::before {
@ -1952,12 +1804,6 @@ html[dir="rtl"] .secondaryToolbarButton > span {
width: 1px;
background-color: var(--separator-color);
}
html[dir="ltr"] .verticalToolbarSeparator {
margin-left: 2px;
}
html[dir="rtl"] .verticalToolbarSeparator {
margin-right: 2px;
}
.horizontalToolbarSeparator {
display: block;
@ -1987,14 +1833,8 @@ html[dir="rtl"] .verticalToolbarSeparator {
opacity: 0;
position: absolute !important;
left: 0;
}
html[dir="ltr"] .toolbarField[type="checkbox"] {
margin: 10px 0 3px 7px;
}
html[dir="rtl"] .toolbarField[type="checkbox"] {
margin: 10px 7px 3px 0;
margin: 10px 0 3px;
margin-inline-start: 7px;
}
.toolbarField.pageNumber {
@ -2027,11 +1867,8 @@ html[dir="rtl"] .toolbarField[type="checkbox"] {
cursor: default;
}
html[dir="ltr"] #numPages.toolbarLabel {
padding-left: 3px;
}
html[dir="rtl"] #numPages.toolbarLabel {
padding-right: 3px;
#numPages.toolbarLabel {
padding-inline-start: 3px;
}
#thumbnailView {
@ -2049,19 +1886,13 @@ html[dir="rtl"] #numPages.toolbarLabel {
}
.thumbnail {
float: inline-start;
margin: 0 10px 5px;
}
html[dir="ltr"] .thumbnail {
float: left;
}
html[dir="rtl"] .thumbnail {
float: right;
}
#thumbnailView > a:last-of-type > .thumbnail {
margin-bottom: 10px;
}
#thumbnailView > a:last-of-type > .thumbnail:not([data-loaded]) {
margin-bottom: 9px;
}
@ -2119,14 +1950,9 @@ a:focus > .thumbnail > .thumbnailSelectionRing,
user-select: none;
}
html[dir="ltr"] .treeWithDeepNesting > .treeItem,
html[dir="ltr"] .treeItem > .treeItems {
margin-left: 20px;
}
html[dir="rtl"] .treeWithDeepNesting > .treeItem,
html[dir="rtl"] .treeItem > .treeItems {
margin-right: 20px;
.treeWithDeepNesting > .treeItem,
.treeItem > .treeItems {
margin-inline-start: 20px;
}
.treeItem > a {
@ -2137,6 +1963,8 @@ html[dir="rtl"] .treeItem > .treeItems {
min-width: calc(100% - 4px);
height: auto;
margin-bottom: 1px;
padding: 2px 0 5px;
padding-inline-start: 4px;
border-radius: 2px;
color: var(--treeitem-color);
font-size: 13px;
@ -2145,30 +1973,23 @@ html[dir="rtl"] .treeItem > .treeItems {
white-space: normal;
cursor: pointer;
}
html[dir="ltr"] .treeItem > a {
padding: 2px 0 5px 4px;
}
html[dir="rtl"] .treeItem > a {
padding: 2px 4px 5px 0;
}
#layersView .treeItem > a > * {
cursor: pointer;
}
html[dir="ltr"] #layersView .treeItem > a > label {
padding-left: 4px;
}
html[dir="rtl"] #layersView .treesItem > a > label {
padding-right: 4px;
#layersView .treeItem > a > label {
padding-inline-start: 4px;
}
.treeItemToggler {
position: relative;
float: inline-start;
height: 0;
width: 0;
color: rgba(255, 255, 255, 0.5);
}
.treeItemToggler::before {
inset-inline-end: 4px;
mask-image: var(--treeitem-expanded-icon);
}
.treeItemToggler.treeItemsHidden::before {
@ -2180,18 +2001,6 @@ html[dir="rtl"] .treeItemToggler.treeItemsHidden::before {
.treeItemToggler.treeItemsHidden ~ .treeItems {
display: none;
}
html[dir="ltr"] .treeItemToggler {
float: left;
}
html[dir="rtl"] .treeItemToggler {
float: right;
}
html[dir="ltr"] .treeItemToggler::before {
right: 4px;
}
html[dir="rtl"] .treeItemToggler::before {
left: 4px;
}
.treeItem.selected > a {
background-color: var(--treeitem-selected-bg-color);
@ -2228,7 +2037,6 @@ html[dir="rtl"] .treeItemToggler::before {
#errorMessageLeft {
float: left;
}
#errorMessageRight {
float: right;
}
@ -2320,12 +2128,7 @@ html[dir="rtl"] .treeItemToggler::before {
}
#documentPropertiesOverlay .row > * {
min-width: 100px;
}
html[dir="ltr"] #documentPropertiesOverlay .row > * {
text-align: left;
}
html[dir="rtl"] #documentPropertiesOverlay .row > * {
text-align: right;
text-align: start;
}
#documentPropertiesOverlay .row > span {
width: 125px;
@ -2446,7 +2249,6 @@ html[dir="rtl"] #documentPropertiesOverlay .row > * {
}
.grab-to-pan-grab {
cursor: url("images/grab.cur"), move !important;
cursor: grab !important;
}
.grab-to-pan-grab
@ -2455,7 +2257,6 @@ html[dir="rtl"] #documentPropertiesOverlay .row > * {
}
.grab-to-pan-grab:active,
.grab-to-pan-grabbing {
cursor: url("images/grabbing.cur"), move !important;
cursor: grabbing !important;
position: fixed;
background: rgba(0, 0, 0, 0);
@ -2591,11 +2392,8 @@ html[dir="rtl"] #documentPropertiesOverlay .row > * {
background-color: var(--sidebar-narrow-bg-color);
}
html[dir="ltr"] #outerContainer.sidebarOpen #viewerContainer {
left: 0 !important;
}
html[dir="rtl"] #outerContainer.sidebarOpen #viewerContainer {
right: 0 !important;
#outerContainer.sidebarOpen #viewerContainer {
inset-inline-start: 0 !important;
}
#outerContainer .hiddenLargeView,
@ -2637,11 +2435,8 @@ html[dir="rtl"] #documentPropertiesOverlay .row > * {
.toolbarButtonSpacer {
width: 0;
}
html[dir="ltr"] .findbar {
left: 34px;
}
html[dir="rtl"] .findbar {
right: 34px;
.findbar {
inset-inline-start: 34px;
}
}

Просмотреть файл

@ -45,17 +45,17 @@ See https://github.com/adobe-type-tools/cmap-resources
<div id="sidebarContainer">
<div id="toolbarSidebar">
<div id="toolbarSidebarLeft">
<div class="splitToolbarButton toggled">
<button id="viewThumbnail" class="toolbarButton toggled" title="Show Thumbnails" tabindex="2" data-l10n-id="thumbs">
<div id="sidebarViewButtons" class="splitToolbarButton toggled" role="radiogroup">
<button id="viewThumbnail" class="toolbarButton toggled" title="Show Thumbnails" tabindex="2" data-l10n-id="thumbs" role="radio" aria-checked="true" aria-controls="thumbnailView">
<span data-l10n-id="thumbs_label">Thumbnails</span>
</button>
<button id="viewOutline" class="toolbarButton" title="Show Document Outline (double-click to expand/collapse all items)" tabindex="3" data-l10n-id="document_outline">
<button id="viewOutline" class="toolbarButton" title="Show Document Outline (double-click to expand/collapse all items)" tabindex="3" data-l10n-id="document_outline" role="radio" aria-checked="false" aria-controls="outlineView">
<span data-l10n-id="document_outline_label">Document Outline</span>
</button>
<button id="viewAttachments" class="toolbarButton" title="Show Attachments" tabindex="4" data-l10n-id="attachments">
<button id="viewAttachments" class="toolbarButton" title="Show Attachments" tabindex="4" data-l10n-id="attachments" role="radio" aria-checked="false" aria-controls="attachmentsView">
<span data-l10n-id="attachments_label">Attachments</span>
</button>
<button id="viewLayers" class="toolbarButton" title="Show Layers (double-click to reset all layers to the default state)" tabindex="5" data-l10n-id="layers">
<button id="viewLayers" class="toolbarButton" title="Show Layers (double-click to reset all layers to the default state)" tabindex="5" data-l10n-id="layers" role="radio" aria-checked="false" aria-controls="layersView">
<span data-l10n-id="layers_label">Layers</span>
</button>
</div>
@ -162,39 +162,45 @@ See https://github.com/adobe-type-tools/cmap-resources
<div class="horizontalToolbarSeparator"></div>
<button id="cursorSelectTool" class="secondaryToolbarButton selectTool toggled" title="Enable Text Selection Tool" tabindex="60" data-l10n-id="cursor_text_select_tool">
<span data-l10n-id="cursor_text_select_tool_label">Text Selection Tool</span>
</button>
<button id="cursorHandTool" class="secondaryToolbarButton handTool" title="Enable Hand Tool" tabindex="61" data-l10n-id="cursor_hand_tool">
<span data-l10n-id="cursor_hand_tool_label">Hand Tool</span>
</button>
<div id="cursorToolButtons" role="radiogroup">
<button id="cursorSelectTool" class="secondaryToolbarButton selectTool toggled" title="Enable Text Selection Tool" tabindex="60" data-l10n-id="cursor_text_select_tool" role="radio" aria-checked="true">
<span data-l10n-id="cursor_text_select_tool_label">Text Selection Tool</span>
</button>
<button id="cursorHandTool" class="secondaryToolbarButton handTool" title="Enable Hand Tool" tabindex="61" data-l10n-id="cursor_hand_tool" role="radio" aria-checked="false">
<span data-l10n-id="cursor_hand_tool_label">Hand Tool</span>
</button>
</div>
<div class="horizontalToolbarSeparator"></div>
<button id="scrollPage" class="secondaryToolbarButton scrollPage" title="Use Page Scrolling" tabindex="62" data-l10n-id="scroll_page">
<span data-l10n-id="scroll_page_label">Page Scrolling</span>
</button>
<button id="scrollVertical" class="secondaryToolbarButton scrollVertical toggled" title="Use Vertical Scrolling" tabindex="63" data-l10n-id="scroll_vertical">
<span data-l10n-id="scroll_vertical_label">Vertical Scrolling</span>
</button>
<button id="scrollHorizontal" class="secondaryToolbarButton scrollHorizontal" title="Use Horizontal Scrolling" tabindex="64" data-l10n-id="scroll_horizontal">
<span data-l10n-id="scroll_horizontal_label">Horizontal Scrolling</span>
</button>
<button id="scrollWrapped" class="secondaryToolbarButton scrollWrapped" title="Use Wrapped Scrolling" tabindex="65" data-l10n-id="scroll_wrapped">
<span data-l10n-id="scroll_wrapped_label">Wrapped Scrolling</span>
</button>
<div id="scrollModeButtons" role="radiogroup">
<button id="scrollPage" class="secondaryToolbarButton scrollPage" title="Use Page Scrolling" tabindex="62" data-l10n-id="scroll_page" role="radio" aria-checked="false">
<span data-l10n-id="scroll_page_label">Page Scrolling</span>
</button>
<button id="scrollVertical" class="secondaryToolbarButton scrollVertical toggled" title="Use Vertical Scrolling" tabindex="63" data-l10n-id="scroll_vertical" role="radio" aria-checked="true">
<span data-l10n-id="scroll_vertical_label" >Vertical Scrolling</span>
</button>
<button id="scrollHorizontal" class="secondaryToolbarButton scrollHorizontal" title="Use Horizontal Scrolling" tabindex="64" data-l10n-id="scroll_horizontal" role="radio" aria-checked="false">
<span data-l10n-id="scroll_horizontal_label">Horizontal Scrolling</span>
</button>
<button id="scrollWrapped" class="secondaryToolbarButton scrollWrapped" title="Use Wrapped Scrolling" tabindex="65" data-l10n-id="scroll_wrapped" role="radio" aria-checked="false">
<span data-l10n-id="scroll_wrapped_label">Wrapped Scrolling</span>
</button>
</div>
<div class="horizontalToolbarSeparator"></div>
<button id="spreadNone" class="secondaryToolbarButton spreadNone toggled" title="Do not join page spreads" tabindex="66" data-l10n-id="spread_none">
<span data-l10n-id="spread_none_label">No Spreads</span>
</button>
<button id="spreadOdd" class="secondaryToolbarButton spreadOdd" title="Join page spreads starting with odd-numbered pages" tabindex="67" data-l10n-id="spread_odd">
<span data-l10n-id="spread_odd_label">Odd Spreads</span>
</button>
<button id="spreadEven" class="secondaryToolbarButton spreadEven" title="Join page spreads starting with even-numbered pages" tabindex="68" data-l10n-id="spread_even">
<span data-l10n-id="spread_even_label">Even Spreads</span>
</button>
<div id="spreadModeButtons" role="radiogroup">
<button id="spreadNone" class="secondaryToolbarButton spreadNone toggled" title="Do not join page spreads" tabindex="66" data-l10n-id="spread_none" role="radio" aria-checked="true">
<span data-l10n-id="spread_none_label">No Spreads</span>
</button>
<button id="spreadOdd" class="secondaryToolbarButton spreadOdd" title="Join page spreads starting with odd-numbered pages" tabindex="67" data-l10n-id="spread_odd" role="radio" aria-checked="false">
<span data-l10n-id="spread_odd_label">Odd Spreads</span>
</button>
<button id="spreadEven" class="secondaryToolbarButton spreadEven" title="Join page spreads starting with even-numbered pages" tabindex="68" data-l10n-id="spread_even" role="radio" aria-checked="false">
<span data-l10n-id="spread_even_label">Even Spreads</span>
</button>
</div>
<div class="horizontalToolbarSeparator"></div>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -20,7 +20,7 @@ origin:
# Human-readable identifier for this version/release
# Generally "version NNN", "tag SSS", "bookmark SSS"
release: version 2.14.13
release: version 2.14.102
# The package's license, where possible using the mnemonic from
# https://spdx.org/licenses/