Merge mozilla-inbound to Mozilla-Central

This commit is contained in:
Carsten "Tomcat" Book 2013-10-24 07:05:29 +02:00
Родитель 7c12a85f9d 270a6cf9fc
Коммит 0e4e01758c
592 изменённых файлов: 10802 добавлений и 6656 удалений

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

@ -16,9 +16,6 @@ CPP_SOURCES += [
'ApplicationAccessibleWrap.cpp',
'AtkSocketAccessible.cpp',
'DocAccessibleWrap.cpp',
'Platform.cpp',
'RootAccessibleWrap.cpp',
'UtilInterface.cpp',
'nsMaiHyperlink.cpp',
'nsMaiInterfaceAction.cpp',
'nsMaiInterfaceComponent.cpp',
@ -31,6 +28,9 @@ CPP_SOURCES += [
'nsMaiInterfaceTable.cpp',
'nsMaiInterfaceText.cpp',
'nsMaiInterfaceValue.cpp',
'Platform.cpp',
'RootAccessibleWrap.cpp',
'UtilInterface.cpp',
]
LIBRARY_NAME = 'accessibility_toolkit_s'

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

@ -10,8 +10,8 @@ MODULE = 'accessibility'
EXPORTS += [
'AccEvent.h',
'nsAccessNode.h',
'nsAccessibilityService.h',
'nsAccessNode.h',
]
EXPORTS.mozilla.a11y += [

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

@ -13,9 +13,9 @@ EXPORTS.mozilla.a11y += [
]
CPP_SOURCES += [
'ARIAGridAccessible.cpp',
'Accessible.cpp',
'ApplicationAccessible.cpp',
'ARIAGridAccessible.cpp',
'BaseAccessibles.cpp',
'DocAccessible.cpp',
'FormControlAccessible.cpp',

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

@ -21,13 +21,13 @@ CMMSRCS += [
'AccessibleWrap.mm',
'DocAccessibleWrap.mm',
'MacUtils.mm',
'Platform.mm',
'RootAccessibleWrap.mm',
'mozAccessible.mm',
'mozActionElements.mm',
'mozDocAccessible.mm',
'mozHTMLAccessible.mm',
'mozTextAccessible.mm',
'Platform.mm',
'RootAccessibleWrap.mm',
]
LIBXUL_LIBRARY = True

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

@ -20,18 +20,18 @@ CPP_SOURCES += [
'AccessibleWrap.cpp',
'ApplicationAccessibleWrap.cpp',
'ARIAGridAccessibleWrap.cpp',
'Compatibility.cpp',
'DocAccessibleWrap.cpp',
'EnumVariant.cpp',
'HTMLTableAccessibleWrap.cpp',
'HTMLWin32ObjectAccessible.cpp',
'HyperTextAccessibleWrap.cpp',
'ImageAccessibleWrap.cpp',
'IUnknownImpl.cpp',
'nsWinUtils.cpp',
'Compatibility.cpp',
'EnumVariant.cpp',
'Platform.cpp',
'ServiceProvider.cpp',
'RootAccessibleWrap.cpp',
'ServiceProvider.cpp',
'TextLeafAccessibleWrap.cpp',
]

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

@ -516,8 +516,8 @@ sdnAccessible::get_language(BSTR __RPC_FAR* aLanguage)
return CO_E_OBJNOTCONNECTED;
nsAutoString language;
if (mNode->IsElement())
nsCoreUtils::GetLanguageFor(mNode->AsElement(), nullptr, language);
if (mNode->IsContent())
nsCoreUtils::GetLanguageFor(mNode->AsContent(), nullptr, language);
if (language.IsEmpty()) { // Nothing found, so use document's language
mNode->OwnerDoc()->GetHeaderData(nsGkAtoms::headerContentLanguage,
language);

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

@ -13,6 +13,7 @@ EXTRA_COMPONENTS += [
JS_MODULES_PATH = 'modules/sessionstore'
EXTRA_JS_MODULES = [
'_SessionFile.jsm',
'DocShellCapabilities.jsm',
'DocumentUtils.jsm',
'Messenger.jsm',
@ -27,7 +28,6 @@ EXTRA_JS_MODULES = [
'TabStateCache.jsm',
'TextAndScrollData.jsm',
'XPathGenerator.jsm',
'_SessionFile.jsm',
]
EXTRA_PP_JS_MODULES += [

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

@ -41,6 +41,9 @@ Cu.import('resource://gre/modules/NetUtil.jsm');
XPCOMUtils.defineLazyModuleGetter(this, 'PrivateBrowsingUtils',
'resource://gre/modules/PrivateBrowsingUtils.jsm');
XPCOMUtils.defineLazyModuleGetter(this, 'ShumwayTelemetry',
'resource://shumway/ShumwayTelemetry.jsm');
let appInfo = Cc['@mozilla.org/xre/app-info;1'].getService(Ci.nsIXULAppInfo);
let Svc = {};
XPCOMUtils.defineLazyServiceGetter(Svc, 'mime',
@ -196,6 +199,12 @@ function ChromeActions(url, window, document) {
this.externalComInitialized = false;
this.allowScriptAccess = false;
this.crossdomainRequestsCache = Object.create(null);
this.telemetry = {
startTime: Date.now(),
features: [],
errors: [],
pageIndex: 0
};
}
ChromeActions.prototype = {
@ -235,29 +244,36 @@ ChromeActions.prototype = {
}
// allows downloading from the same origin
var urlPrefix = /^(https?):\/\/([A-Za-z0-9\-_\.\[\]]+)/i.exec(url);
var basePrefix = /^(https?):\/\/([A-Za-z0-9\-_\.\[\]]+)/i.exec(this.url);
if (basePrefix && urlPrefix && basePrefix[0] === urlPrefix[0]) {
var parsedUrl, parsedBaseUrl;
try {
parsedUrl = NetUtil.newURI(url);
} catch (ex) { /* skipping invalid urls */ }
try {
parsedBaseUrl = NetUtil.newURI(this.url);
} catch (ex) { /* skipping invalid urls */ }
if (parsedUrl && parsedBaseUrl &&
parsedUrl.prePath === parsedBaseUrl.prePath) {
return callback({success: true});
}
// additionally using internal whitelist
var whitelist = getStringPref('shumway.whitelist', '');
if (whitelist && urlPrefix) {
if (whitelist && parsedUrl) {
var whitelisted = whitelist.split(',').some(function (i) {
return domainMatches(urlPrefix[2], i);
return domainMatches(parsedUrl.host, i);
});
if (whitelisted) {
return callback({success: true});
}
}
if (!checkPolicyFile || !urlPrefix || !basePrefix) {
if (!checkPolicyFile || !parsedUrl || !parsedBaseUrl) {
return callback({success: false});
}
// we can request crossdomain.xml
fetchPolicyFile(urlPrefix[0] + '/crossdomain.xml', this.crossdomainRequestsCache,
fetchPolicyFile(parsedUrl.prePath + '/crossdomain.xml', this.crossdomainRequestsCache,
function (policy, error) {
if (!policy || policy.siteControl === 'none') {
@ -266,8 +282,8 @@ ChromeActions.prototype = {
// TODO assuming master-only, there are also 'by-content-type', 'all', etc.
var allowed = policy.allowAccessFrom.some(function (i) {
return domainMatches(basePrefix[2], i.domain) &&
(!i.secure || basePrefix[1].toLowerCase() === 'https');
return domainMatches(parsedBaseUrl.host, i.domain) &&
(!i.secure || parsedBaseUrl.scheme.toLowerCase() === 'https');
});
return callback({success: allowed});
}.bind(this));
@ -334,12 +350,14 @@ ChromeActions.prototype = {
}
});
},
fallback: function() {
fallback: function(automatic) {
var obj = this.window.frameElement;
var doc = obj.ownerDocument;
var e = doc.createEvent("CustomEvent");
e.initCustomEvent("MozPlayPlugin", true, true, null);
obj.dispatchEvent(e);
ShumwayTelemetry.onFallback(!automatic);
},
setClipboard: function (data) {
if (typeof data !== 'string' ||
@ -365,6 +383,45 @@ ChromeActions.prototype = {
ActivationQueue.activateNext();
}
},
reportTelemetry: function (data) {
var topic = data.topic;
switch (topic) {
case 'firstFrame':
var time = Date.now() - this.telemetry.startTime;
ShumwayTelemetry.onFirstFrame(time);
break;
case 'parseInfo':
ShumwayTelemetry.onParseInfo({
parseTime: +data.parseTime,
size: +data.bytesTotal,
swfVersion: data.swfVersion|0,
frameRate: +data.frameRate,
width: data.width|0,
height: data.height|0,
bannerType: data.bannerType|0,
isAvm2: !!data.isAvm2
});
break;
case 'feature':
var featureType = data.feature|0;
var MIN_FEATURE_TYPE = 0, MAX_FEATURE_TYPE = 999;
if (featureType >= MIN_FEATURE_TYPE && featureType <= MAX_FEATURE_TYPE &&
!this.telemetry.features[featureType]) {
this.telemetry.features[featureType] = true; // record only one feature per SWF
ShumwayTelemetry.onFeature(featureType);
}
break;
case 'error':
var errorType = data.error|0;
var MIN_ERROR_TYPE = 0, MAX_ERROR_TYPE = 2;
if (errorType >= MIN_ERROR_TYPE && errorType <= MAX_ERROR_TYPE &&
!this.telemetry.errors[errorType]) {
this.telemetry.errors[errorType] = true; // record only one report per SWF
ShumwayTelemetry.onError(errorType);
}
break;
}
},
externalCom: function (data) {
if (!this.allowScriptAccess)
return;
@ -452,6 +509,14 @@ var ActivationQueue = {
this.activateNext();
}
},
findLastOnPage: function ActivationQueue_findLastOnPage(baseUrl) {
for (var i = this.nonActive.length - 1; i >= 0; i--) {
if (this.nonActive[i].baseUrl === baseUrl) {
return this.nonActive[i];
}
}
return null;
},
activateNext: function ActivationQueue_activateNext() {
function weightInstance(actions) {
// set of heuristics for find the most important instance to load
@ -814,10 +879,21 @@ ShumwayStreamConverterBase.prototype = {
domWindow.document,
converter.getUrlHint(originalURI));
if (!isShumwayEnabledFor(actions)) {
actions.fallback();
actions.fallback(true);
return;
}
// Report telemetry on amount of swfs on the page
if (actions.isOverlay) {
// Looking for last actions with same baseUrl
var prevPageActions = ActivationQueue.findLastOnPage(actions.baseUrl);
var pageIndex = !prevPageActions ? 1 : (prevPageActions.telemetry.pageIndex + 1);
actions.telemetry.pageIndex = pageIndex;
ShumwayTelemetry.onPageIndex(pageIndex);
} else {
ShumwayTelemetry.onPageIndex(0);
}
actions.activationCallback = function(domWindow, isSimpleMode) {
delete this.activationCallback;
activateShumwayScripts(domWindow, isSimpleMode);

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

@ -0,0 +1,73 @@
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
/* Copyright 2013 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* jshint esnext:true */
'use strict';
this.EXPORTED_SYMBOLS = ['ShumwayTelemetry'];
const Cu = Components.utils;
Cu.import('resource://gre/modules/Services.jsm');
const BANNER_SIZES = [
"88x31", "120x60", "120x90", "120x240", "120x600", "125x125", "160x600",
"180x150", "234x60", "240x400", "250x250", "300x100", "300x250", "300x600",
"300x1050", "336x280", "468x60", "550x480", "720x100", "728x90", "970x90",
"970x250"];
function getBannerType(width, height) {
return BANNER_SIZES.indexOf(width + 'x' + height) + 1;
}
this.ShumwayTelemetry = {
onFirstFrame: function (timeToDisplay) {
var histogram = Services.telemetry.getHistogramById("SHUMWAY_TIME_TO_VIEW_MS");
histogram.add(timeToDisplay);
},
onParseInfo: function (parseInfo) {
var histogram = Services.telemetry.getHistogramById("SHUMWAY_PARSING_MS");
histogram.add(parseInfo.parseTime);
var histogram = Services.telemetry.getHistogramById("SHUMWAY_SWF_SIZE_KB");
histogram.add(parseInfo.size / 1024);
var histogram = Services.telemetry.getHistogramById("SHUMWAY_SWF_VERSION");
histogram.add(parseInfo.swfVersion);
var histogram = Services.telemetry.getHistogramById("SHUMWAY_SWF_FRAME_RATE");
histogram.add(parseInfo.frameRate);
var histogram = Services.telemetry.getHistogramById("SHUMWAY_SWF_AREA");
histogram.add(parseInfo.width * parseInfo.height);
var histogram = Services.telemetry.getHistogramById("SHUMWAY_SWF_BANNER");
histogram.add(getBannerType(parseInfo.width, parseInfo.height));
var histogram = Services.telemetry.getHistogramById("SHUMWAY_SWF_AVM2");
histogram.add(parseInfo.isAvm2);
},
onError: function (errorType) {
var histogram = Services.telemetry.getHistogramById("SHUMWAY_ERROR");
histogram.add(errorType);
},
onPageIndex: function (pageIndex) {
var histogram = Services.telemetry.getHistogramById("SHUMWAY_SWF_INDEX_ON_PAGE");
histogram.add(pageIndex);
},
onFeature: function (featureType) {
var histogram = Services.telemetry.getHistogramById("SHUMWAY_FEATURE_USED");
histogram.add(featureType);
},
onFallback: function (userAction) {
var histogram = Services.telemetry.getHistogramById("SHUMWAY_FALLBACK");
histogram.add(userAction);
}
};

Двоичный файл не отображается.

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

@ -223,6 +223,9 @@ var Promise = function PromiseClosure() {
subject.subpromisesReason = reason;
var subpromises = subject.subpromises;
if (!subpromises) {
if (!true) {
console.warn(reason);
}
return;
}
for (var i = 0; i < subpromises.length; i++) {
@ -435,6 +438,18 @@ QuadTree.prototype._subdivide = function () {
this.nodes[2] = new QuadTree(this.x, midY, halfWidth, halfHeight, level);
this.nodes[3] = new QuadTree(midX, midY, halfWidth, halfHeight, level);
};
var EXTERNAL_INTERFACE_FEATURE = 1;
var CLIPBOARD_FEATURE = 2;
var SHAREDOBJECT_FEATURE = 3;
var VIDEO_FEATURE = 4;
var SOUND_FEATURE = 5;
var NETCONNECTION_FEATURE = 6;
if (!this.performance) {
this.performance = {};
}
if (!this.performance.now) {
this.performance.now = Date.now;
}
var create = Object.create;
var defineProperty = Object.defineProperty;
var keys = Object.keys;
@ -909,9 +924,10 @@ function defineFont(tag, dictionary) {
indices
]);
}
var ascent = Math.ceil(tag.ascent / 20) || 1024;
var descent = -Math.ceil(tag.descent / 20) || 0;
var leading = Math.floor(tag.leading / 20) || 0;
var resolution = tag.resolution || 1;
var ascent = Math.ceil(tag.ascent / resolution) || 1024;
var descent = -Math.ceil(tag.descent / resolution) | 0;
var leading = tag.leading / resolution | 0;
tables['OS/2'] = '\0\x01\0\0' + toString16(tag.bold ? 700 : 400) + '\0\x05' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0\0\0\0\0\0\0\0\0' + '\0\0\0\0' + '\0\0\0\0' + '\0\0\0\0' + '\0\0\0\0' + 'ALF ' + toString16((tag.italic ? 1 : 0) | (tag.bold ? 32 : 0)) + toString16(codes[0]) + toString16(codes[codes.length - 1]) + toString16(ascent) + toString16(descent) + toString16(leading) + toString16(ascent) + toString16(-descent) + '\0\0\0\0' + '\0\0\0\0';
;
var startCount = '';
@ -942,7 +958,6 @@ function defineFont(tag, dictionary) {
;
var glyf = '\0\x01\0\0\0\0\0\0\0\0\0\0\0\x001\0';
var loca = '\0\0';
var resolution = tag.resolution || 1;
var offset = 16;
var maxPoints = 0;
var xMins = [];
@ -1067,10 +1082,9 @@ function defineFont(tag, dictionary) {
}
loca += toString16(offset / 2);
tables['glyf'] = glyf;
tables['head'] = '\0\x01\0\0\0\x01\0\0\0\0\0\0_\x0f<\xf5\0\v\x04\0\0\0\0\0' + toString32(+new Date()) + '\0\0\0\0' + toString32(+new Date()) + toString16(min.apply(null, xMins)) + toString16(min.apply(null, yMins)) + toString16(max.apply(null, xMaxs)) + toString16(max.apply(null, yMaxs)) + toString16((tag.italic ? 2 : 0) | (tag.bold ? 1 : 0)) + '\0\b' + '\0\x02' + '\0\0' + '\0\0';
tables['head'] = '\0\x01\0\0\0\x01\0\0\0\0\0\0_\x0f<\xf5\0\v\x04\0\0\0\0\0' + toString32(Date.now()) + '\0\0\0\0' + toString32(Date.now()) + toString16(min.apply(null, xMins)) + toString16(min.apply(null, yMins)) + toString16(max.apply(null, xMaxs)) + toString16(max.apply(null, yMaxs)) + toString16((tag.italic ? 2 : 0) | (tag.bold ? 1 : 0)) + '\0\b' + '\0\x02' + '\0\0' + '\0\0';
;
var advance = tag.advance;
var resolution = tag.resolution || 1;
tables['hhea'] = '\0\x01\0\0' + toString16(ascent) + toString16(descent) + toString16(leading) + toString16(advance ? max.apply(null, advance) : 1024) + '\0\0' + '\0\0' + '\x03\xb8' + '\0\x01' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + '\0\0' + toString16(glyphCount + 1);
;
var hmtx = '\0\0\0\0';
@ -1147,7 +1161,7 @@ function defineFont(tag, dictionary) {
var unitPerEm = 1024;
var metrics = {
ascent: ascent / unitPerEm,
descent: descent / unitPerEm,
descent: -descent / unitPerEm,
leading: leading / unitPerEm
};
return {
@ -1157,6 +1171,8 @@ function defineFont(tag, dictionary) {
uniqueName: psName + uniqueId,
codes: codes,
metrics: metrics,
bold: tag.bold === 1,
italic: tag.italic === 1,
data: otf
};
}
@ -1234,8 +1250,8 @@ function defineLabel(tag, dictionary) {
m.b,
m.c,
m.d,
m.tx,
m.ty
m.tx / 20,
m.ty / 20
].join(',') + ')',
'c.scale(0.05, 0.05)'
];
@ -1727,9 +1743,8 @@ var SHAPE_CURVE_TO = 3;
var SHAPE_WIDE_MOVE_TO = 4;
var SHAPE_WIDE_LINE_TO = 5;
var SHAPE_CUBIC_CURVE_TO = 6;
var SHAPE_ROUND_CORNER = 7;
var SHAPE_CIRCLE = 8;
var SHAPE_ELLIPSE = 9;
var SHAPE_CIRCLE = 7;
var SHAPE_ELLIPSE = 8;
function ShapePath(fillStyle, lineStyle, commandsCount, dataLength, isMorph) {
this.fillStyle = fillStyle;
this.lineStyle = lineStyle;
@ -1778,10 +1793,6 @@ ShapePath.prototype = {
this.commands.push(SHAPE_CIRCLE);
this.data.push(x, y, radius);
},
drawRoundCorner: function (cornerX, cornerY, curveEndX, curveEndY, radiusX, radiusY) {
this.commands.push(SHAPE_ROUND_CORNER);
this.data.push(cornerX, cornerY, curveEndX, curveEndY, radiusX, radiusY);
},
ellipse: function (x, y, radiusX, radiusY) {
this.commands.push(SHAPE_ELLIPSE);
this.data.push(x, y, radiusX, radiusY);
@ -1823,9 +1834,6 @@ ShapePath.prototype = {
case SHAPE_CUBIC_CURVE_TO:
ctx.bezierCurveTo(data[k++] / 20, data[k++] / 20, data[k++] / 20, data[k++] / 20, data[k++] / 20, data[k++] / 20);
break;
case SHAPE_ROUND_CORNER:
ctx.arcTo(data[k++] / 20, data[k++] / 20, data[k++] / 20, data[k++] / 20, data[k++] / 20, data[k++] / 20);
break;
case SHAPE_CIRCLE:
if (formOpen) {
ctx.lineTo(formOpenX, formOpenY);
@ -1888,6 +1896,7 @@ ShapePath.prototype = {
var fillStyle = this.fillStyle;
if (fillStyle) {
colorTransform.setFillStyle(ctx, fillStyle.style);
ctx.imageSmoothingEnabled = ctx.mozImageSmoothingEnabled = fillStyle.smooth;
var m = fillStyle.transform;
ctx.save();
colorTransform.setAlpha(ctx);
@ -2017,33 +2026,6 @@ ShapePath.prototype = {
}
}
break;
case SHAPE_ROUND_CORNER:
cpX = data[dataIndex++];
cpY = data[dataIndex++];
toX = data[dataIndex++];
toY = data[dataIndex++];
rX = data[dataIndex++];
rY = data[dataIndex++];
if (toY > y === fromY > y || fromX < x && toX < x) {
break;
}
if (fromX >= x && toX >= x) {
inside = !inside;
break;
}
if (toX > fromX === toY > fromY) {
cp2X = fromX;
cp2Y = toY;
} else {
cp2X = toX;
cp2Y = fromY;
}
localX = x - cp2X;
localY = y - cp2Y;
if (localX * localX / (rX * rX) + localY * localY / (rY * rY) <= 1 !== localX <= 0) {
inside = !inside;
}
break;
case SHAPE_CIRCLE:
toX = data[dataIndex++];
toY = data[dataIndex++];
@ -2206,36 +2188,6 @@ ShapePath.prototype = {
}
}
break;
case SHAPE_ROUND_CORNER:
cpX = data[dataIndex++];
cpY = data[dataIndex++];
toX = data[dataIndex++];
toY = data[dataIndex++];
rX = data[dataIndex++];
rY = data[dataIndex++];
if (maxX < fromX && maxX < toX || minX > fromX && minX > toX || maxY < fromY && maxY < toY || minY > fromY && minY > toY) {
break;
}
if (toX > fromX === toY > fromY) {
cp2X = fromX;
cp2Y = toY;
} else {
cp2X = toX;
cp2Y = fromY;
}
localX = Math.abs(x - cp2X);
localY = Math.abs(y - cp2Y);
localX -= halfWidth;
localY -= halfWidth;
if (localX * localX / (rX * rX) + localY * localY / (rY * rY) > 1) {
break;
}
localX += width;
localY += width;
if (localX * localX / (rX * rX) + localY * localY / (rY * rY) > 1) {
return true;
}
break;
case SHAPE_CIRCLE:
cpX = data[dataIndex++];
cpY = data[dataIndex++];
@ -2297,7 +2249,7 @@ ShapePath.prototype = {
var data = this.data;
var length = commands.length;
var bounds;
if (commands[0] === SHAPE_MOVE_TO || commands[0] > SHAPE_ROUND_CORNER) {
if (commands[0] === SHAPE_MOVE_TO || commands[0] > SHAPE_CUBIC_CURVE_TO) {
bounds = {
xMin: data[0],
yMin: data[1]
@ -2368,9 +2320,6 @@ ShapePath.prototype = {
}
}
break;
case SHAPE_ROUND_CORNER:
dataIndex += 6;
break;
case SHAPE_CIRCLE:
toX = data[dataIndex++];
toY = data[dataIndex++];
@ -2648,7 +2597,7 @@ function finishShapePaths(paths, dictionary) {
}
}
var inWorker = typeof window === 'undefined';
var factoryCtx = !inWorker ? document.createElement('canvas').getContext('kanvas-2d') : null;
var factoryCtx = !inWorker ? document.createElement('canvas').getContext('2d') : null;
function buildLinearGradientFactory(colorStops) {
var defaultGradient = factoryCtx.createLinearGradient(-1, 0, 1, 0);
for (var i = 0; i < colorStops.length; i++) {
@ -3494,8 +3443,23 @@ var LoaderDefinition = function () {
},
oncomplete: function (result) {
commitData(result);
var stats;
if (typeof result.swfVersion === 'number') {
var bbox = result.bbox;
stats = {
topic: 'parseInfo',
parseTime: result.parseTime,
bytesTotal: result.bytesTotal,
swfVersion: result.swfVersion,
frameRate: result.frameRate,
width: (bbox.xMax - bbox.xMin) / 20,
height: (bbox.yMax - bbox.yMin) / 20,
isAvm2: !(!result.fileAttributes.doAbc)
};
}
commitData({
command: 'complete'
command: 'complete',
stats: stats
});
}
};
@ -3610,6 +3574,10 @@ var LoaderDefinition = function () {
Promise.when(frameConstructed, this._lastPromise).then(function () {
this.contentLoaderInfo._dispatchEvent('complete');
}.bind(this));
var stats = data.stats;
if (stats) {
TelemetryService.reportTelemetry(stats);
}
this._worker && this._worker.terminate();
break;
case 'empty':
@ -4007,6 +3975,8 @@ var LoaderDefinition = function () {
props.name = symbol.name;
props.uniqueName = symbol.uniqueName;
props.charset = symbol.charset;
props.bold = symbol.bold;
props.italic = symbol.italic;
props.metrics = symbol.metrics;
this._registerFont(className, props);
break;
@ -4179,6 +4149,9 @@ var LoaderDefinition = function () {
this._setup();
},
_load: function (request, checkPolicyFile, applicationDomain, securityDomain, deblockingFilter) {
if (!isWorker && flash.net.URLRequest.class.isInstanceOf(request)) {
this._contentLoaderInfo._url = request._url;
}
if (!isWorker && WORKERS_ENABLED) {
var loader = this;
var worker = loader._worker = new Worker(SHUMWAY_ROOT + LOADER_PATH);
@ -4266,7 +4239,7 @@ var LoaderDefinition = function () {
def._load(bytes.a);
},
_unload: function _unload(halt, gc) {
notImplemented('Loader._unload');
somewhatImplemented('Loader._unload, do we even need to do anything here?');
},
_close: function _close() {
somewhatImplemented('Loader._close');
@ -4926,177 +4899,13 @@ var tagHandler = function (global) {
cxform($bytes, $stream, $31, swfVersion, tagCode);
}
if (hasFilters) {
$29.filterCount = readUi8($bytes, $stream);
var $32 = $29.filters = {};
var type = $32.type = readUi8($bytes, $stream);
switch (type) {
case 0:
if (type === 4 || type === 7) {
count = readUi8($bytes, $stream);
} else {
count = 1;
}
var $33 = $32.colors = [];
var $34 = count;
while ($34--) {
var $35 = {};
rgba($bytes, $stream, $35, swfVersion, tagCode);
$33.push($35);
}
if (type === 3) {
var $36 = $32.higlightColor = {};
rgba($bytes, $stream, $36, swfVersion, tagCode);
}
if (type === 4 || type === 7) {
var $37 = $32.ratios = [];
var $38 = count;
while ($38--) {
$37.push(readUi8($bytes, $stream));
}
}
$32.blurX = readFixed($bytes, $stream);
$32.blurY = readFixed($bytes, $stream);
if (type !== 2) {
$32.angle = readFixed($bytes, $stream);
$32.distance = readFixed($bytes, $stream);
}
$32.strength = readFixed8($bytes, $stream);
$32.innerShadow = readUb($bytes, $stream, 1);
$32.knockout = readUb($bytes, $stream, 1);
$32.compositeSource = readUb($bytes, $stream, 1);
if (type === 3) {
$32.onTop = readUb($bytes, $stream, 1);
} else {
var reserved = readUb($bytes, $stream, 1);
}
if (type === 4 || type === 7) {
$32.passes = readUb($bytes, $stream, 4);
} else {
var reserved = readUb($bytes, $stream, 4);
}
break;
case 1:
$32.blurX = readFixed($bytes, $stream);
$32.blurY = readFixed($bytes, $stream);
$32.passes = readUb($bytes, $stream, 5);
var reserved = readUb($bytes, $stream, 3);
break;
case 2:
case 3:
case 4:
if (type === 4 || type === 7) {
count = readUi8($bytes, $stream);
} else {
count = 1;
}
var $39 = $32.colors = [];
var $40 = count;
while ($40--) {
var $41 = {};
rgba($bytes, $stream, $41, swfVersion, tagCode);
$39.push($41);
}
if (type === 3) {
var $42 = $32.higlightColor = {};
rgba($bytes, $stream, $42, swfVersion, tagCode);
}
if (type === 4 || type === 7) {
var $43 = $32.ratios = [];
var $44 = count;
while ($44--) {
$43.push(readUi8($bytes, $stream));
}
}
$32.blurX = readFixed($bytes, $stream);
$32.blurY = readFixed($bytes, $stream);
if (type !== 2) {
$32.angle = readFixed($bytes, $stream);
$32.distance = readFixed($bytes, $stream);
}
$32.strength = readFixed8($bytes, $stream);
$32.innerShadow = readUb($bytes, $stream, 1);
$32.knockout = readUb($bytes, $stream, 1);
$32.compositeSource = readUb($bytes, $stream, 1);
if (type === 3) {
$32.onTop = readUb($bytes, $stream, 1);
} else {
var reserved = readUb($bytes, $stream, 1);
}
if (type === 4 || type === 7) {
$32.passes = readUb($bytes, $stream, 4);
} else {
var reserved = readUb($bytes, $stream, 4);
}
break;
case 5:
var columns = $32.columns = readUi8($bytes, $stream);
var rows = $32.rows = readUi8($bytes, $stream);
$32.divisor = readFloat($bytes, $stream);
$32.bias = readFloat($bytes, $stream);
var $45 = $32.weights = [];
var $46 = columns * rows;
while ($46--) {
$45.push(readFloat($bytes, $stream));
}
var $47 = $32.defaultColor = {};
rgba($bytes, $stream, $47, swfVersion, tagCode);
var reserved = readUb($bytes, $stream, 6);
$32.clamp = readUb($bytes, $stream, 1);
$32.preserveAlpha = readUb($bytes, $stream, 1);
break;
case 6:
var $48 = $32.matrix = [];
var $49 = 20;
while ($49--) {
$48.push(readFloat($bytes, $stream));
}
break;
case 7:
if (type === 4 || type === 7) {
count = readUi8($bytes, $stream);
} else {
count = 1;
}
var $50 = $32.colors = [];
var $51 = count;
while ($51--) {
var $52 = {};
rgba($bytes, $stream, $52, swfVersion, tagCode);
$50.push($52);
}
if (type === 3) {
var $53 = $32.higlightColor = {};
rgba($bytes, $stream, $53, swfVersion, tagCode);
}
if (type === 4 || type === 7) {
var $54 = $32.ratios = [];
var $55 = count;
while ($55--) {
$54.push(readUi8($bytes, $stream));
}
}
$32.blurX = readFixed($bytes, $stream);
$32.blurY = readFixed($bytes, $stream);
if (type !== 2) {
$32.angle = readFixed($bytes, $stream);
$32.distance = readFixed($bytes, $stream);
}
$32.strength = readFixed8($bytes, $stream);
$32.innerShadow = readUb($bytes, $stream, 1);
$32.knockout = readUb($bytes, $stream, 1);
$32.compositeSource = readUb($bytes, $stream, 1);
if (type === 3) {
$32.onTop = readUb($bytes, $stream, 1);
} else {
var reserved = readUb($bytes, $stream, 1);
}
if (type === 4 || type === 7) {
$32.passes = readUb($bytes, $stream, 4);
} else {
var reserved = readUb($bytes, $stream, 4);
}
break;
default:
var count = readUi8($bytes, $stream);
var $2 = $.filters = [];
var $3 = count;
while ($3--) {
var $4 = {};
anyFilter($bytes, $stream, $4, swfVersion, tagCode);
$2.push($4);
}
}
if (blend) {
@ -6438,7 +6247,8 @@ CompressedPipe.prototype = {
};
function BodyParser(swfVersion, length, options) {
this.swf = {
swfVersion: swfVersion
swfVersion: swfVersion,
parseTime: 0
};
this.buffer = new HeadTailBuffer(32768);
this.initialize = true;
@ -6489,7 +6299,9 @@ BodyParser.prototype = {
swf.bytesLoaded = progressInfo.bytesLoaded;
swf.bytesTotal = progressInfo.bytesTotal;
}
var readStartTime = performance.now();
readTags(swf, stream, swfVersion, options.onprogress);
swf.parseTime += performance.now() - readStartTime;
var read = stream.pos;
buffer.removeHead(read);
this.totalRead += read;

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

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

@ -1 +1 @@
0.7.352
0.7.501

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

@ -159,6 +159,12 @@ window.addEventListener("message", function handlerMessage(e) {
}
}, true);
var TelemetryService = {
reportTelemetry: function (data) {
FirefoxCom.request('reportTelemetry', data, null);
}
};
var FileLoadingService = {
get baseUrl() { return movieUrl; },
nextSessionId: 1, // 0 - is reserved
@ -247,6 +253,8 @@ function frame(e) {
// marking that movie is started
document.body.classList.add("started");
TelemetryService.reportTelemetry({topic: "firstFrame"});
// skipping frame 0
initializeFrameControl = false;
return;

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

@ -29,9 +29,9 @@ EXTRA_PP_COMPONENTS += [
'AboutRedirector.js',
'BrowserCLH.js',
'BrowserStartup.js',
'components.manifest',
'DirectoryProvider.js',
'HelperAppDialog.js',
'SessionStore.js',
'Sidebar.js',
'components.manifest',
]

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

@ -5,9 +5,9 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
EXTRA_JS_MODULES += [
'colorUtils.jsm',
'ContentUtil.jsm',
'CrossSlide.jsm',
'View.jsm',
'colorUtils.jsm',
]

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

@ -87,7 +87,7 @@ IsImmersiveProcessRunning(const wchar_t *processName)
PROCESSENTRY32W entry;
entry.dwSize = sizeof(PROCESSENTRY32W);
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (Process32First(snapshot, &entry)) {
while (!exists && Process32Next(snapshot, &entry)) {

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

@ -630,7 +630,8 @@ private:
static HRESULT
PrepareActivationManager(CComPtr<IApplicationActivationManager> &activateMgr)
{
HRESULT hr = activateMgr.CoCreateInstance(CLSID_ApplicationActivationManager, NULL, CLSCTX_LOCAL_SERVER);
HRESULT hr = activateMgr.CoCreateInstance(CLSID_ApplicationActivationManager,
nullptr, CLSCTX_LOCAL_SERVER);
if (FAILED(hr)) {
Log(L"CoCreateInstance failed, launching on desktop.");
return E_FAIL;
@ -654,7 +655,7 @@ DelayedExecuteThread(LPVOID param)
bool &bRequestMet(*(bool*)param);
AutoSetRequestMet asrm(&bRequestMet);
CoInitialize(NULL);
CoInitialize(nullptr);
CComPtr<IApplicationActivationManager> activateMgr;
if (FAILED(PrepareActivationManager(activateMgr))) {
@ -698,7 +699,8 @@ IFACEMETHODIMP CExecuteCommandVerb::Execute()
}
if (mIsRestartMetroRequest) {
HANDLE thread = CreateThread(NULL, 0, DelayedExecuteThread, &mRequestMet, 0, NULL);
HANDLE thread = CreateThread(nullptr, 0, DelayedExecuteThread,
&mRequestMet, 0, nullptr);
CloseHandle(thread);
return S_OK;
}

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

@ -10,14 +10,14 @@ EXTRA_JS_MODULES += [
'BrowserNewTabPreloader.jsm',
'ContentClick.jsm',
'NetworkPrioritizer.jsm',
'offlineAppCache.jsm',
'openLocationLastURL.jsm',
'SharedFrame.jsm',
'SignInToWebsite.jsm',
'SitePermissions.jsm',
'Social.jsm',
'TabCrashReporter.jsm',
'UITour.jsm',
'offlineAppCache.jsm',
'openLocationLastURL.jsm',
'webappsUI.jsm',
'webrtcUI.jsm',
]

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

@ -40,7 +40,7 @@ typedef struct ASFinderInfo
static void append_file(FILE* output, const char* input_name)
{
FILE* input = fopen(input_name, "rb");
EXIT_IF_FALSE(input != NULL);
EXIT_IF_FALSE(input != nullptr);
while (1) {
char buffer[4096];
@ -87,7 +87,7 @@ int main(int argc, char** argv)
}
FILE* output = fopen(argv[2], "wb");
if (output == NULL) {
if (output == nullptr) {
printf("%s: can't open file `%s'\n", argv[0], argv[2]);
exit(5);
}
@ -177,7 +177,7 @@ int main(int argc, char** argv)
memset(&cat_info, 0, sizeof(cat_info));
EXIT_IF_FALSE(FSGetCatalogInfo(&fsref,
kFSCatInfoGettableInfo,
&cat_info, NULL, NULL, NULL) == 0);
&cat_info, nullptr, nullptr, nullptr) == 0);
ASFinderInfo finder_info;
memcpy(&finder_info.ioFlFndrInfo, &cat_info.finderInfo,

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

@ -826,8 +826,8 @@ CREATE_PRECOMPLETE_CMD = $(PYTHON) $(abspath $(topsrcdir)/config/createprecomple
# MDDEPDIR is the subdirectory where dependency files are stored
MDDEPDIR := .deps
EXPAND_LIBS_EXEC = $(PYTHON) $(topsrcdir)/config/expandlibs_exec.py $(if $@,--depend $(MDDEPDIR)/$(dir $@)/$(@F).pp --target $@)
EXPAND_LIBS_GEN = $(PYTHON) $(topsrcdir)/config/expandlibs_gen.py $(if $@,--depend $(MDDEPDIR)/$(dir $@)/$(@F).pp)
EXPAND_LIBS_EXEC = $(PYTHON) $(topsrcdir)/config/expandlibs_exec.py $(if $@,--depend $(MDDEPDIR)/$@.pp --target $@)
EXPAND_LIBS_GEN = $(PYTHON) $(topsrcdir)/config/expandlibs_gen.py $(if $@,--depend $(MDDEPDIR)/$@.pp)
EXPAND_AR = $(EXPAND_LIBS_EXEC) --extract -- $(AR)
EXPAND_CC = $(EXPAND_LIBS_EXEC) --uselist -- $(CC)
EXPAND_CCC = $(EXPAND_LIBS_EXEC) --uselist -- $(CCC)

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

@ -209,11 +209,22 @@ endif
endif
endif
binaries libs:: $(TARGETS) $(BINARIES_PP)
# Aggregate all dependency files relevant to a binaries build except in
# the mozilla top-level directory.
ifneq (_.,$(recurse_targets)_$(DEPTH))
@$(if $(or $(recurse_targets),$^),$(call py_action,link_deps,-o binaries --group-all $(if $(want_abspaths),--abspaths )--topsrcdir $(topsrcdir) --topobjdir $(DEPTH) --dist $(DIST) $(BINARIES_PP) $(wildcard $(addsuffix .pp,$(addprefix $(MDDEPDIR)/,$(notdir $(sort $(filter-out $(BINARIES_PP),$^) $(OBJ_TARGETS)))))) $(recurse_targets)))
ALL_DEP_FILES := \
$(BINARIES_PP) \
$(addsuffix .pp,$(addprefix $(MDDEPDIR)/,$(sort \
$(TARGETS) \
$(filter-out $(SOBJS) $(ASOBJS) $(EXCLUDED_OBJS),$(OBJ_TARGETS)) \
))) \
$(recurse_targets) \
$(NULL)
endif
binaries libs:: $(TARGETS) $(BINARIES_PP)
ifneq (_.,$(recurse_targets)_$(DEPTH))
@$(if $(or $(recurse_targets),$^),$(call py_action,link_deps,-o binaries --group-all $(if $(want_abspaths),--abspaths )--topsrcdir $(topsrcdir) --topobjdir $(DEPTH) --dist $(DIST) $(ALL_DEP_FILES)))
endif
endif # ifdef MOZ_PSEUDO_DERECURSE

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

@ -299,6 +299,7 @@ endif
# Don't build SIMPLE_PROGRAMS during the MOZ_PROFILE_GENERATE pass
ifdef MOZ_PROFILE_GENERATE
EXCLUDED_OBJS := $(SIMPLE_PROGRAMS:$(BIN_SUFFIX)=.$(OBJ_SUFFIX))
SIMPLE_PROGRAMS :=
endif
@ -816,7 +817,7 @@ endif
$(HOST_PROGRAM): $(HOST_PROGOBJS) $(HOST_LIBS_DEPS) $(HOST_EXTRA_DEPS) $(GLOBAL_DEPS)
$(REPORT_BUILD)
ifeq (_WINNT,$(GNU_CC)_$(HOST_OS_ARCH))
$(EXPAND_LIBS_EXEC) --uselist -- $(HOST_LD) -NOLOGO -OUT:$@ -PDB:$(HOST_PDBFILE) $(HOST_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LDFLAGS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
$(EXPAND_LIBS_EXEC) -- $(HOST_LD) -NOLOGO -OUT:$@ -PDB:$(HOST_PDBFILE) $(HOST_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LDFLAGS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
ifdef MSMANIFEST_TOOL
@if test -f $@.manifest; then \
if test -f "$(srcdir)/$@.manifest"; then \
@ -833,9 +834,9 @@ ifdef MSMANIFEST_TOOL
endif # MSVC with manifest tool
else
ifeq ($(HOST_CPP_PROG_LINK),1)
$(EXPAND_LIBS_EXEC) --uselist -- $(HOST_CXX) -o $@ $(HOST_CXXFLAGS) $(HOST_LDFLAGS) $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
$(EXPAND_LIBS_EXEC) -- $(HOST_CXX) -o $@ $(HOST_CXXFLAGS) $(HOST_LDFLAGS) $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
else
$(EXPAND_LIBS_EXEC) --uselist -- $(HOST_CC) -o $@ $(HOST_CFLAGS) $(HOST_LDFLAGS) $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
$(EXPAND_LIBS_EXEC) -- $(HOST_CC) -o $@ $(HOST_CFLAGS) $(HOST_LDFLAGS) $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
endif # HOST_CPP_PROG_LINK
endif
@ -872,12 +873,12 @@ endif
$(HOST_SIMPLE_PROGRAMS): host_%$(HOST_BIN_SUFFIX): host_%.$(OBJ_SUFFIX) $(HOST_LIBS_DEPS) $(HOST_EXTRA_DEPS) $(GLOBAL_DEPS)
$(REPORT_BUILD)
ifeq (WINNT_,$(HOST_OS_ARCH)_$(GNU_CC))
$(EXPAND_LIBS_EXEC) --uselist -- $(HOST_LD) -NOLOGO -OUT:$@ -PDB:$(HOST_PDBFILE) $< $(WIN32_EXE_LDFLAGS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
$(EXPAND_LIBS_EXEC) -- $(HOST_LD) -NOLOGO -OUT:$@ -PDB:$(HOST_PDBFILE) $< $(WIN32_EXE_LDFLAGS) $(HOST_LIBS) $(HOST_EXTRA_LIBS)
else
ifneq (,$(HOST_CPPSRCS)$(USE_HOST_CXX))
$(EXPAND_LIBS_EXEC) --uselist -- $(HOST_CXX) $(HOST_OUTOPTION)$@ $(HOST_CXXFLAGS) $(INCLUDES) $< $(HOST_LIBS) $(HOST_EXTRA_LIBS)
$(EXPAND_LIBS_EXEC) -- $(HOST_CXX) $(HOST_OUTOPTION)$@ $(HOST_CXXFLAGS) $(INCLUDES) $< $(HOST_LIBS) $(HOST_EXTRA_LIBS)
else
$(EXPAND_LIBS_EXEC) --uselist -- $(HOST_CC) $(HOST_OUTOPTION)$@ $(HOST_CFLAGS) $(INCLUDES) $< $(HOST_LIBS) $(HOST_EXTRA_LIBS)
$(EXPAND_LIBS_EXEC) -- $(HOST_CC) $(HOST_OUTOPTION)$@ $(HOST_CFLAGS) $(INCLUDES) $< $(HOST_LIBS) $(HOST_EXTRA_LIBS)
endif
endif
@ -1466,8 +1467,8 @@ endif
# dependency directory in the object directory, where we really need
# it.
ifneq (,$(filter-out all chrome default export realchrome tools clean clobber clobber_all distclean realclean,$(MAKECMDGOALS)))
MDDEPEND_FILES := $(strip $(wildcard $(foreach file,$(sort $(OBJS) $(PROGOBJS) $(HOST_OBJS) $(HOST_PROGOBJS) $(TARGETS)),$(MDDEPDIR)/$(notdir $(file)).pp) $(addprefix $(MDDEPDIR)/,$(EXTRA_MDDEPEND_FILES))))
ifneq (,$(filter-out all chrome default export realchrome clean clobber clobber_all distclean realclean,$(MAKECMDGOALS)))
MDDEPEND_FILES := $(strip $(wildcard $(addprefix $(MDDEPDIR)/,$(EXTRA_MDDEPEND_FILES) $(addsuffix .pp,$(notdir $(sort $(OBJS) $(PROGOBJS) $(HOST_OBJS) $(HOST_PROGOBJS))) $(TARGETS)))))
ifneq (,$(MDDEPEND_FILES))
$(call include_deps,$(MDDEPEND_FILES))

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

@ -7,6 +7,7 @@
XPIDL_SOURCES += [
'nsIContentPolicy.idl',
'nsIContentSecurityPolicy.idl',
'nsIDocumentEncoder.idl',
'nsIDOMDataChannel.idl',
'nsIDOMFile.idl',
'nsIDOMFileList.idl',
@ -14,7 +15,6 @@ XPIDL_SOURCES += [
'nsIDOMFormData.idl',
'nsIDOMParser.idl',
'nsIDOMSerializer.idl',
'nsIDocumentEncoder.idl',
'nsIDroppedLinkHandler.idl',
'nsIFrameLoader.idl',
'nsIImageLoadingContent.idl',
@ -43,9 +43,9 @@ EXPORTS += [
'nsContentTypeParser.h',
'nsContentUtils.h',
'nsCopySupport.h',
'nsDOMFile.h',
'nsDeprecatedOperationList.h',
'nsDocElementCreatedNotificationRunner.h',
'nsDOMFile.h',
'nsHostObjectProtocolHandler.h',
'nsIAttribute.h',
'nsIContent.h',

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

@ -54,11 +54,11 @@ if CONFIG['INTEL_ARCHITECTURE']:
EXPORTS.mozilla.dom += [
'Attr.h',
'Comment.h',
'DocumentFragment.h',
'DocumentType.h',
'DOMImplementation.h',
'DOMParser.h',
'DOMRect.h',
'DocumentFragment.h',
'DocumentType.h',
'EventSource.h',
'Link.h',
'NodeIterator.h',
@ -68,31 +68,26 @@ EXPORTS.mozilla.dom += [
CPP_SOURCES += [
'Attr.cpp',
'ChildIterator.cpp',
'Comment.cpp',
'DOMImplementation.cpp',
'DOMRect.cpp',
'DirectionalityUtils.cpp',
'DocumentFragment.cpp',
'DocumentType.cpp',
'DOMImplementation.cpp',
'DOMParser.cpp',
'DOMRect.cpp',
'Element.cpp',
'EventSource.cpp',
'FileIOObject.cpp',
'FragmentOrElement.cpp',
'Link.cpp',
'NodeIterator.cpp',
'Text.cpp',
'ThirdPartyUtil.cpp',
'TreeWalker.cpp',
'WebSocket.cpp',
'nsAtomListUtils.cpp',
'nsAttrAndChildArray.cpp',
'nsAttrValue.cpp',
'nsAttrValueOrString.cpp',
'nsCCUncollectableMarker.cpp',
'nsCSPService.cpp',
'nsChannelPolicy.cpp',
'ChildIterator.cpp',
'nsContentAreaDragDrop.cpp',
'nsContentIterator.cpp',
'nsContentList.cpp',
@ -101,6 +96,10 @@ CPP_SOURCES += [
'nsContentUtils.cpp',
'nsCopySupport.cpp',
'nsCrossSiteListenerProxy.cpp',
'nsCSPService.cpp',
'nsDataDocumentContentPolicy.cpp',
'nsDocument.cpp',
'nsDocumentEncoder.cpp',
'nsDOMAttributeMap.cpp',
'nsDOMBlobBuilder.cpp',
'nsDOMCaretPosition.cpp',
@ -111,20 +110,17 @@ CPP_SOURCES += [
'nsDOMSerializer.cpp',
'nsDOMSettableTokenList.cpp',
'nsDOMTokenList.cpp',
'nsDataDocumentContentPolicy.cpp',
'nsDocument.cpp',
'nsDocumentEncoder.cpp',
'nsFormData.cpp',
'nsFrameLoader.cpp',
'nsFrameMessageManager.cpp',
'nsGenConImageContent.cpp',
'nsGenericDOMDataNode.cpp',
'nsGkAtoms.cpp',
'nsHTMLContentSerializer.cpp',
'nsHostObjectProtocolHandler.cpp',
'nsHostObjectURI.cpp',
'nsINode.cpp',
'nsHTMLContentSerializer.cpp',
'nsImageLoadingContent.cpp',
'nsINode.cpp',
'nsInProcessTabChildGlobal.cpp',
'nsLineBreaker.cpp',
'nsMappedAttributeElement.cpp',
@ -144,8 +140,8 @@ CPP_SOURCES += [
'nsScriptLoader.cpp',
'nsStubDocumentObserver.cpp',
'nsStubMutationObserver.cpp',
'nsStyleLinkElement.cpp',
'nsStyledElement.cpp',
'nsStyleLinkElement.cpp',
'nsSyncLoadService.cpp',
'nsTextFragment.cpp',
'nsTextNode.cpp',
@ -156,6 +152,10 @@ CPP_SOURCES += [
'nsXMLContentSerializer.cpp',
'nsXMLHttpRequest.cpp',
'nsXMLNameSpaceMap.cpp',
'Text.cpp',
'ThirdPartyUtil.cpp',
'TreeWalker.cpp',
'WebSocket.cpp',
]
EXTRA_COMPONENTS += [

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

@ -78,8 +78,8 @@ private:
// Creates and returns an encoder instance of the type specified in aType.
// aType may change to "image/png" if no instance of the original type could
// be created and we had to fall back to a PNG encoder. A return value of
// NULL should be interpreted as NS_IMAGELIB_ERROR_NO_ENCODER and aType is
// be created and we had to fall back to a PNG encoder. A null return value
// should be interpreted as NS_IMAGELIB_ERROR_NO_ENCODER and aType is
// undefined in this case.
static already_AddRefed<imgIEncoder> GetImageEncoder(nsAString& aType);

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

@ -27,21 +27,21 @@ CPP_SOURCES += [
if CONFIG['MOZ_WEBGL']:
CPP_SOURCES += [
'WebGLActiveInfo.cpp',
'WebGLBuffer.cpp',
'WebGL1Context.cpp',
'WebGL2Context.cpp',
'WebGLActiveInfo.cpp',
'WebGLBuffer.cpp',
'WebGLContext.cpp',
'WebGLContextAsyncQueries.cpp',
'WebGLContextBuffers.cpp',
'WebGLContextLossTimer.cpp',
'WebGLContextGL.cpp',
'WebGLContextUtils.cpp',
'WebGLContextReporter.cpp',
'WebGLContextState.cpp',
'WebGLContextValidate.cpp',
'WebGLContextExtensions.cpp',
'WebGLContextFramebufferOperations.cpp',
'WebGLContextGL.cpp',
'WebGLContextLossTimer.cpp',
'WebGLContextReporter.cpp',
'WebGLContextState.cpp',
'WebGLContextUtils.cpp',
'WebGLContextValidate.cpp',
'WebGLContextVertexArray.cpp',
'WebGLContextVertices.cpp',
'WebGLElementArrayCache.cpp',

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

@ -25,8 +25,6 @@ if CONFIG['MOZ_WEBSPEECH']:
CPP_SOURCES += [
'DOMWheelEvent.cpp',
'EventTarget.cpp',
'TextComposition.cpp',
'Touch.cpp',
'nsAsyncDOMEvent.cpp',
'nsContentEventHandler.cpp',
'nsDOMAnimationEvent.cpp',
@ -62,6 +60,8 @@ CPP_SOURCES += [
'nsIMEStateManager.cpp',
'nsPaintRequest.cpp',
'nsPrivateTextRange.cpp',
'TextComposition.cpp',
'Touch.cpp',
]
if CONFIG['MOZ_WEBSPEECH']:

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

@ -17,7 +17,7 @@
#include "DecoderTraits.h"
#include "nsIAudioChannelAgent.h"
#include "mozilla/Attributes.h"
#include "mozilla/dom/TextTrackList.h"
#include "mozilla/dom/TextTrackManager.h"
// Define to output information on decoding and painting framerate
/* #define DEBUG_FRAME_RATE 1 */
@ -50,6 +50,7 @@ namespace dom {
class MediaError;
class MediaSource;
class TextTrackList;
class HTMLMediaElement : public nsGenericHTMLElement,
public nsIObserver,
@ -526,12 +527,14 @@ public:
const nsAString& aLanguage);
void AddTextTrack(TextTrack* aTextTrack) {
mTextTracks->AddTextTrack(aTextTrack);
if (mTextTrackManager) {
mTextTrackManager->AddTextTrack(aTextTrack);
}
}
void RemoveTextTrack(TextTrack* aTextTrack) {
if (mTextTracks) {
mTextTracks->RemoveTextTrack(*aTextTrack);
if (mTextTrackManager) {
mTextTrackManager->RemoveTextTrack(aTextTrack);
}
}
@ -1148,8 +1151,7 @@ protected:
// An agent used to join audio channel service.
nsCOMPtr<nsIAudioChannelAgent> mAudioChannelAgent;
// List of our attached text track objects.
nsRefPtr<TextTrackList> mTextTracks;
nsRefPtr<TextTrackManager> mTextTrackManager;
};
} // namespace dom

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

@ -425,7 +425,7 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(HTMLMediaElement, nsGenericHTM
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mOutputStreams[i].mStream);
}
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPlayed);
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mTextTracks);
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mTextTrackManager)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(HTMLMediaElement, nsGenericHTMLElement)
@ -445,7 +445,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(HTMLMediaElement, nsGenericHTMLE
NS_IMPL_CYCLE_COLLECTION_UNLINK(mOutputStreams[i].mStream);
}
NS_IMPL_CYCLE_COLLECTION_UNLINK(mPlayed);
NS_IMPL_CYCLE_COLLECTION_UNLINK(mTextTracks);
NS_IMPL_CYCLE_COLLECTION_UNLINK(mTextTrackManager)
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(HTMLMediaElement)
@ -1999,7 +1999,7 @@ HTMLMediaElement::HTMLMediaElement(already_AddRefed<nsINodeInfo> aNodeInfo)
RegisterFreezableElement();
NotifyOwnerDocumentActivityChanged();
mTextTracks = new TextTrackList(OwnerDoc()->GetParentObject());
mTextTrackManager = new TextTrackManager(this);
}
HTMLMediaElement::~HTMLMediaElement()
@ -2979,7 +2979,9 @@ void HTMLMediaElement::SeekCompleted()
DispatchAsyncEvent(NS_LITERAL_STRING("seeked"));
// We changed whether we're seeking so we need to AddRemoveSelfReference
AddRemoveSelfReference();
mTextTracks->DidSeek();
if (mTextTrackManager) {
mTextTrackManager->DidSeek();
}
}
void HTMLMediaElement::NotifySuspendedByCache(bool aIsSuspended)
@ -3668,11 +3670,11 @@ void HTMLMediaElement::FireTimeUpdate(bool aPeriodic)
}
// Update visible text tracks.
// Here mTextTracks can be null if the cycle collector has unlinked
// Here mTextTrackManager can be null if the cycle collector has unlinked
// us before our parent. In that case UnbindFromTree will call us
// when our parent is unlinked.
if (mTextTracks) {
mTextTracks->Update(time);
if (mTextTrackManager) {
mTextTrackManager->Update(time);
}
}
@ -3905,7 +3907,7 @@ NS_IMETHODIMP HTMLMediaElement::CanPlayChanged(int32_t canPlay)
TextTrackList*
HTMLMediaElement::TextTracks() const
{
return mTextTracks;
return mTextTrackManager ? mTextTrackManager->TextTracks() : nullptr;
}
already_AddRefed<TextTrack>
@ -3913,7 +3915,9 @@ HTMLMediaElement::AddTextTrack(TextTrackKind aKind,
const nsAString& aLabel,
const nsAString& aLanguage)
{
return mTextTracks->AddTextTrack(this, aKind, aLabel, aLanguage);
return mTextTrackManager ? mTextTrackManager->AddTextTrack(aKind, aLabel,
aLanguage)
: nullptr;
}
} // namespace dom

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

@ -0,0 +1,68 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:set tw=80 expandtab softtabstop=2 ts=2 sw=2: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/dom/TextTrackManager.h"
#include "mozilla/dom/HTMLMediaElement.h"
namespace mozilla {
namespace dom {
NS_IMPL_CYCLE_COLLECTION_1(TextTrackManager, mTextTracks)
NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(TextTrackManager, AddRef)
NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(TextTrackManager, Release)
TextTrackManager::TextTrackManager(HTMLMediaElement *aMediaElement)
: mMediaElement(aMediaElement)
{
MOZ_COUNT_CTOR(TextTrackManager);
mTextTracks = new TextTrackList(mMediaElement->OwnerDoc()->GetParentObject());
}
TextTrackManager::~TextTrackManager()
{
MOZ_COUNT_DTOR(TextTrackManager);
}
TextTrackList*
TextTrackManager::TextTracks() const
{
return mTextTracks;
}
already_AddRefed<TextTrack>
TextTrackManager::AddTextTrack(TextTrackKind aKind, const nsAString& aLabel,
const nsAString& aLanguage)
{
return mTextTracks->AddTextTrack(mMediaElement, aKind, aLabel, aLanguage);
}
void
TextTrackManager::AddTextTrack(TextTrack* aTextTrack)
{
mTextTracks->AddTextTrack(aTextTrack);
}
void
TextTrackManager::RemoveTextTrack(TextTrack* aTextTrack)
{
mTextTracks->RemoveTextTrack(aTextTrack);
}
void
TextTrackManager::DidSeek()
{
mTextTracks->DidSeek();
}
void
TextTrackManager::Update(double aTime)
{
mTextTracks->Update(aTime);
}
} // namespace dom
} // namespace mozilla

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

@ -0,0 +1,53 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:set tw=80 expandtab softtabstop=2 ts=2 sw=2: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_dom_TextTrackManager_h
#define mozilla_dom_TextTrackManager_h
#include "mozilla/dom/TextTrack.h"
#include "mozilla/dom/TextTrackList.h"
namespace mozilla {
namespace dom {
class HTMLMediaElement;
class TextTrackManager
{
public:
NS_DECL_CYCLE_COLLECTION_NATIVE_CLASS(TextTrackManager)
NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(TextTrackManager);
TextTrackManager(HTMLMediaElement *aMediaElement);
~TextTrackManager();
TextTrackList* TextTracks() const;
already_AddRefed<TextTrack> AddTextTrack(TextTrackKind aKind,
const nsAString& aLabel,
const nsAString& aLanguage);
void AddTextTrack(TextTrack* aTextTrack);
void RemoveTextTrack(TextTrack* aTextTrack);
void DidSeek();
// Update the display of cues on the video as per the current play back time
// of aTime.
void Update(double aTime);
private:
// The HTMLMediaElement that this TextTrackManager manages the TextTracks of.
// This is a weak reference as the life time of TextTrackManager is dependent
// on the HTMLMediaElement, so it should not be trying to hold the
// HTMLMediaElement alive.
HTMLMediaElement* mMediaElement;
// List of the TextTrackManager's owning HTMLMediaElement's TextTracks.
nsRefPtr<TextTrackList> mTextTracks;
};
} // namespace dom
} // namespace mozilla
#endif // mozilla_dom_TextTrackManager_h

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

@ -15,8 +15,8 @@ EXPORTS += [
EXPORTS.mozilla.dom += [
'HTMLAnchorElement.h',
'HTMLAreaElement.h',
'HTMLBRElement.h',
'HTMLBodyElement.h',
'HTMLBRElement.h',
'HTMLButtonElement.h',
'HTMLDataElement.h',
'HTMLDataListElement.h',
@ -27,14 +27,14 @@ EXPORTS.mozilla.dom += [
'HTMLFormElement.h',
'HTMLFrameElement.h',
'HTMLFrameSetElement.h',
'HTMLHRElement.h',
'HTMLHeadingElement.h',
'HTMLHRElement.h',
'HTMLIFrameElement.h',
'HTMLImageElement.h',
'HTMLInputElement.h',
'HTMLLIElement.h',
'HTMLLabelElement.h',
'HTMLLegendElement.h',
'HTMLLIElement.h',
'HTMLLinkElement.h',
'HTMLMapElement.h',
'HTMLMenuElement.h',
@ -71,6 +71,7 @@ EXPORTS.mozilla.dom += [
'HTMLTrackElement.h',
'HTMLUnknownElement.h',
'MediaError.h',
'TextTrackManager.h',
'TimeRanges.h',
'UndoManager.h',
'ValidityState.h',
@ -80,8 +81,8 @@ CPP_SOURCES += [
'HTMLAnchorElement.cpp',
'HTMLAreaElement.cpp',
'HTMLAudioElement.cpp',
'HTMLBRElement.cpp',
'HTMLBodyElement.cpp',
'HTMLBRElement.cpp',
'HTMLButtonElement.cpp',
'HTMLCanvasElement.cpp',
'HTMLDataElement.cpp',
@ -94,14 +95,14 @@ CPP_SOURCES += [
'HTMLFormElement.cpp',
'HTMLFrameElement.cpp',
'HTMLFrameSetElement.cpp',
'HTMLHRElement.cpp',
'HTMLHeadingElement.cpp',
'HTMLHRElement.cpp',
'HTMLIFrameElement.cpp',
'HTMLImageElement.cpp',
'HTMLInputElement.cpp',
'HTMLLIElement.cpp',
'HTMLLabelElement.cpp',
'HTMLLegendElement.cpp',
'HTMLLIElement.cpp',
'HTMLLinkElement.cpp',
'HTMLMapElement.cpp',
'HTMLMediaElement.cpp',
@ -141,9 +142,6 @@ CPP_SOURCES += [
'HTMLUnknownElement.cpp',
'HTMLVideoElement.cpp',
'MediaError.cpp',
'TimeRanges.cpp',
'UndoManager.cpp',
'ValidityState.cpp',
'nsDOMStringMap.cpp',
'nsFormSubmission.cpp',
'nsGenericHTMLElement.cpp',
@ -152,6 +150,10 @@ CPP_SOURCES += [
'nsIConstraintValidation.cpp',
'nsRadioVisitor.cpp',
'nsTextEditorState.cpp',
'TextTrackManager.cpp',
'TimeRanges.cpp',
'UndoManager.cpp',
'ValidityState.cpp',
]
FAIL_ON_WARNINGS = True

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

@ -19,10 +19,10 @@ CPP_SOURCES += [
'HTMLAllCollection.cpp',
'ImageDocument.cpp',
'MediaDocument.cpp',
'PluginDocument.cpp',
'VideoDocument.cpp',
'nsHTMLContentSink.cpp',
'nsHTMLDocument.cpp',
'PluginDocument.cpp',
'VideoDocument.cpp',
]
LIBRARY_NAME = 'gkconhtmldoc_s'

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

@ -433,15 +433,16 @@ AudioStream* AudioStream::AllocateStream()
int AudioStream::MaxNumberOfChannels()
{
uint32_t maxNumberOfChannels, rv;
#if defined(MOZ_CUBEB)
uint32_t maxNumberOfChannels;
rv = cubeb_get_max_channel_count(GetCubebContext(), &maxNumberOfChannels);
if (rv != CUBEB_OK) {
return 0;
if (cubeb_get_max_channel_count(GetCubebContext(),
&maxNumberOfChannels) == CUBEB_OK) {
return static_cast<int>(maxNumberOfChannels);
}
#endif
return static_cast<int>(maxNumberOfChannels);
return 0;
}
int AudioStream::PreferredSampleRate()
@ -453,9 +454,13 @@ int AudioStream::PreferredSampleRate()
// backend used.
const int fallbackSampleRate = 44100;
if (mPreferredSampleRate == 0) {
if (cubeb_get_preferred_sample_rate(GetCubebContext(), &mPreferredSampleRate) != CUBEB_OK) {
mPreferredSampleRate = fallbackSampleRate;
#if defined(MOZ_CUBEB)
if (cubeb_get_preferred_sample_rate(GetCubebContext(),
&mPreferredSampleRate) == CUBEB_OK) {
return mPreferredSampleRate;
}
#endif
mPreferredSampleRate = fallbackSampleRate;
}
return mPreferredSampleRate;

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

@ -520,7 +520,8 @@ DecoderTraits::CreateDecoder(const nsACString& aType, MediaDecoderOwner* aOwner)
}
#endif
#ifdef MOZ_MEDIA_PLUGINS
if (MediaDecoder::IsMediaPluginsEnabled() && GetMediaPluginHost()->FindDecoder(aType, NULL)) {
if (MediaDecoder::IsMediaPluginsEnabled() &&
GetMediaPluginHost()->FindDecoder(aType, nullptr)) {
decoder = new MediaPluginDecoder(aType);
}
#endif

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

@ -166,14 +166,14 @@ public:
Plane mPlanes[3];
};
// Constructs a VideoData object. If aImage is NULL, creates a new Image
// holding a copy of the YCbCr data passed in aBuffer. If aImage is not NULL,
// it's stored as the underlying video image and aBuffer is assumed to point
// to memory within aImage so no copy is made. aTimecode is a codec specific
// number representing the timestamp of the frame of video data. Returns
// nsnull if an error occurs. This may indicate that memory couldn't be
// allocated to create the VideoData object, or it may indicate some problem
// with the input data (e.g. negative stride).
// Constructs a VideoData object. If aImage is nullptr, creates a new Image
// holding a copy of the YCbCr data passed in aBuffer. If aImage is not
// nullptr, it's stored as the underlying video image and aBuffer is assumed
// to point to memory within aImage so no copy is made. aTimecode is a codec
// specific number representing the timestamp of the frame of video data.
// Returns nsnull if an error occurs. This may indicate that memory couldn't
// be allocated to create the VideoData object, or it may indicate some
// problem with the input data (e.g. negative stride).
static VideoData* Create(VideoInfo& aInfo,
ImageContainer* aContainer,
Image* aImage,

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

@ -960,9 +960,9 @@ MediaStreamGraphImpl::PrepareUpdatesToMainThreadState(bool aFinalUpdate)
{
mMonitor.AssertCurrentThreadOwns();
// We don't want to update the main thread about timing update when we are not
// running in realtime.
if (ShouldUpdateMainThread()) {
// We don't want to frequently update the main thread about timing update
// when we are not running in realtime.
if (aFinalUpdate || ShouldUpdateMainThread()) {
mStreamUpdates.SetCapacity(mStreamUpdates.Length() + mStreams.Length());
for (uint32_t i = 0; i < mStreams.Length(); ++i) {
MediaStream* stream = mStreams[i];

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

@ -77,10 +77,10 @@ TextTrackList::GetTrackById(const nsAString& aId)
}
void
TextTrackList::RemoveTextTrack(TextTrack& aTrack)
TextTrackList::RemoveTextTrack(TextTrack* aTrack)
{
if (mTextTracks.RemoveElement(&aTrack)) {
CreateAndDispatchTrackEventRunner(&aTrack, NS_LITERAL_STRING("removetrack"));
if (mTextTracks.RemoveElement(aTrack)) {
CreateAndDispatchTrackEventRunner(aTrack, NS_LITERAL_STRING("removetrack"));
}
}

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

@ -53,7 +53,7 @@ public:
mTextTracks.AppendElement(aTextTrack);
}
void RemoveTextTrack(TextTrack& aTrack);
void RemoveTextTrack(TextTrack* aTrack);
void DidSeek();
nsresult DispatchTrackEvent(TrackEvent* aEvent);

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

@ -35,48 +35,6 @@ struct nsIntSize;
// mozilla::Monitor non-reentrant.
namespace mozilla {
/**
* ReentrantMonitorAutoExit
* Exit the ReentrantMonitor when it enters scope, and enters it when it leaves
* scope.
*
* MUCH PREFERRED to bare calls to ReentrantMonitor.Exit and Enter.
*/
class MOZ_STACK_CLASS ReentrantMonitorAutoExit
{
public:
/**
* Constructor
* The constructor releases the given lock. The destructor
* acquires the lock. The lock must be held before constructing
* this object!
*
* @param aReentrantMonitor A valid mozilla::ReentrantMonitor*. It
* must be already locked.
**/
ReentrantMonitorAutoExit(ReentrantMonitor& aReentrantMonitor) :
mReentrantMonitor(&aReentrantMonitor)
{
NS_ASSERTION(mReentrantMonitor, "null monitor");
mReentrantMonitor->AssertCurrentThreadIn();
mReentrantMonitor->Exit();
}
~ReentrantMonitorAutoExit(void)
{
mReentrantMonitor->Enter();
}
private:
ReentrantMonitorAutoExit();
ReentrantMonitorAutoExit(const ReentrantMonitorAutoExit&);
ReentrantMonitorAutoExit& operator =(const ReentrantMonitorAutoExit&);
static void* operator new(size_t) CPP_THROW_NEW;
static void operator delete(void*);
ReentrantMonitor* mReentrantMonitor;
};
/**
* ReentrantMonitorConditionallyEnter
*

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

@ -14,7 +14,7 @@
#include <initguid.h>
#include <wmsdkidl.h>
#define DELETE_RESET(p) { delete (p) ; (p) = NULL ;}
#define DELETE_RESET(p) { delete (p) ; (p) = nullptr ;}
DEFINE_GUID(CLSID_MozAudioSinkFilter, 0x1872d8c8, 0xea8d, 0x4c34, 0xae, 0x96, 0x69, 0xde,
0xf1, 0x33, 0x7b, 0x33);

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

@ -83,7 +83,7 @@ DirectShowReader::ReadMetadata(MediaInfo* aInfo,
// Create the filter graph, reference it by the GraphBuilder interface,
// to make graph building more convenient.
hr = CoCreateInstance(CLSID_FilterGraph,
NULL,
nullptr,
CLSCTX_INPROC_SERVER,
IID_IGraphBuilder,
reinterpret_cast<void**>(static_cast<IGraphBuilder**>(byRef(mGraph))));
@ -217,7 +217,7 @@ DirectShowReader::Finish(HRESULT aStatus)
RefPtr<IMediaEventSink> eventSink;
HRESULT hr = mGraph->QueryInterface(static_cast<IMediaEventSink**>(byRef(eventSink)));
if (SUCCEEDED(hr) && eventSink) {
eventSink->Notify(EC_COMPLETE, aStatus, NULL);
eventSink->Notify(EC_COMPLETE, aStatus, 0);
}
return false;
}

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

@ -163,7 +163,7 @@ GetGraphNotifyString(long evCode)
CASE(VFW_S_VIDEO_NOT_RENDERED); // Partial success; the video was not rendered.
CASE(E_ABORT); // Operation aborted.
CASE(E_OUTOFMEMORY); // Insufficient memory.
CASE(E_POINTER); // NULL pointer argument.
CASE(E_POINTER); // Null pointer argument.
CASE(VFW_E_CANNOT_CONNECT); // No combination of intermediate filters could be found to make the connection.
CASE(VFW_E_CANNOT_RENDER); // No combination of filters could be found to render the stream.
CASE(VFW_E_NO_ACCEPTABLE_TYPES); // There is no common media type between these pins.
@ -187,7 +187,7 @@ CreateAndAddFilter(IGraphBuilder* aGraph,
nsRefPtr<IBaseFilter> filter;
hr = CoCreateInstance(aFilterClsId,
NULL,
nullptr,
CLSCTX_INPROC_SERVER,
IID_IBaseFilter,
getter_AddRefs(filter));
@ -215,7 +215,7 @@ AddMP3DMOWrapperFilter(IGraphBuilder* aGraph,
// Create the wrapper filter.
nsRefPtr<IBaseFilter> filter;
hr = CoCreateInstance(CLSID_DMOWrapperFilter,
NULL,
nullptr,
CLSCTX_INPROC_SERVER,
IID_IBaseFilter,
getter_AddRefs(filter));
@ -281,7 +281,7 @@ GetUnconnectedPin(IBaseFilter* aFilter, PIN_DIRECTION aPinDir)
// Test each pin to see if it matches the direction we're looking for.
RefPtr<IPin> pin;
while (S_OK == enumPins->Next(1, byRef(pin), NULL)) {
while (S_OK == enumPins->Next(1, byRef(pin), nullptr)) {
bool matches = FALSE;
if (SUCCEEDED(MatchUnconnectedPin(pin, aPinDir, &matches)) &&
matches) {

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

@ -22,7 +22,7 @@ public:
: mLock(aLock)
{
CriticalSectionAutoEnter lock(*mLock);
mEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
mEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);
}
~Signal() {

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

@ -385,7 +385,7 @@ OutputPin::RequestAllocator(IMemAllocator* aPreferred,
CLSCTX_INPROC_SERVER,
IID_IMemAllocator,
getter_AddRefs(allocator));
if(FAILED(hr) || (allocator == NULL)) {
if(FAILED(hr) || (allocator == nullptr)) {
NS_WARNING("Can't create our own DirectShow allocator.");
return hr;
}
@ -451,7 +451,7 @@ OutputPin::WaitForNext(DWORD aTimeout,
NS_ASSERTION(aTimeout == 0 || aTimeout == INFINITE,
"Oops, we don't handle this!");
*aOutSample = NULL;
*aOutSample = nullptr;
*aOutDwUser = 0;
LONGLONG offset = 0;
@ -657,7 +657,7 @@ SourceFilter::GetPin(int n)
NS_ASSERTION(mOutputPin != 0, "GetPin with no pin!");
return static_cast<BasePin*>(mOutputPin);
} else {
return NULL;
return nullptr;
}
}

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

@ -27,12 +27,12 @@ CPP_SOURCES += [
# If WebRTC isn't being built, we need to compile the DirectShow base classes so that
# they're available at link time.
if not CONFIG['MOZ_WEBRTC']:
CPP_SOURCES += [
TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseFilter.cpp',
TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseInputPin.cpp',
TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp',
TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/video_capture/windows/MediaType.cpp',
]
CPP_SOURCES += [ '%s/%s' % (TOPSRCDIR, p) for p in [
'media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseFilter.cpp',
'media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseInputPin.cpp',
'media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp',
'media/webrtc/trunk/webrtc/modules/video_capture/windows/MediaType.cpp',
]]
FAIL_ON_WARNINGS = True

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

@ -143,7 +143,7 @@ bool GStreamerFormatHelper::CanHandleMediaType(const nsACString& aMIMEType,
}
const char *type;
NS_CStringGetData(aMIMEType, &type, NULL);
NS_CStringGetData(aMIMEType, &type, nullptr);
GstCaps *caps;
if (aCodecs && !aCodecs->IsEmpty()) {

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

@ -44,7 +44,7 @@ load_gstreamer()
return true;
}
void *gstreamerLib = NULL;
void *gstreamerLib = nullptr;
guint major = 0;
guint minor = 0;
guint micro, nano;

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

@ -49,7 +49,7 @@ gst_moz_video_buffer_copy(GstMozVideoBuffer* self)
{
GstMozVideoBuffer* copy;
g_return_val_if_fail(GST_IS_MOZ_VIDEO_BUFFER(self), NULL);
g_return_val_if_fail(GST_IS_MOZ_VIDEO_BUFFER(self), nullptr);
copy = gst_moz_video_buffer_new();
@ -95,7 +95,7 @@ gst_moz_video_buffer_set_data(GstMozVideoBuffer* self, GstMozVideoBufferData* da
GstMozVideoBufferData*
gst_moz_video_buffer_get_data(const GstMozVideoBuffer* self)
{
g_return_val_if_fail(GST_IS_MOZ_VIDEO_BUFFER(self), NULL);
g_return_val_if_fail(GST_IS_MOZ_VIDEO_BUFFER(self), nullptr);
return self->data;
}

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

@ -199,7 +199,7 @@ void GStreamerReader::PlayBinSourceSetupCb(GstElement* aPlayBin,
GstElement *source;
GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData);
g_object_get(aPlayBin, "source", &source, NULL);
g_object_get(aPlayBin, "source", &source, nullptr);
reader->PlayBinSourceSetup(GST_APP_SRC(source));
}

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

@ -16,9 +16,9 @@ EXPORTS += [
CPP_SOURCES += [
'GStreamerDecoder.cpp',
'GStreamerFormatHelper.cpp',
'GStreamerReader.cpp',
'GStreamerMozVideoBuffer.cpp',
'GStreamerLoader.cpp',
'GStreamerMozVideoBuffer.cpp',
'GStreamerReader.cpp',
]
LIBRARY_NAME = 'gkcongstreamer_s'

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

@ -66,12 +66,11 @@ EXPORTS += [
'AudioStream.h',
'BufferDecoder.h',
'BufferMediaResource.h',
'DOMMediaStream.h',
'DecoderTraits.h',
'DOMMediaStream.h',
'EncodedBufferCache.h',
'FileBlockCache.h',
'Latency.h',
'MP3FrameParser.h',
'MediaCache.h',
'MediaDecoder.h',
'MediaDecoderOwner.h',
@ -82,6 +81,7 @@ EXPORTS += [
'MediaResource.h',
'MediaSegment.h',
'MediaStreamGraph.h',
'MP3FrameParser.h',
'RtspMediaResource.h',
'SharedBuffer.h',
'StreamBuffer.h',
@ -116,12 +116,11 @@ CPP_SOURCES += [
'AudioStream.cpp',
'AudioStreamTrack.cpp',
'BufferDecoder.cpp',
'DOMMediaStream.cpp',
'DecoderTraits.cpp',
'DOMMediaStream.cpp',
'EncodedBufferCache.cpp',
'FileBlockCache.cpp',
'Latency.cpp',
'MP3FrameParser.cpp',
'MediaCache.cpp',
'MediaDecoder.cpp',
'MediaDecoderReader.cpp',
@ -130,6 +129,7 @@ CPP_SOURCES += [
'MediaResource.cpp',
'MediaStreamGraph.cpp',
'MediaStreamTrack.cpp',
'MP3FrameParser.cpp',
'RtspMediaResource.cpp',
'StreamBuffer.cpp',
'TextTrack.cpp',

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

@ -309,7 +309,7 @@ bool TheoraState::Init() {
}
mCtx = th_decode_alloc(&mInfo, mSetup);
if (mCtx == NULL) {
if (mCtx == nullptr) {
return mActive = false;
}
@ -838,7 +838,7 @@ OpusState::OpusState(ogg_page* aBosPage) :
mChannelMapping(0),
mStreams(0),
mCoupledStreams(0),
mDecoder(NULL),
mDecoder(nullptr),
mSkip(0),
mPrevPacketGranulepos(0),
mPrevPageGranulepos(0)
@ -852,7 +852,7 @@ OpusState::~OpusState() {
if (mDecoder) {
opus_multistream_decoder_destroy(mDecoder);
mDecoder = NULL;
mDecoder = nullptr;
}
}
@ -893,7 +893,7 @@ bool OpusState::Init(void)
int error;
NS_ASSERTION(mDecoder == NULL, "leaking OpusDecoder");
NS_ASSERTION(mDecoder == nullptr, "leaking OpusDecoder");
mDecoder = opus_multistream_decoder_create(mRate,
mChannels,

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

@ -313,7 +313,7 @@ nsresult OggReader::ReadMetadata(MediaInfo* aInfo,
mInfo.mAudio.mChannels = mVorbisState->mInfo.channels > 2 ? 2 : mVorbisState->mInfo.channels;
// Copy Vorbis info data for time computations on other threads.
memcpy(&mVorbisInfo, &mVorbisState->mInfo, sizeof(mVorbisInfo));
mVorbisInfo.codec_setup = NULL;
mVorbisInfo.codec_setup = nullptr;
mVorbisSerial = mVorbisState->mSerial;
*aTags = mVorbisState->GetTags();
} else {

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

@ -35,7 +35,7 @@ sp<OMXCodecProxy> OMXCodecProxy::Create(
const char *mime;
if (!meta->findCString(kKeyMIMEType, &mime)) {
return NULL;
return nullptr;
}
if (!strncasecmp(mime, "video/", 6)) {
@ -57,7 +57,7 @@ OMXCodecProxy::OMXCodecProxy(
mSrcMeta(meta),
mIsEncoder(createEncoder),
mSource(source),
mComponentName(NULL),
mComponentName(nullptr),
mFlags(flags),
mNativeWindow(nativeWindow),
mState(MediaResourceManagerClient::CLIENT_STATE_WAIT_FOR_RESOURCE)
@ -71,7 +71,7 @@ OMXCodecProxy::~OMXCodecProxy()
if (mOMXCodec.get()) {
wp<MediaSource> tmp = mOMXCodec;
mOMXCodec.clear();
while (tmp.promote() != NULL) {
while (tmp.promote() != nullptr) {
// this value come from stagefrigh's AwesomePlayer.
usleep(1000);
}
@ -85,7 +85,7 @@ OMXCodecProxy::~OMXCodecProxy()
mSource.clear();
free(mComponentName);
mComponentName = NULL;
mComponentName = nullptr;
}
MediaResourceManagerClient::State OMXCodecProxy::getState()
@ -102,9 +102,9 @@ void OMXCodecProxy::setEventListener(const wp<OMXCodecProxy::EventListener>& lis
void OMXCodecProxy::notifyStatusChangedLocked()
{
if (mEventListener != NULL) {
if (mEventListener != nullptr) {
sp<EventListener> listener = mEventListener.promote();
if (listener != NULL) {
if (listener != nullptr) {
listener->statusChanged();
}
}
@ -122,7 +122,7 @@ void OMXCodecProxy::requestResource()
mManagerService = mClient->getMediaResourceManagerService();
if (!mManagerService.get()) {
mClient = NULL;
mClient = nullptr;
return;
}
@ -159,7 +159,7 @@ void OMXCodecProxy::statusChanged(int event)
if (!strncasecmp(mime, "video/", 6)) {
sp<MediaSource> codec;
mOMXCodec = OMXCodec::Create(mOMX, mSrcMeta, mIsEncoder, mSource, mComponentName, mFlags, mNativeWindow);
if (mOMXCodec == NULL) {
if (mOMXCodec == nullptr) {
mState = MediaResourceManagerClient::CLIENT_STATE_SHUTDOWN;
notifyStatusChangedLocked();
return;
@ -204,7 +204,7 @@ status_t OMXCodecProxy::start(MetaData *params)
if (mState != MediaResourceManagerClient::CLIENT_STATE_RESOURCE_ASSIGNED) {
return NO_INIT;
}
CHECK(mOMXCodec.get() != NULL);
CHECK(mOMXCodec.get() != nullptr);
return mOMXCodec->start();
}
@ -215,7 +215,7 @@ status_t OMXCodecProxy::stop()
if (mState != MediaResourceManagerClient::CLIENT_STATE_RESOURCE_ASSIGNED) {
return NO_INIT;
}
CHECK(mOMXCodec.get() != NULL);
CHECK(mOMXCodec.get() != nullptr);
return mOMXCodec->stop();
}
@ -227,7 +227,7 @@ sp<MetaData> OMXCodecProxy::getFormat()
sp<MetaData> meta = new MetaData;
return meta;
}
CHECK(mOMXCodec.get() != NULL);
CHECK(mOMXCodec.get() != nullptr);
return mOMXCodec->getFormat();
}
@ -238,7 +238,7 @@ status_t OMXCodecProxy::read(MediaBuffer **buffer, const ReadOptions *options)
if (mState != MediaResourceManagerClient::CLIENT_STATE_RESOURCE_ASSIGNED) {
return NO_INIT;
}
CHECK(mOMXCodec.get() != NULL);
CHECK(mOMXCodec.get() != nullptr);
return mOMXCodec->read(buffer, options);
}
@ -249,7 +249,7 @@ status_t OMXCodecProxy::pause()
if (mState != MediaResourceManagerClient::CLIENT_STATE_RESOURCE_ASSIGNED) {
return NO_INIT;
}
CHECK(mOMXCodec.get() != NULL);
CHECK(mOMXCodec.get() != nullptr);
return mOMXCodec->pause();
}

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

@ -32,9 +32,9 @@ public:
const sp<IOMX> &omx,
const sp<MetaData> &meta, bool createEncoder,
const sp<MediaSource> &source,
const char *matchComponentName = NULL,
const char *matchComponentName = nullptr,
uint32_t flags = 0,
const sp<ANativeWindow> &nativeWindow = NULL);
const sp<ANativeWindow> &nativeWindow = nullptr);
MediaResourceManagerClient::State getState();
@ -47,13 +47,13 @@ public:
virtual void statusChanged(int event);
// MediaSource
virtual status_t start(MetaData *params = NULL);
virtual status_t start(MetaData *params = nullptr);
virtual status_t stop();
virtual sp<MetaData> getFormat();
virtual status_t read(
MediaBuffer **buffer, const ReadOptions *options = NULL);
MediaBuffer **buffer, const ReadOptions *options = nullptr);
virtual status_t pause();

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

@ -14,8 +14,8 @@ EXPORTS += [
CPP_SOURCES += [
'MediaOmxDecoder.cpp',
'MediaOmxReader.cpp',
'OmxDecoder.cpp',
'OMXCodecProxy.cpp',
'OmxDecoder.cpp',
]
if CONFIG['MOZ_RTSP']:

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

@ -34,7 +34,7 @@
using namespace MPAPI;
Decoder::Decoder() :
mResource(NULL), mPrivate(NULL)
mResource(nullptr), mPrivate(nullptr)
{
}
@ -199,7 +199,7 @@ MediaPluginHost::MediaPluginHost() {
ALOG("Loading OMX Plugin: %s", name ? name : "nullptr");
if (name) {
char *path = PR_GetLibraryFilePathname("libxul.so", (PRFuncPtr) GetOmxLibraryName);
PRLibrary *lib = NULL;
PRLibrary *lib = nullptr;
if (path) {
nsAutoCString libpath(path);
PR_Free(path);

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

@ -22,12 +22,12 @@ MediaPluginReader::MediaPluginReader(AbstractMediaDecoder *aDecoder,
const nsACString& aContentType) :
MediaDecoderReader(aDecoder),
mType(aContentType),
mPlugin(NULL),
mPlugin(nullptr),
mHasAudio(false),
mHasVideo(false),
mVideoSeekTimeUs(-1),
mAudioSeekTimeUs(-1),
mLastVideoFrame(NULL)
mLastVideoFrame(nullptr)
{
}
@ -105,11 +105,11 @@ nsresult MediaPluginReader::ResetDecode()
{
if (mLastVideoFrame) {
delete mLastVideoFrame;
mLastVideoFrame = NULL;
mLastVideoFrame = nullptr;
}
if (mPlugin) {
GetMediaPluginHost()->DestroyDecoder(mPlugin);
mPlugin = NULL;
mPlugin = nullptr;
}
return NS_OK;
@ -126,7 +126,7 @@ bool MediaPluginReader::DecodeVideoFrame(bool &aKeyframeSkip,
// Throw away the currently buffered frame if we are seeking.
if (mLastVideoFrame && mVideoSeekTimeUs != -1) {
delete mLastVideoFrame;
mLastVideoFrame = NULL;
mLastVideoFrame = nullptr;
}
ImageBufferCallback bufferCallback(mDecoder->GetImageContainer());
@ -146,7 +146,7 @@ bool MediaPluginReader::DecodeVideoFrame(bool &aKeyframeSkip,
? durationUs
: mLastVideoFrame->mTime;
mVideoQueue.Push(mLastVideoFrame);
mLastVideoFrame = NULL;
mLastVideoFrame = nullptr;
}
return false;
}
@ -266,7 +266,7 @@ bool MediaPluginReader::DecodeVideoFrame(bool &aKeyframeSkip,
// in which case it wouldn't be displayed anyway.
if (mLastVideoFrame->mEndTime < aTimeThreshold) {
delete mLastVideoFrame;
mLastVideoFrame = NULL;
mLastVideoFrame = nullptr;
continue;
}

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

@ -225,7 +225,7 @@ ServeResourceEvent::Run() {
NS_NAMED_LITERAL_CSTRING(byteRange, "Range: bytes=");
const char* s = strstr(line.get(), byteRange.get());
if (s) {
start = strtoll(s+byteRange.Length(), NULL, 10);
start = strtoll(s+byteRange.Length(), nullptr, 10);
// Clamp 'start' to be between 0 and the resource length.
start = std::max(0ll, std::min(resource->GetLength(), start));

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

@ -7,11 +7,11 @@
MODULE = 'content'
EXPORTS += [
'MPAPI.h',
'MediaPluginDecoder.h',
'MediaPluginHost.h',
'MediaPluginReader.h',
'MediaResourceServer.h',
'MPAPI.h',
]
CPP_SOURCES += [

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

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html class="reftest-wait">
<script>
// 1024 > 89478.5 * 48000 - (1 << 32)
var context = new window.OfflineAudioContext(1, 1024, 48000);
context.oncomplete = function(e) {
document.documentElement.removeAttribute("class");
};
var buffer = context.createBuffer(1, 2048, context.sampleRate);
var source = context.createBufferSource();
source.buffer = buffer;
source.start(89478.5); // 89478.5 is a little greater than 2^32 / 48000.
context.startRendering();
</script>

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

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html class="reftest-wait">
<script>
var context = new window.OfflineAudioContext(1, 2048, 48000);
// 1024 > 89478.5 * 48000 - (1 << 32)
var buffer = context.createBuffer(1, 1024, context.sampleRate);
var source = context.createBufferSource();
source.buffer = buffer;
source.onended = function(e) {
document.documentElement.removeAttribute("class");
};
source.start(0);
source.stop(89478.5); // 89478.5 is a little greater than 2^32 / 48000.
context.startRendering();
</script>

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

@ -57,6 +57,9 @@ load 907986-3.html
load 907986-4.html
load 910171-1.html
load 920987.html
load 925619-1.html
load 925619-2.html
load offline-buffer-source-ended-1.html
skip-if(B2G) load oscillator-ended-1.html # intermittent B2G timeouts, bug 920338
skip-if(B2G) load oscillator-ended-2.html # intermittent B2G timeouts, bug 920338
test-pref(media.mediasource.enabled,true) load 926665.html

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

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html class="reftest-wait">
<script>
// Currently this test fails unless an extra block is processed after the
// BufferSource finishes. 12033 ≡ 1 (mod 128), but the test should pass even
// when only 12001 samples are processed.
var context = new window.OfflineAudioContext(1, 12033, 12000);
var source = context.createBufferSource();
source.buffer = context.createBuffer(1, 12000, context.sampleRate);
source.onended = function(e) {
document.documentElement.removeAttribute("class");
}
source.connect(context.destination);
source.start(0);
context.startRendering();
</script>

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

@ -246,8 +246,10 @@ public:
TrackTicks* aCurrentPosition,
TrackTicks aMaxPos)
{
uint32_t numFrames = std::min(WEBAUDIO_BLOCK_SIZE - *aOffsetWithinBlock,
uint32_t(aMaxPos - *aCurrentPosition));
MOZ_ASSERT(*aCurrentPosition < aMaxPos);
uint32_t numFrames =
std::min<TrackTicks>(WEBAUDIO_BLOCK_SIZE - *aOffsetWithinBlock,
aMaxPos - *aCurrentPosition);
if (numFrames == WEBAUDIO_BLOCK_SIZE) {
aOutput->SetNull(numFrames);
} else {
@ -277,9 +279,11 @@ public:
uint32_t aBufferOffset,
uint32_t aBufferMax)
{
uint32_t numFrames = std::min(std::min(WEBAUDIO_BLOCK_SIZE - *aOffsetWithinBlock,
aBufferMax - aBufferOffset),
uint32_t(mStop - *aCurrentPosition));
MOZ_ASSERT(*aCurrentPosition < mStop);
uint32_t numFrames =
std::min<TrackTicks>(std::min(WEBAUDIO_BLOCK_SIZE - *aOffsetWithinBlock,
aBufferMax - aBufferOffset),
mStop - *aCurrentPosition);
if (numFrames == WEBAUDIO_BLOCK_SIZE && !ShouldResample(aStream->SampleRate())) {
BorrowFromInputBuffer(aOutput, aChannels, aBufferOffset);
*aOffsetWithinBlock += numFrames;
@ -656,9 +660,9 @@ AudioBufferSourceNode::SendLoopParametersToStream()
float rate = mBuffer->SampleRate();
double length = (double(mBuffer->Length()) / mBuffer->SampleRate());
double actualLoopStart, actualLoopEnd;
if (((mLoopStart != 0.0) || (mLoopEnd != 0.0)) &&
mLoopStart >= 0.0 && mLoopEnd > 0.0 &&
if (mLoopStart >= 0.0 && mLoopEnd > 0.0 &&
mLoopStart < mLoopEnd) {
MOZ_ASSERT(mLoopStart != 0.0 || mLoopEnd != 0.0);
actualLoopStart = (mLoopStart > length) ? 0.0 : mLoopStart;
actualLoopEnd = std::min(mLoopEnd, length);
} else {

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

@ -198,7 +198,7 @@ void HRTFDatabaseLoader::shutdown()
{
MOZ_ASSERT(NS_IsMainThread());
if (s_loaderMap) {
// Set s_loaderMap to NULL so that the hashtable is not modified on
// Set s_loaderMap to nullptr so that the hashtable is not modified on
// reference release during enumeration.
nsTHashtable<LoaderByRateEntry>* loaderMap = s_loaderMap;
s_loaderMap = nullptr;

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

@ -9,7 +9,6 @@
#include "MediaResource.h"
#include "WebMReader.h"
#include "WebMBufferedParser.h"
#include "VideoUtils.h"
#include "mozilla/dom/TimeRanges.h"
#include "VorbisUtils.h"
@ -200,7 +199,7 @@ WebMReader::~WebMReader()
nsresult WebMReader::Init(MediaDecoderReader* aCloneDonor)
{
if (vpx_codec_dec_init(&mVP8, vpx_codec_vp8_dx(), NULL, 0)) {
if (vpx_codec_dec_init(&mVP8, vpx_codec_vp8_dx(), nullptr, 0)) {
return NS_ERROR_FAILURE;
}
@ -853,7 +852,7 @@ bool WebMReader::DecodeVideoFrame(bool &aKeyframeSkip,
aKeyframeSkip = false;
}
if (vpx_codec_decode(&mVP8, data, length, NULL, 0)) {
if (vpx_codec_decode(&mVP8, data, length, nullptr, 0)) {
return false;
}
@ -865,7 +864,7 @@ bool WebMReader::DecodeVideoFrame(bool &aKeyframeSkip,
continue;
}
vpx_codec_iter_t iter = NULL;
vpx_codec_iter_t iter = nullptr;
vpx_image_t *img;
while ((img = vpx_codec_get_frame(&mVP8, &iter))) {

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

@ -221,13 +221,13 @@ protected:
AUDIO = 1
};
// Read a packet from the nestegg file. Returns NULL if all packets for
// Read a packet from the nestegg file. Returns nullptr if all packets for
// the particular track have been read. Pass VIDEO or AUDIO to indicate the
// type of the packet we want to read.
#ifdef MOZ_DASH
nsReturnRef<NesteggPacketHolder> NextPacketInternal(TrackType aTrackType);
// Read a packet from the nestegg file. Returns NULL if all packets for
// Read a packet from the nestegg file. Returns nullptr if all packets for
// the particular track have been read. Pass VIDEO or AUDIO to indicate the
// type of the packet we want to read. If the reader reaches a switch access
// point, this function will get a packet from |mNextReader|.

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

@ -145,7 +145,7 @@ MediaEngineDefaultVideoSource::Stop(SourceMediaStream *aSource, TrackID aID)
}
mTimer->Cancel();
mTimer = NULL;
mTimer = nullptr;
aSource->EndTrack(aID);
aSource->Finish();
@ -243,7 +243,7 @@ MediaEngineDefaultVideoSource::NotifyPull(MediaStreamGraph* aGraph,
TrackTicks delta = target - aLastEndTime;
if (delta > 0) {
// NULL images are allowed
// nullptr images are allowed
if (image) {
segment.AppendFrame(image.forget(), delta,
gfxIntSize(mOpts.mWidth, mOpts.mHeight));
@ -398,7 +398,7 @@ MediaEngineDefaultAudioSource::Stop(SourceMediaStream *aSource, TrackID aID)
}
mTimer->Cancel();
mTimer = NULL;
mTimer = nullptr;
aSource->EndTrack(aID);
aSource->Finish();

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

@ -49,7 +49,7 @@ MediaEngineTabVideoSource::StopRunnable::Run()
if (mVideoSource->mTimer) {
mVideoSource->mTimer->Cancel();
mVideoSource->mTimer = NULL;
mVideoSource->mTimer = nullptr;
}
return NS_OK;
}
@ -152,7 +152,7 @@ NotifyPull(MediaStreamGraph*, SourceMediaStream* aSource, mozilla::TrackID aID,
TrackTicks target = TimeToTicksRoundUp(USECS_PER_S, aDesiredTime);
TrackTicks delta = target - aLastEndTime;
if (delta > 0) {
// NULL images are allowed
// nullptr images are allowed
if (image) {
gfxIntSize size = image->GetSize();
segment.AppendFrame(image.forget(), delta, size);

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

@ -238,8 +238,8 @@ MediaEngineWebRTC::EnumerateVideoDevices(nsTArray<nsRefPtr<MediaEngineVideoSourc
void
MediaEngineWebRTC::EnumerateAudioDevices(nsTArray<nsRefPtr<MediaEngineAudioSource> >* aASources)
{
webrtc::VoEBase* ptrVoEBase = NULL;
webrtc::VoEHardware* ptrVoEHw = NULL;
webrtc::VoEBase* ptrVoEBase = nullptr;
webrtc::VoEHardware* ptrVoEHw = nullptr;
// We spawn threads to handle gUM runnables, so we must protect the member vars
MutexAutoLock lock(mMutex);
@ -250,7 +250,7 @@ MediaEngineWebRTC::EnumerateAudioDevices(nsTArray<nsRefPtr<MediaEngineAudioSourc
JavaVM *jvm = mozilla::AndroidBridge::Bridge()->GetVM();
JNIEnv *env;
jvm->AttachCurrentThread(&env, NULL);
jvm->AttachCurrentThread(&env, nullptr);
if (webrtc::VoiceEngine::SetAndroidObjects(jvm, (void*)context) != 0) {
LOG(("VoiceEngine:SetAndroidObjects Failed"));
@ -357,8 +357,8 @@ MediaEngineWebRTC::Shutdown()
webrtc::VoiceEngine::Delete(mVoiceEngine);
}
mVideoEngine = NULL;
mVoiceEngine = NULL;
mVideoEngine = nullptr;
mVoiceEngine = nullptr;
}
}

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

@ -129,7 +129,7 @@ public:
, mHeight(0)
, mInitDone(false)
, mInSnapshotMode(false)
, mSnapshotPath(NULL) {
, mSnapshotPath(nullptr) {
MOZ_ASSERT(aVideoEnginePtr);
mState = kReleased;
Init();

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

@ -140,7 +140,7 @@ MediaEngineWebRTCVideoSource::NotifyPull(MediaStreamGraph* aGraph,
// Don't append if we've already provided a frame that supposedly goes past the current aDesiredTime
// Doing so means a negative delta and thus messes up handling of the graph
if (delta > 0) {
// NULL images are allowed
// nullptr images are allowed
if (image) {
segment.AppendFrame(image.forget(), delta, gfxIntSize(mWidth, mHeight));
} else {
@ -500,7 +500,7 @@ MediaEngineWebRTCVideoSource::Snapshot(uint32_t aDuration, nsIDOMFile** aFile)
NS_ConvertUTF16toUTF8 path(*mSnapshotPath);
if (vieFile->GetCaptureDeviceSnapshot(mCaptureIndex, path.get()) < 0) {
delete mSnapshotPath;
mSnapshotPath = NULL;
mSnapshotPath = nullptr;
return NS_ERROR_FAILURE;
}
@ -512,7 +512,7 @@ MediaEngineWebRTCVideoSource::Snapshot(uint32_t aDuration, nsIDOMFile** aFile)
nsresult rv = NS_NewLocalFile(*mSnapshotPath, false, getter_AddRefs(file));
delete mSnapshotPath;
mSnapshotPath = NULL;
mSnapshotPath = nullptr;
NS_ENSURE_SUCCESS(rv, rv);
@ -540,12 +540,12 @@ MediaEngineWebRTCVideoSource::Init()
(void) mMinFps;
LOG((__FUNCTION__));
if (mVideoEngine == NULL) {
if (mVideoEngine == nullptr) {
return;
}
mViEBase = webrtc::ViEBase::GetInterface(mVideoEngine);
if (mViEBase == NULL) {
if (mViEBase == nullptr) {
return;
}
@ -553,7 +553,7 @@ MediaEngineWebRTCVideoSource::Init()
mViECapture = webrtc::ViECapture::GetInterface(mVideoEngine);
mViERender = webrtc::ViERender::GetInterface(mVideoEngine);
if (mViECapture == NULL || mViERender == NULL) {
if (mViECapture == nullptr || mViERender == nullptr) {
return;
}

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

@ -18,8 +18,8 @@ if CONFIG['MOZ_WEBRTC']:
CPP_SOURCES += [
'MediaEngineTabVideoSource.cpp',
'MediaEngineWebRTC.cpp',
'MediaEngineWebRTCVideo.cpp',
'MediaEngineWebRTCAudio.cpp',
'MediaEngineWebRTCVideo.cpp',
]
XPIDL_SOURCES += [
'nsITabSource.idl'

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

@ -477,7 +477,7 @@ SpeechRecognition::NotifyFinalResult(SpeechEvent* aEvent)
srEvent->InitSpeechRecognitionEvent(NS_LITERAL_STRING("result"),
true, false, 0, ilist,
NS_LITERAL_STRING("NOT_IMPLEMENTED"),
NULL);
nullptr);
domEvent->SetTrusted(true);
bool defaultActionEnabled;

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

@ -27,6 +27,9 @@ EXPORTS.mozilla.dom += [
CPP_SOURCES += [
'EnableWebSpeechRecognitionCheck.cpp',
'endpointer.cc',
'energy_endpointer.cc',
'energy_endpointer_params.cc',
'SpeechGrammar.cpp',
'SpeechGrammarList.cpp',
'SpeechRecognition.cpp',
@ -34,9 +37,6 @@ CPP_SOURCES += [
'SpeechRecognitionResult.cpp',
'SpeechRecognitionResultList.cpp',
'SpeechStreamListener.cpp',
'endpointer.cc',
'energy_endpointer.cc',
'energy_endpointer_params.cc',
'test/FakeSpeechRecognitionService.cpp',
]

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

@ -18,24 +18,24 @@ if CONFIG['MOZ_WEBSPEECH']:
EXPORTS.mozilla.dom += [
'EnableSpeechSynthesisCheck.h',
'SpeechSynthesis.h',
'SpeechSynthesisUtterance.h',
'SpeechSynthesisVoice.h',
'ipc/SpeechSynthesisChild.h',
'ipc/SpeechSynthesisParent.h',
'nsSpeechTask.h',
'nsSynthVoiceRegistry.h',
'SpeechSynthesis.h',
'SpeechSynthesisUtterance.h',
'SpeechSynthesisVoice.h',
]
CPP_SOURCES += [
'EnableSpeechSynthesisCheck.cpp',
'SpeechSynthesis.cpp',
'ipc/SpeechSynthesisChild.cpp',
'ipc/SpeechSynthesisParent.cpp',
'SpeechSynthesisUtterance.cpp',
'SpeechSynthesisVoice.cpp',
'nsSpeechTask.cpp',
'nsSynthVoiceRegistry.cpp',
'SpeechSynthesis.cpp',
'SpeechSynthesisUtterance.cpp',
'SpeechSynthesisVoice.cpp',
]
if CONFIG['MOZ_SYNTH_PICO']:

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

@ -167,7 +167,7 @@ nsSpeechTask::SendAudio(const JS::Value& aData, const JS::Value& aLandmarks,
JS::Rooted<JSObject*> darray(aCx, &aData.toObject());
JSAutoCompartment ac(aCx, darray);
JS::Rooted<JSObject*> tsrc(aCx, NULL);
JS::Rooted<JSObject*> tsrc(aCx, nullptr);
// Allow either Int16Array or plain JS Array
if (JS_IsInt16Array(darray)) {

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

@ -24,18 +24,18 @@ NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsPicoService,
NS_DEFINE_NAMED_CID(PICOSERVICE_CID);
static const mozilla::Module::CIDEntry kCIDs[] = {
{ &kPICOSERVICE_CID, true, NULL, nsPicoServiceConstructor },
{ NULL }
{ &kPICOSERVICE_CID, true, nullptr, nsPicoServiceConstructor },
{ nullptr }
};
static const mozilla::Module::ContractIDEntry kContracts[] = {
{ PICOSERVICE_CONTRACTID, &kPICOSERVICE_CID },
{ NULL }
{ nullptr }
};
static const mozilla::Module::CategoryEntry kCategories[] = {
{ "profile-after-change", "Pico Speech Synth", PICOSERVICE_CONTRACTID },
{ NULL }
{ nullptr }
};
static void
@ -49,8 +49,8 @@ static const mozilla::Module kModule = {
kCIDs,
kContracts,
kCategories,
NULL,
NULL,
nullptr,
nullptr,
UnloadPicoModule
};

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

@ -7,8 +7,8 @@
MODULE = 'synthpico'
CPP_SOURCES += [
'PicoModule.cpp',
'nsPicoService.cpp'
'nsPicoService.cpp',
'PicoModule.cpp'
]
LIBRARY_NAME = 'synthpico'

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

@ -106,7 +106,7 @@ D3D9DXVA2Manager::Init()
D3DCREATE_MULTITHREADED |
D3DCREATE_MIXED_VERTEXPROCESSING,
&params,
NULL,
nullptr,
getter_AddRefs(device));
NS_ENSURE_TRUE(SUCCEEDED(hr), hr);

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

@ -212,7 +212,7 @@ WMFByteStream::QueryInterface(REFIID aIId, void **aInterface)
return DoGetInterface(static_cast<IMFAttributes*>(this), aInterface);
}
*aInterface = NULL;
*aInterface = nullptr;
return E_NOINTERFACE;
}
@ -258,7 +258,7 @@ ReadRequest::QueryInterface(REFIID aIId, void **aInterface)
return DoGetInterface(static_cast<IUnknown*>(this), aInterface);
}
*aInterface = NULL;
*aInterface = nullptr;
return E_NOINTERFACE;
}

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

@ -239,7 +239,7 @@ ConfigureSourceReaderStream(IMFSourceReader *aReader,
// Set the uncompressed format. This can fail if the decoder can't produce
// that type.
return aReader->SetCurrentMediaType(aStreamIndex, NULL, type);
return aReader->SetCurrentMediaType(aStreamIndex, nullptr, type);
}
// Returns the duration of the resource, in microseconds.
@ -333,7 +333,7 @@ GetPictureRegion(IMFMediaType* aMediaType, nsIntRect& aOutPictureRegion)
hr = aMediaType->GetBlob(MF_MT_PAN_SCAN_APERTURE,
(UINT8*)&videoArea,
sizeof(MFVideoArea),
NULL);
nullptr);
}
// If we're not in pan-and-scan mode, or the pan-and-scan region is not set,
@ -342,7 +342,7 @@ GetPictureRegion(IMFMediaType* aMediaType, nsIntRect& aOutPictureRegion)
hr = aMediaType->GetBlob(MF_MT_MINIMUM_DISPLAY_APERTURE,
(UINT8*)&videoArea,
sizeof(MFVideoArea),
NULL);
nullptr);
}
if (hr == MF_E_ATTRIBUTENOTFOUND) {
@ -351,7 +351,7 @@ GetPictureRegion(IMFMediaType* aMediaType, nsIntRect& aOutPictureRegion)
hr = aMediaType->GetBlob(MF_MT_GEOMETRIC_APERTURE,
(UINT8*)&videoArea,
sizeof(MFVideoArea),
NULL);
nullptr);
}
if (SUCCEEDED(hr)) {
@ -796,7 +796,7 @@ WMFReader::CreateBasicVideoFrame(IMFSample* aSample,
hr = twoDBuffer->Lock2D(&data, &stride);
NS_ENSURE_TRUE(SUCCEEDED(hr), hr);
} else {
hr = buffer->Lock(&data, NULL, NULL);
hr = buffer->Lock(&data, nullptr, nullptr);
NS_ENSURE_TRUE(SUCCEEDED(hr), hr);
stride = mVideoStride;
}

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

@ -29,7 +29,7 @@ WMFSourceReaderCallback::QueryInterface(REFIID aIId, void **aInterface)
return DoGetInterface(static_cast<WMFSourceReaderCallback*>(this), aInterface);
}
*aInterface = NULL;
*aInterface = nullptr;
return E_NOINTERFACE;
}
@ -58,7 +58,7 @@ WMFSourceReaderCallback::NotifyReadComplete(HRESULT aReadStatus,
LONGLONG aTimestamp,
IMFSample *aSample)
{
// Note: aSample can be NULL on success if more data is required!
// Note: aSample can be nullptr on success if more data is required!
ReentrantMonitorAutoEnter mon(mMonitor);
if (mSample) {

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

@ -236,7 +236,7 @@ DisableBlockedDecoders(IMFPluginControl* aPluginControl,
HRESULT hr = S_OK;
UINT32 numMFTs = 0;
IMFActivate **ppActivate = NULL;
IMFActivate **ppActivate = nullptr;
hr = wmf::MFTEnumEx(aCategory,
MFT_ENUM_FLAG_ALL,
nullptr, // Input type, nullptr -> match all.
@ -295,11 +295,11 @@ struct WMFModule {
};
static WMFModule sDLLs[] = {
{ L"mfplat.dll", NULL },
{ L"mfreadwrite.dll", NULL },
{ L"propsys.dll", NULL },
{ L"mf.dll", NULL },
{ L"dxva2.dll", NULL }
{ L"mfplat.dll", nullptr },
{ L"mfreadwrite.dll", nullptr },
{ L"propsys.dll", nullptr },
{ L"mf.dll", nullptr },
{ L"dxva2.dll", nullptr }
};
HRESULT
@ -349,7 +349,7 @@ UnloadDLLs()
for (uint32_t i = 0; i < length; i++) {
if (sDLLs[i].handle) {
FreeLibrary(sDLLs[i].handle);
sDLLs[i].handle = NULL;
sDLLs[i].handle = nullptr;
}
sDLLsLoaded = false;
}

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

@ -14,8 +14,8 @@ EXPORTS += [
'nsISMILType.h',
'nsSMILAnimationController.h',
'nsSMILAnimationFunction.h',
'nsSMILCSSProperty.h',
'nsSMILCompositorTable.h',
'nsSMILCSSProperty.h',
'nsSMILInstanceTime.h',
'nsSMILInterval.h',
'nsSMILKeySpline.h',
@ -26,25 +26,21 @@ EXPORTS += [
'nsSMILSetAnimationFunction.h',
'nsSMILTargetIdentifier.h',
'nsSMILTimeContainer.h',
'nsSMILTimedElement.h',
'nsSMILTimeValue.h',
'nsSMILTimeValueSpec.h',
'nsSMILTimeValueSpecParams.h',
'nsSMILTimedElement.h',
'nsSMILTypes.h',
'nsSMILValue.h',
]
CPP_SOURCES += [
'SMILBoolType.cpp',
'SMILEnumType.cpp',
'SMILIntegerType.cpp',
'SMILStringType.cpp',
'nsDOMTimeEvent.cpp',
'nsSMILAnimationController.cpp',
'nsSMILAnimationFunction.cpp',
'nsSMILCompositor.cpp',
'nsSMILCSSProperty.cpp',
'nsSMILCSSValueType.cpp',
'nsSMILCompositor.cpp',
'nsSMILFloatType.cpp',
'nsSMILInstanceTime.cpp',
'nsSMILInterval.cpp',
@ -55,10 +51,14 @@ CPP_SOURCES += [
'nsSMILRepeatCount.cpp',
'nsSMILSetAnimationFunction.cpp',
'nsSMILTimeContainer.cpp',
'nsSMILTimedElement.cpp',
'nsSMILTimeValue.cpp',
'nsSMILTimeValueSpec.cpp',
'nsSMILTimedElement.cpp',
'nsSMILValue.cpp',
'SMILBoolType.cpp',
'SMILEnumType.cpp',
'SMILIntegerType.cpp',
'SMILStringType.cpp',
]
FAIL_ON_WARNINGS = True

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

@ -276,7 +276,7 @@ SVGFETurbulenceElement::Noise2(int aColorChannel, double aVec[2],
ry0 = t - (int) t;
ry1 = ry0 - 1.0f;
// If stitching, adjust lattice points accordingly.
if (aStitchInfo != NULL) {
if (aStitchInfo != nullptr) {
if (bx0 >= aStitchInfo->mWrapX)
bx0 -= aStitchInfo->mWidth;
if (bx1 >= aStitchInfo->mWrapX)
@ -322,7 +322,7 @@ SVGFETurbulenceElement::Turbulence(int aColorChannel, double* aPoint,
double aTileWidth, double aTileHeight)
{
StitchInfo stitch;
StitchInfo *stitchInfo = NULL; // Not stitching when NULL.
StitchInfo *stitchInfo = nullptr; // Not stitching when nullptr.
// Adjust the base frequencies if necessary for stitching.
if (aDoStitching) {
// When stitching tiled turbulence, the frequencies must be adjusted
@ -363,7 +363,7 @@ SVGFETurbulenceElement::Turbulence(int aColorChannel, double* aPoint,
vec[0] *= 2;
vec[1] *= 2;
ratio *= 2;
if (stitchInfo != NULL) {
if (stitchInfo != nullptr) {
// Update stitch values. Subtracting sPerlinN before the multiplication
// and adding it afterward simplifies to subtracting it once.
stitch.mWidth *= 2;

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

@ -7,21 +7,19 @@
MODULE = 'content'
EXPORTS += [
'SVGAttrValueWrapper.h',
'SVGPreserveAspectRatio.h',
'SVGStringList.h',
'nsSVGClass.h',
'nsSVGElement.h',
'nsSVGFeatures.h',
'SVGAttrValueWrapper.h',
'SVGPreserveAspectRatio.h',
'SVGStringList.h',
]
EXPORTS.mozilla.dom += [
'nsSVGAnimatedTransformList.h',
'SVGAElement.h',
'SVGAltGlyphElement.h',
'SVGAngle.h',
'SVGAnimateElement.h',
'SVGAnimateMotionElement.h',
'SVGAnimateTransformElement.h',
'SVGAnimatedAngle.h',
'SVGAnimatedBoolean.h',
'SVGAnimatedEnumeration.h',
@ -31,6 +29,9 @@ EXPORTS.mozilla.dom += [
'SVGAnimatedRect.h',
'SVGAnimatedString.h',
'SVGAnimatedTransformList.h',
'SVGAnimateElement.h',
'SVGAnimateMotionElement.h',
'SVGAnimateTransformElement.h',
'SVGAnimationElement.h',
'SVGCircleElement.h',
'SVGClipPathElement.h',
@ -63,28 +64,27 @@ EXPORTS.mozilla.dom += [
'SVGGElement.h',
'SVGGradientElement.h',
'SVGGraphicsElement.h',
'SVGIRect.h',
'SVGImageElement.h',
'SVGIRect.h',
'SVGLineElement.h',
'SVGMPathElement.h',
'SVGMarkerElement.h',
'SVGMaskElement.h',
'SVGMatrix.h',
'SVGMetadataElement.h',
'SVGMPathElement.h',
'SVGPathElement.h',
'SVGPatternElement.h',
'SVGPolygonElement.h',
'SVGPolylineElement.h',
'SVGRect.h',
'SVGRectElement.h',
'SVGSVGElement.h',
'SVGScriptElement.h',
'SVGSetElement.h',
'SVGStopElement.h',
'SVGStyleElement.h',
'SVGSVGElement.h',
'SVGSwitchElement.h',
'SVGSymbolElement.h',
'SVGTSpanElement.h',
'SVGTests.h',
'SVGTextContentElement.h',
'SVGTextElement.h',
@ -93,10 +93,10 @@ EXPORTS.mozilla.dom += [
'SVGTitleElement.h',
'SVGTransform.h',
'SVGTransformableElement.h',
'SVGTSpanElement.h',
'SVGUseElement.h',
'SVGViewElement.h',
'SVGZoomEvent.h',
'nsSVGAnimatedTransformList.h',
]
CPP_SOURCES += [
@ -112,12 +112,30 @@ CPP_SOURCES += [
'DOMSVGPointList.cpp',
'DOMSVGStringList.cpp',
'DOMSVGTransformList.cpp',
'nsISVGPoint.cpp',
'nsSVGAngle.cpp',
'nsSVGAnimatedTransformList.cpp',
'nsSVGBoolean.cpp',
'nsSVGClass.cpp',
'nsSVGDataParser.cpp',
'nsSVGElement.cpp',
'nsSVGEnum.cpp',
'nsSVGFeatures.cpp',
'nsSVGFilters.cpp',
'nsSVGInteger.cpp',
'nsSVGIntegerPair.cpp',
'nsSVGLength2.cpp',
'nsSVGNumber2.cpp',
'nsSVGNumberPair.cpp',
'nsSVGPathDataParser.cpp',
'nsSVGPathGeometryElement.cpp',
'nsSVGPolyElement.cpp',
'nsSVGString.cpp',
'nsSVGTransform.cpp',
'nsSVGViewBox.cpp',
'SVGAElement.cpp',
'SVGAltGlyphElement.cpp',
'SVGAngle.cpp',
'SVGAnimateElement.cpp',
'SVGAnimateMotionElement.cpp',
'SVGAnimateTransformElement.cpp',
'SVGAnimatedAngle.cpp',
'SVGAnimatedBoolean.cpp',
'SVGAnimatedEnumeration.cpp',
@ -132,6 +150,9 @@ CPP_SOURCES += [
'SVGAnimatedRect.cpp',
'SVGAnimatedString.cpp',
'SVGAnimatedTransformList.cpp',
'SVGAnimateElement.cpp',
'SVGAnimateMotionElement.cpp',
'SVGAnimateTransformElement.cpp',
'SVGAnimationElement.cpp',
'SVGAttrValueWrapper.cpp',
'SVGCircleElement.cpp',
@ -173,7 +194,6 @@ CPP_SOURCES += [
'SVGLengthList.cpp',
'SVGLengthListSMILType.cpp',
'SVGLineElement.cpp',
'SVGMPathElement.cpp',
'SVGMarkerElement.cpp',
'SVGMaskElement.cpp',
'SVGMatrix.cpp',
@ -182,6 +202,7 @@ CPP_SOURCES += [
'SVGMotionSMILAttr.cpp',
'SVGMotionSMILPathUtils.cpp',
'SVGMotionSMILType.cpp',
'SVGMPathElement.cpp',
'SVGNumberList.cpp',
'SVGNumberListSMILType.cpp',
'SVGNumberPairSMILType.cpp',
@ -198,15 +219,14 @@ CPP_SOURCES += [
'SVGPreserveAspectRatio.cpp',
'SVGRect.cpp',
'SVGRectElement.cpp',
'SVGSVGElement.cpp',
'SVGScriptElement.cpp',
'SVGSetElement.cpp',
'SVGStopElement.cpp',
'SVGStringList.cpp',
'SVGStyleElement.cpp',
'SVGSVGElement.cpp',
'SVGSwitchElement.cpp',
'SVGSymbolElement.cpp',
'SVGTSpanElement.cpp',
'SVGTests.cpp',
'SVGTextContentElement.cpp',
'SVGTextElement.cpp',
@ -214,35 +234,15 @@ CPP_SOURCES += [
'SVGTextPositioningElement.cpp',
'SVGTitleElement.cpp',
'SVGTransform.cpp',
'SVGTransformableElement.cpp',
'SVGTransformList.cpp',
'SVGTransformListParser.cpp',
'SVGTransformListSMILType.cpp',
'SVGTransformableElement.cpp',
'SVGTSpanElement.cpp',
'SVGUseElement.cpp',
'SVGViewBoxSMILType.cpp',
'SVGViewElement.cpp',
'SVGZoomEvent.cpp',
'nsISVGPoint.cpp',
'nsSVGAngle.cpp',
'nsSVGAnimatedTransformList.cpp',
'nsSVGBoolean.cpp',
'nsSVGClass.cpp',
'nsSVGDataParser.cpp',
'nsSVGElement.cpp',
'nsSVGEnum.cpp',
'nsSVGFeatures.cpp',
'nsSVGFilters.cpp',
'nsSVGInteger.cpp',
'nsSVGIntegerPair.cpp',
'nsSVGLength2.cpp',
'nsSVGNumber2.cpp',
'nsSVGNumberPair.cpp',
'nsSVGPathDataParser.cpp',
'nsSVGPathGeometryElement.cpp',
'nsSVGPolyElement.cpp',
'nsSVGString.cpp',
'nsSVGTransform.cpp',
'nsSVGViewBox.cpp',
]
FAIL_ON_WARNINGS = True

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

@ -8,16 +8,16 @@ MODULE = 'content'
EXPORTS.mozilla.dom += [
'CDATASection.h',
'nsXMLElement.h',
'ProcessingInstruction.h',
'XMLStylesheetProcessingInstruction.h',
'nsXMLElement.h',
]
CPP_SOURCES += [
'CDATASection.cpp',
'nsXMLElement.cpp',
'ProcessingInstruction.cpp',
'XMLStylesheetProcessingInstruction.cpp',
'nsXMLElement.cpp',
]
LIBRARY_NAME = 'gkconxmlcon_s'

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

@ -11,10 +11,10 @@ EXPORTS.mozilla.dom += [
]
CPP_SOURCES += [
'XMLDocument.cpp',
'nsXMLContentSink.cpp',
'nsXMLFragmentContentSink.cpp',
'nsXMLPrettyPrinter.cpp',
'XMLDocument.cpp',
]
LIBRARY_NAME = 'gkconxmldoc_s'

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

@ -11,7 +11,6 @@ EXPORTS.mozilla.dom += [
]
CPP_SOURCES += [
'XPathEvaluator.cpp',
'nsXPathExpression.cpp',
'nsXPathNSResolver.cpp',
'nsXPathResult.cpp',
@ -28,8 +27,8 @@ CPP_SOURCES += [
'txLiteralExpr.cpp',
'txLocationStep.cpp',
'txMozillaXPathTreeWalker.cpp',
'txNameTest.cpp',
'txNamedAttributeStep.cpp',
'txNameTest.cpp',
'txNodeSet.cpp',
'txNodeSetAdaptor.cpp',
'txNodeSetContext.cpp',
@ -37,8 +36,8 @@ CPP_SOURCES += [
'txNumberExpr.cpp',
'txNumberResult.cpp',
'txPathExpr.cpp',
'txPredicateList.cpp',
'txPredicatedNodeTest.cpp',
'txPredicateList.cpp',
'txRelationalExpr.cpp',
'txResultRecycler.cpp',
'txRootExpr.cpp',
@ -47,8 +46,9 @@ CPP_SOURCES += [
'txUnionExpr.cpp',
'txUnionNodeTest.cpp',
'txVariableRefExpr.cpp',
'txXPCOMExtensionFunction.cpp',
'txXPathOptimizer.cpp',
'txXPCOMExtensionFunction.cpp',
'XPathEvaluator.cpp',
]
LIBRARY_NAME = 'txxpath_s'

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

@ -10,8 +10,8 @@ CPP_SOURCES += [
'txBufferingHandler.cpp',
'txCurrentFunctionCall.cpp',
'txDocumentFunctionCall.cpp',
'txEXSLTFunctions.cpp',
'txExecutionState.cpp',
'txEXSLTFunctions.cpp',
'txFormatNumberFunctionCall.cpp',
'txGenerateIdFunctionCall.cpp',
'txInstructions.cpp',

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

@ -11,9 +11,9 @@ if CONFIG['MOZ_XUL']:
MSVC_ENABLE_PGO = True
CPP_SOURCES += [
'nsXULContextMenuBuilder.cpp',
'nsXULElement.cpp',
'nsXULPopupListener.cpp',
'nsXULContextMenuBuilder.cpp',
]
LIBRARY_NAME = 'gkconxulcon_s'

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

@ -14,9 +14,9 @@ if CONFIG['MOZ_XUL']:
CPP_SOURCES += [
'nsXULCommandDispatcher.cpp',
'nsXULContentSink.cpp',
'XULDocument.cpp',
'nsXULPrototypeCache.cpp',
'nsXULPrototypeDocument.cpp',
'XULDocument.cpp',
]
LIBRARY_NAME = 'gkconxuldoc_s'

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

@ -36,10 +36,10 @@ XPIDL_SOURCES += [
MODULE = 'docshell'
EXPORTS += [
'SerializedLoadContext.h',
'nsDocShellLoadTypes.h',
'nsILinkHandler.h',
'nsIWebShellServices.h',
'SerializedLoadContext.h',
]
EXPORTS.mozilla += [
@ -49,9 +49,7 @@ EXPORTS.mozilla += [
CPP_SOURCES += [
'LoadContext.cpp',
'SerializedLoadContext.cpp',
'nsAboutRedirector.cpp',
'nsDSURIContentListener.cpp',
'nsDefaultURIFixup.cpp',
'nsDocShell.cpp',
'nsDocShellEditorData.cpp',
@ -59,7 +57,9 @@ CPP_SOURCES += [
'nsDocShellLoadInfo.cpp',
'nsDocShellTransferableHooks.cpp',
'nsDownloadHistory.cpp',
'nsDSURIContentListener.cpp',
'nsWebNavigationInfo.cpp',
'SerializedLoadContext.cpp',
]
FAIL_ON_WARNINGS = True

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

@ -8,10 +8,10 @@ XPIDL_SOURCES += [
'nsIBFCacheEntry.idl',
'nsISHContainer.idl',
'nsISHEntry.idl',
'nsISHTransaction.idl',
'nsISHistory.idl',
'nsISHistoryInternal.idl',
'nsISHistoryListener.idl',
'nsISHTransaction.idl',
]
MODULE = 'shistory'

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

@ -13,8 +13,8 @@ EXPORTS += [
CPP_SOURCES += [
'nsSHEntry.cpp',
'nsSHEntryShared.cpp',
'nsSHTransaction.cpp',
'nsSHistory.cpp',
'nsSHTransaction.cpp',
]
LIBRARY_NAME = 'shistory_s'

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

@ -40,9 +40,9 @@ EXPORTS += [
'nsIScriptTimeoutHandler.h',
'nsJSEnvironment.h',
'nsJSUtils.h',
'nsPerformance.h',
'nsPIDOMWindow.h',
'nsPIWindowRoot.h',
'nsPerformance.h',
'nsStructuredCloneContainer.h',
'nsWindowMemoryReporter.h',
'nsWrapperCache.h',
@ -71,10 +71,10 @@ CPP_SOURCES += [
'DOMError.cpp',
'DOMException.cpp',
'DOMRequest.cpp',
'Navigator.cpp',
'MessageChannel.cpp',
'MessagePort.cpp',
'MessagePortList.cpp',
'Navigator.cpp',
'nsContentPermissionHelper.cpp',
'nsDOMClassInfo.cpp',
'nsDOMNavigationTiming.cpp',

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше