зеркало из https://github.com/mozilla/gecko-dev.git
Merge inbound to m-c.
This commit is contained in:
Коммит
8de760cfd1
|
@ -112,7 +112,7 @@ static nsRoleMapEntry sWAIRoleMaps[] =
|
||||||
eNoLiveAttr,
|
eNoLiveAttr,
|
||||||
eTableCell,
|
eTableCell,
|
||||||
kNoReqStates,
|
kNoReqStates,
|
||||||
eARIASelectable,
|
eARIASelectableIfDefined,
|
||||||
eARIAReadonlyOrEditableIfDefined
|
eARIAReadonlyOrEditableIfDefined
|
||||||
},
|
},
|
||||||
{ // combobox
|
{ // combobox
|
||||||
|
@ -463,7 +463,7 @@ static nsRoleMapEntry sWAIRoleMaps[] =
|
||||||
eNoLiveAttr,
|
eNoLiveAttr,
|
||||||
eTableCell,
|
eTableCell,
|
||||||
kNoReqStates,
|
kNoReqStates,
|
||||||
eARIASelectable,
|
eARIASelectableIfDefined,
|
||||||
eARIAReadonlyOrEditableIfDefined
|
eARIAReadonlyOrEditableIfDefined
|
||||||
},
|
},
|
||||||
{ // scrollbar
|
{ // scrollbar
|
||||||
|
|
|
@ -300,6 +300,16 @@ aria::MapToState(EStateRule aRule, dom::Element* aElement, uint64_t* aState)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case eARIASelectableIfDefined:
|
||||||
|
{
|
||||||
|
static const TokenTypeData data(
|
||||||
|
nsGkAtoms::aria_selected, eBoolType,
|
||||||
|
states::SELECTABLE, states::SELECTED);
|
||||||
|
|
||||||
|
MapTokenType(aElement, aState, data);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
case eReadonlyUntilEditable:
|
case eReadonlyUntilEditable:
|
||||||
{
|
{
|
||||||
if (!(*aState & states::EDITABLE))
|
if (!(*aState & states::EDITABLE))
|
||||||
|
|
|
@ -42,6 +42,7 @@ enum EStateRule
|
||||||
eARIAReadonlyOrEditableIfDefined,
|
eARIAReadonlyOrEditableIfDefined,
|
||||||
eARIARequired,
|
eARIARequired,
|
||||||
eARIASelectable,
|
eARIASelectable,
|
||||||
|
eARIASelectableIfDefined,
|
||||||
eReadonlyUntilEditable,
|
eReadonlyUntilEditable,
|
||||||
eIndeterminateIfNoValue
|
eIndeterminateIfNoValue
|
||||||
};
|
};
|
||||||
|
|
|
@ -465,8 +465,8 @@ ARIAGridAccessible::SetARIASelected(Accessible* aAccessible,
|
||||||
rv = content->SetAttr(kNameSpaceID_None, nsGkAtoms::aria_selected,
|
rv = content->SetAttr(kNameSpaceID_None, nsGkAtoms::aria_selected,
|
||||||
NS_LITERAL_STRING("true"), aNotify);
|
NS_LITERAL_STRING("true"), aNotify);
|
||||||
else
|
else
|
||||||
rv = content->UnsetAttr(kNameSpaceID_None,
|
rv = content->SetAttr(kNameSpaceID_None, nsGkAtoms::aria_selected,
|
||||||
nsGkAtoms::aria_selected, aNotify);
|
NS_LITERAL_STRING("false"), aNotify);
|
||||||
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
|
|
@ -361,7 +361,8 @@ function testTableSelection(aIdentifier, aCellsArray, aMsg)
|
||||||
for (var colIdx = 0; colIdx < colsCount; colIdx++) {
|
for (var colIdx = 0; colIdx < colsCount; colIdx++) {
|
||||||
var isColSelected = true;
|
var isColSelected = true;
|
||||||
for (var rowIdx = 0; rowIdx < rowCount; rowIdx++) {
|
for (var rowIdx = 0; rowIdx < rowCount; rowIdx++) {
|
||||||
if (aCellsArray[rowIdx][colIdx] == false) {
|
if (aCellsArray[rowIdx][colIdx] == false ||
|
||||||
|
aCellsArray[rowIdx][colIdx] == undefined) {
|
||||||
isColSelected = false;
|
isColSelected = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -401,7 +402,8 @@ function testTableSelection(aIdentifier, aCellsArray, aMsg)
|
||||||
for (var rowIdx = 0; rowIdx < rowCount; rowIdx++) {
|
for (var rowIdx = 0; rowIdx < rowCount; rowIdx++) {
|
||||||
var isRowSelected = true;
|
var isRowSelected = true;
|
||||||
for (var colIdx = 0; colIdx < colsCount; colIdx++) {
|
for (var colIdx = 0; colIdx < colsCount; colIdx++) {
|
||||||
if (aCellsArray[rowIdx][colIdx] == false) {
|
if (aCellsArray[rowIdx][colIdx] == false ||
|
||||||
|
aCellsArray[rowIdx][colIdx] == undefined) {
|
||||||
isRowSelected = false;
|
isRowSelected = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -442,7 +444,8 @@ function testTableSelection(aIdentifier, aCellsArray, aMsg)
|
||||||
if (aCellsArray[rowIdx][colIdx] & kSpanned)
|
if (aCellsArray[rowIdx][colIdx] & kSpanned)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
is(acc.isCellSelected(rowIdx, colIdx), aCellsArray[rowIdx][colIdx],
|
var isSelected = aCellsArray[rowIdx][colIdx] == true;
|
||||||
|
is(acc.isCellSelected(rowIdx, colIdx), isSelected,
|
||||||
msg + "Wrong selection state of cell at " + rowIdx + " row and " +
|
msg + "Wrong selection state of cell at " + rowIdx + " row and " +
|
||||||
colIdx + " column for " + prettyName(aIdentifier));
|
colIdx + " column for " + prettyName(aIdentifier));
|
||||||
|
|
||||||
|
@ -496,7 +499,9 @@ function testTableSelection(aIdentifier, aCellsArray, aMsg)
|
||||||
|
|
||||||
var cell = acc.getCellAt(rowIdx, colIdx);
|
var cell = acc.getCellAt(rowIdx, colIdx);
|
||||||
var isSel = aCellsArray[rowIdx][colIdx];
|
var isSel = aCellsArray[rowIdx][colIdx];
|
||||||
if (isSel)
|
if (isSel == undefined)
|
||||||
|
testStates(cell, 0, 0, STATE_SELECTABLE | STATE_SELECTED);
|
||||||
|
else if (isSel == true)
|
||||||
testStates(cell, STATE_SELECTED);
|
testStates(cell, STATE_SELECTED);
|
||||||
else
|
else
|
||||||
testStates(cell, STATE_SELECTABLE, 0, STATE_SELECTED);
|
testStates(cell, STATE_SELECTABLE, 0, STATE_SELECTED);
|
||||||
|
|
|
@ -54,6 +54,21 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=410052
|
||||||
testUnselectTableColumn("grid2", 0, cellsArray);
|
testUnselectTableColumn("grid2", 0, cellsArray);
|
||||||
testUnselectTableRow("grid2", 0, cellsArray);
|
testUnselectTableRow("grid2", 0, cellsArray);
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
// ARIA grid (column and row headers)
|
||||||
|
|
||||||
|
cellsArray =
|
||||||
|
[
|
||||||
|
[ undefined, true, false],
|
||||||
|
[ undefined, true, false]
|
||||||
|
];
|
||||||
|
|
||||||
|
testTableSelection("grid3", cellsArray);
|
||||||
|
testSelectTableColumn("grid3", 0, cellsArray);
|
||||||
|
testSelectTableRow("grid3", 0, cellsArray);
|
||||||
|
testUnselectTableColumn("grid3", 0, cellsArray);
|
||||||
|
testUnselectTableRow("grid3", 0, cellsArray);
|
||||||
|
|
||||||
SimpleTest.finish();
|
SimpleTest.finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,10 +80,13 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=410052
|
||||||
|
|
||||||
<a target="_blank"
|
<a target="_blank"
|
||||||
title="implement nsIAccessibleTable selection methods for ARIA grids"
|
title="implement nsIAccessibleTable selection methods for ARIA grids"
|
||||||
href="https://bugzilla.mozilla.org/show_bug.cgi?id=410052">Mozilla Bug 410052</a>
|
href="https://bugzilla.mozilla.org/show_bug.cgi?id=410052">Bug 410052</a>
|
||||||
<a target="_blank"
|
<a target="_blank"
|
||||||
title="nsHTMLTableCellAccessible is used in dojo's crazy ARIA grid"
|
title="nsHTMLTableCellAccessible is used in dojo's crazy ARIA grid"
|
||||||
href="https://bugzilla.mozilla.org/show_bug.cgi?id=513848">Mozilla Bug 513848</a>
|
href="https://bugzilla.mozilla.org/show_bug.cgi?id=513848">Bug 513848</a>
|
||||||
|
<a target="_blank"
|
||||||
|
title="ARIA columnheader/rowheader shouldn't be selectable by default"
|
||||||
|
href="https://bugzilla.mozilla.org/show_bug.cgi?id=888247">Bug 888247</a>
|
||||||
|
|
||||||
<p id="display"></p>
|
<p id="display"></p>
|
||||||
<div id="content" style="display: none"></div>
|
<div id="content" style="display: none"></div>
|
||||||
|
@ -112,8 +130,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=410052
|
||||||
<div role="row">
|
<div role="row">
|
||||||
<table role="presentation">
|
<table role="presentation">
|
||||||
<tr>
|
<tr>
|
||||||
<td role="columnheader">header1</td>
|
<td role="columnheader" aria-selected="false">header1</td>
|
||||||
<td role="columnheader">header2</td>
|
<td role="columnheader" aria-selected="false">header2</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
@ -127,5 +145,17 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=410052
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div role="grid" id="grid3">
|
||||||
|
<div role="row">
|
||||||
|
<div role="columnheader" id="colheader_default">col header1</div>
|
||||||
|
<div role="columnheader" id="colheader_selected" aria-selected="true">col header2</div>
|
||||||
|
<div role="columnheader" id="colheader_notselected" aria-selected="false">col header3</div>
|
||||||
|
</div>
|
||||||
|
<div role="row">
|
||||||
|
<div role="rowheader" id="rowheader_default">row header1</div>
|
||||||
|
<div role="rowheader" id="rowheader_selected" aria-selected="true">row header2</div>
|
||||||
|
<div role="rowheader" id="rowheader_notselected" aria-selected="false">row header3</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -217,14 +217,21 @@ var gPluginHandler = {
|
||||||
},
|
},
|
||||||
|
|
||||||
handleEvent : function(event) {
|
handleEvent : function(event) {
|
||||||
let plugin = event.target;
|
let plugin;
|
||||||
let doc = plugin.ownerDocument;
|
let doc;
|
||||||
|
|
||||||
// We're expecting the target to be a plugin.
|
|
||||||
if (!(plugin instanceof Ci.nsIObjectLoadingContent))
|
|
||||||
return;
|
|
||||||
|
|
||||||
let eventType = event.type;
|
let eventType = event.type;
|
||||||
|
if (eventType === "PluginRemoved") {
|
||||||
|
doc = event.target;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
plugin = event.target;
|
||||||
|
doc = plugin.ownerDocument;
|
||||||
|
|
||||||
|
if (!(plugin instanceof Ci.nsIObjectLoadingContent))
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (eventType == "PluginBindingAttached") {
|
if (eventType == "PluginBindingAttached") {
|
||||||
// The plugin binding fires this event when it is created.
|
// The plugin binding fires this event when it is created.
|
||||||
// As an untrusted event, ensure that this object actually has a binding
|
// As an untrusted event, ensure that this object actually has a binding
|
||||||
|
@ -243,6 +250,7 @@ var gPluginHandler = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let shouldShowNotification = false;
|
||||||
let browser = gBrowser.getBrowserForDocument(doc.defaultView.top.document);
|
let browser = gBrowser.getBrowserForDocument(doc.defaultView.top.document);
|
||||||
|
|
||||||
switch (eventType) {
|
switch (eventType) {
|
||||||
|
@ -268,7 +276,7 @@ var gPluginHandler = {
|
||||||
|
|
||||||
case "PluginBlocklisted":
|
case "PluginBlocklisted":
|
||||||
case "PluginOutdated":
|
case "PluginOutdated":
|
||||||
this._showClickToPlayNotification(browser);
|
shouldShowNotification = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "PluginVulnerableUpdatable":
|
case "PluginVulnerableUpdatable":
|
||||||
|
@ -290,7 +298,7 @@ var gPluginHandler = {
|
||||||
let vulnerabilityText = doc.getAnonymousElementByAttribute(plugin, "anonid", "vulnerabilityStatus");
|
let vulnerabilityText = doc.getAnonymousElementByAttribute(plugin, "anonid", "vulnerabilityStatus");
|
||||||
vulnerabilityText.textContent = vulnerabilityString;
|
vulnerabilityText.textContent = vulnerabilityString;
|
||||||
}
|
}
|
||||||
this._showClickToPlayNotification(browser);
|
shouldShowNotification = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "PluginPlayPreview":
|
case "PluginPlayPreview":
|
||||||
|
@ -300,20 +308,27 @@ var gPluginHandler = {
|
||||||
case "PluginDisabled":
|
case "PluginDisabled":
|
||||||
let manageLink = doc.getAnonymousElementByAttribute(plugin, "class", "managePluginsLink");
|
let manageLink = doc.getAnonymousElementByAttribute(plugin, "class", "managePluginsLink");
|
||||||
this.addLinkClickCallback(manageLink, "managePlugins");
|
this.addLinkClickCallback(manageLink, "managePlugins");
|
||||||
this._showClickToPlayNotification(browser);
|
shouldShowNotification = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "PluginInstantiated":
|
case "PluginInstantiated":
|
||||||
this._showClickToPlayNotification(browser);
|
case "PluginRemoved":
|
||||||
|
shouldShowNotification = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hide the in-content UI if it's too big. The crashed plugin handler already did this.
|
// Hide the in-content UI if it's too big. The crashed plugin handler already did this.
|
||||||
if (eventType != "PluginCrashed") {
|
if (eventType != "PluginCrashed" && eventType != "PluginRemoved") {
|
||||||
let overlay = doc.getAnonymousElementByAttribute(plugin, "class", "mainBox");
|
let overlay = doc.getAnonymousElementByAttribute(plugin, "class", "mainBox");
|
||||||
if (overlay != null && this.isTooSmall(plugin, overlay))
|
if (overlay != null && this.isTooSmall(plugin, overlay))
|
||||||
overlay.style.visibility = "hidden";
|
overlay.style.visibility = "hidden";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Only show the notification after we've done the isTooSmall check, so
|
||||||
|
// that the notification can decide whether to show the "alert" icon
|
||||||
|
if (shouldShowNotification) {
|
||||||
|
this._showClickToPlayNotification(browser);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
isKnownPlugin: function PH_isKnownPlugin(objLoadingContent) {
|
isKnownPlugin: function PH_isKnownPlugin(objLoadingContent) {
|
||||||
|
@ -686,18 +701,12 @@ var gPluginHandler = {
|
||||||
|
|
||||||
switch (aNewState) {
|
switch (aNewState) {
|
||||||
case "allownow":
|
case "allownow":
|
||||||
if (aPluginInfo.fallbackType == Ci.nsIObjectLoadingContent.PLUGIN_ACTIVE) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
permission = Ci.nsIPermissionManager.ALLOW_ACTION;
|
permission = Ci.nsIPermissionManager.ALLOW_ACTION;
|
||||||
expireType = Ci.nsIPermissionManager.EXPIRE_SESSION;
|
expireType = Ci.nsIPermissionManager.EXPIRE_SESSION;
|
||||||
expireTime = Date.now() + Services.prefs.getIntPref(this.PREF_SESSION_PERSIST_MINUTES) * 60 * 1000;
|
expireTime = Date.now() + Services.prefs.getIntPref(this.PREF_SESSION_PERSIST_MINUTES) * 60 * 1000;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "allowalways":
|
case "allowalways":
|
||||||
if (aPluginInfo.fallbackType == Ci.nsIObjectLoadingContent.PLUGIN_ACTIVE) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
permission = Ci.nsIPermissionManager.ALLOW_ACTION;
|
permission = Ci.nsIPermissionManager.ALLOW_ACTION;
|
||||||
expireType = Ci.nsIPermissionManager.EXPIRE_TIME;
|
expireType = Ci.nsIPermissionManager.EXPIRE_TIME;
|
||||||
expireTime = Date.now() +
|
expireTime = Date.now() +
|
||||||
|
@ -705,26 +714,29 @@ var gPluginHandler = {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "block":
|
case "block":
|
||||||
if (aPluginInfo.fallbackType != Ci.nsIObjectLoadingContent.PLUGIN_ACTIVE) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
permission = Ci.nsIPermissionManager.PROMPT_ACTION;
|
permission = Ci.nsIPermissionManager.PROMPT_ACTION;
|
||||||
expireType = Ci.nsIPermissionManager.EXPIRE_NEVER;
|
expireType = Ci.nsIPermissionManager.EXPIRE_NEVER;
|
||||||
expireTime = 0;
|
expireTime = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// In case a plugin has already been allowed in another tab, the "continue allowing" button
|
||||||
|
// shouldn't change any permissions but should run the plugin-enablement code below.
|
||||||
|
case "continue":
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Cu.reportError(Error("Unexpected plugin state: " + aNewState));
|
Cu.reportError(Error("Unexpected plugin state: " + aNewState));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let browser = aNotification.browser;
|
let browser = aNotification.browser;
|
||||||
|
if (aNewState != "continue") {
|
||||||
Services.perms.add(browser.currentURI, aPluginInfo.permissionString,
|
Services.perms.add(browser.currentURI, aPluginInfo.permissionString,
|
||||||
permission, expireType, expireTime);
|
permission, expireType, expireTime);
|
||||||
|
|
||||||
if (aNewState == "block") {
|
if (aNewState == "block") {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Manually activate the plugins that would have been automatically
|
// Manually activate the plugins that would have been automatically
|
||||||
// activated.
|
// activated.
|
||||||
|
@ -749,6 +761,7 @@ var gPluginHandler = {
|
||||||
let notification = PopupNotifications.getNotification("click-to-play-plugins", aBrowser);
|
let notification = PopupNotifications.getNotification("click-to-play-plugins", aBrowser);
|
||||||
|
|
||||||
let contentWindow = aBrowser.contentWindow;
|
let contentWindow = aBrowser.contentWindow;
|
||||||
|
let contentDoc = aBrowser.contentDocument;
|
||||||
let cwu = contentWindow.QueryInterface(Ci.nsIInterfaceRequestor)
|
let cwu = contentWindow.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||||
.getInterface(Ci.nsIDOMWindowUtils);
|
.getInterface(Ci.nsIDOMWindowUtils);
|
||||||
let plugins = cwu.plugins;
|
let plugins = cwu.plugins;
|
||||||
|
@ -759,15 +772,25 @@ var gPluginHandler = {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let haveVulnerablePlugin = plugins.some(function(plugin) {
|
let icon = 'plugins-notification-icon';
|
||||||
|
for (let plugin of plugins) {
|
||||||
let fallbackType = plugin.pluginFallbackType;
|
let fallbackType = plugin.pluginFallbackType;
|
||||||
return fallbackType == plugin.PLUGIN_VULNERABLE_UPDATABLE ||
|
if (fallbackType == plugin.PLUGIN_VULNERABLE_UPDATABLE ||
|
||||||
fallbackType == plugin.PLUGIN_VULNERABLE_NO_UPDATE ||
|
fallbackType == plugin.PLUGIN_VULNERABLE_NO_UPDATE ||
|
||||||
fallbackType == plugin.PLUGIN_BLOCKLISTED;
|
fallbackType == plugin.PLUGIN_BLOCKLISTED) {
|
||||||
});
|
icon = 'blocked-plugins-notification-icon';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (fallbackType == plugin.PLUGIN_CLICK_TO_PLAY) {
|
||||||
|
let overlay = contentDoc.getAnonymousElementByAttribute(plugin, "class", "mainBox");
|
||||||
|
if (!overlay || overlay.style.visibility == 'hidden') {
|
||||||
|
icon = 'alert-plugins-notification-icon';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let dismissed = notification ? notification.dismissed : true;
|
let dismissed = notification ? notification.dismissed : true;
|
||||||
// Always show the doorhanger if the anchor is not available.
|
if (aPrimaryPlugin)
|
||||||
if (!isElementVisible(gURLBar) || aPrimaryPlugin)
|
|
||||||
dismissed = false;
|
dismissed = false;
|
||||||
|
|
||||||
let primaryPluginPermission = null;
|
let primaryPluginPermission = null;
|
||||||
|
@ -780,7 +803,6 @@ var gPluginHandler = {
|
||||||
eventCallback: this._clickToPlayNotificationEventCallback,
|
eventCallback: this._clickToPlayNotificationEventCallback,
|
||||||
primaryPlugin: primaryPluginPermission
|
primaryPlugin: primaryPluginPermission
|
||||||
};
|
};
|
||||||
let icon = haveVulnerablePlugin ? "blocked-plugins-notification-icon" : "plugins-notification-icon";
|
|
||||||
PopupNotifications.show(aBrowser, "click-to-play-plugins",
|
PopupNotifications.show(aBrowser, "click-to-play-plugins",
|
||||||
"", icon,
|
"", icon,
|
||||||
null, null, options);
|
null, null, options);
|
||||||
|
|
|
@ -755,6 +755,7 @@ var gBrowserInit = {
|
||||||
gBrowser.addEventListener("PluginCrashed", gPluginHandler, true);
|
gBrowser.addEventListener("PluginCrashed", gPluginHandler, true);
|
||||||
gBrowser.addEventListener("PluginOutdated", gPluginHandler, true);
|
gBrowser.addEventListener("PluginOutdated", gPluginHandler, true);
|
||||||
gBrowser.addEventListener("PluginInstantiated", gPluginHandler, true);
|
gBrowser.addEventListener("PluginInstantiated", gPluginHandler, true);
|
||||||
|
gBrowser.addEventListener("PluginRemoved", gPluginHandler, true);
|
||||||
|
|
||||||
gBrowser.addEventListener("NewPluginInstalled", gPluginHandler.newPluginInstalled, true);
|
gBrowser.addEventListener("NewPluginInstalled", gPluginHandler.newPluginInstalled, true);
|
||||||
|
|
||||||
|
|
|
@ -505,6 +505,7 @@
|
||||||
<image id="webapps-notification-icon" class="notification-anchor-icon" role="button"/>
|
<image id="webapps-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
<image id="plugins-notification-icon" class="notification-anchor-icon" role="button"/>
|
<image id="plugins-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
<image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"/>
|
<image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
|
<image id="alert-plugins-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
<image id="blocked-plugins-notification-icon" class="notification-anchor-icon" role="button"/>
|
<image id="blocked-plugins-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
<image id="plugin-install-notification-icon" class="notification-anchor-icon" role="button"/>
|
<image id="plugin-install-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
<image id="mixed-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>
|
<image id="mixed-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>
|
||||||
|
|
|
@ -2098,8 +2098,9 @@
|
||||||
if (otherFindBar &&
|
if (otherFindBar &&
|
||||||
otherFindBar.findMode == otherFindBar.FIND_NORMAL) {
|
otherFindBar.findMode == otherFindBar.FIND_NORMAL) {
|
||||||
let ourFindBar = this.getFindBar(aOurTab);
|
let ourFindBar = this.getFindBar(aOurTab);
|
||||||
ourFindBar.hidden = otherFindBar.hidden;
|
|
||||||
ourFindBar._findField.value = otherFindBar._findField.value;
|
ourFindBar._findField.value = otherFindBar._findField.value;
|
||||||
|
if (!otherFindBar.hidden)
|
||||||
|
ourFindBar.onFindCommand();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Finish tearing down the tab that's going away.
|
// Finish tearing down the tab that's going away.
|
||||||
|
|
|
@ -98,6 +98,8 @@ function checkNewWindow() {
|
||||||
ok(!newWindow.gFindBar.hidden, "New window shows find bar!");
|
ok(!newWindow.gFindBar.hidden, "New window shows find bar!");
|
||||||
is(newWindow.gFindBar._findField.value, texts[1],
|
is(newWindow.gFindBar._findField.value, texts[1],
|
||||||
"New window find bar has correct find value!");
|
"New window find bar has correct find value!");
|
||||||
|
ok(!newWindow.gFindBar.getElement("find-next").disabled,
|
||||||
|
"New window findbar has enabled buttons!");
|
||||||
newWindow.close();
|
newWindow.close();
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1574,13 +1574,20 @@
|
||||||
this.appendChild(item);
|
this.appendChild(item);
|
||||||
this._items.push(item);
|
this._items.push(item);
|
||||||
}
|
}
|
||||||
if (this.notification.options.centerActions.length == 1) {
|
switch (this.notification.options.centerActions.length) {
|
||||||
|
case 0:
|
||||||
|
PopupNotifications._dismiss();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
this._setState(this._states.SINGLE);
|
this._setState(this._states.SINGLE);
|
||||||
} else if (this.notification.options.primaryPlugin) {
|
break;
|
||||||
|
default:
|
||||||
|
if (this.notification.options.primaryPlugin) {
|
||||||
this._setState(this._states.MULTI_COLLAPSED);
|
this._setState(this._states.MULTI_COLLAPSED);
|
||||||
} else {
|
} else {
|
||||||
this._setState(this._states.MULTI_EXPANDED);
|
this._setState(this._states.MULTI_EXPANDED);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
]]></constructor>
|
]]></constructor>
|
||||||
<method name="_setState">
|
<method name="_setState">
|
||||||
<parameter name="state" />
|
<parameter name="state" />
|
||||||
|
@ -1645,7 +1652,7 @@
|
||||||
button2 = {
|
button2 = {
|
||||||
label: "pluginContinue.label",
|
label: "pluginContinue.label",
|
||||||
accesskey: "pluginContinue.accesskey",
|
accesskey: "pluginContinue.accesskey",
|
||||||
action: "_cancel",
|
action: "_singleContinue",
|
||||||
default: true
|
default: true
|
||||||
};
|
};
|
||||||
switch (action.blocklistState) {
|
switch (action.blocklistState) {
|
||||||
|
@ -1819,6 +1826,14 @@
|
||||||
this._cancel();
|
this._cancel();
|
||||||
]]></body>
|
]]></body>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="_singleContinue">
|
||||||
|
<body><![CDATA[
|
||||||
|
gPluginHandler._updatePluginPermission(this.notification,
|
||||||
|
this.notification.options.centerActions[0],
|
||||||
|
"continue");
|
||||||
|
this._cancel();
|
||||||
|
]]></body>
|
||||||
|
</method>
|
||||||
<method name="_multiAccept">
|
<method name="_multiAccept">
|
||||||
<body><![CDATA[
|
<body><![CDATA[
|
||||||
for (let item of this._items) {
|
for (let item of this._items) {
|
||||||
|
|
|
@ -1285,11 +1285,33 @@ toolbar[iconsize="small"] #webrtc-status-button {
|
||||||
}
|
}
|
||||||
|
|
||||||
#plugins-notification-icon {
|
#plugins-notification-icon {
|
||||||
list-style-image: url(chrome://mozapps/skin/plugins/pluginGeneric-16.png);
|
list-style-image: url(chrome://browser/skin/notification-pluginNormal.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
#alert-plugins-notification-icon {
|
||||||
|
list-style-image: url(chrome://browser/skin/notification-pluginAlert.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
#blocked-plugins-notification-icon {
|
#blocked-plugins-notification-icon {
|
||||||
list-style-image: url(chrome://mozapps/skin/plugins/notifyPluginBlocked.png);
|
list-style-image: url(chrome://browser/skin/notification-pluginBlocked.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon,
|
||||||
|
#alert-plugins-notification-icon,
|
||||||
|
#blocked-plugins-notification-icon {
|
||||||
|
-moz-image-region: rect(0, 16px, 16px, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon:hover,
|
||||||
|
#alert-plugins-notification-icon:hover,
|
||||||
|
#blocked-plugins-notification-icon:hover {
|
||||||
|
-moz-image-region: rect(0, 32px, 16px, 16px);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon:active,
|
||||||
|
#alert-plugins-notification-icon:active,
|
||||||
|
#blocked-plugins-notification-icon:active {
|
||||||
|
-moz-image-region: rect(0, 48px, 16px, 32px);
|
||||||
}
|
}
|
||||||
|
|
||||||
#plugin-install-notification-icon {
|
#plugin-install-notification-icon {
|
||||||
|
|
|
@ -235,3 +235,6 @@ browser.jar:
|
||||||
#endif
|
#endif
|
||||||
skin/classic/browser/webapps-16.png
|
skin/classic/browser/webapps-16.png
|
||||||
skin/classic/browser/webapps-64.png
|
skin/classic/browser/webapps-64.png
|
||||||
|
skin/classic/browser/notification-pluginNormal.png (../shared/plugins/notification-pluginNormal.png)
|
||||||
|
skin/classic/browser/notification-pluginAlert.png (../shared/plugins/notification-pluginAlert.png)
|
||||||
|
skin/classic/browser/notification-pluginBlocked.png (../shared/plugins/notification-pluginBlocked.png)
|
||||||
|
|
|
@ -3144,16 +3144,64 @@ toolbarbutton.chevron > .toolbarbutton-menu-dropmarker {
|
||||||
}
|
}
|
||||||
|
|
||||||
#plugins-notification-icon {
|
#plugins-notification-icon {
|
||||||
list-style-image: url(chrome://mozapps/skin/plugins/pluginGeneric-16.png);
|
list-style-image: url(chrome://browser/skin/notification-pluginNormal.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
#alert-plugins-notification-icon {
|
||||||
|
list-style-image: url(chrome://browser/skin/notification-pluginAlert.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
#blocked-plugins-notification-icon {
|
#blocked-plugins-notification-icon {
|
||||||
list-style-image: url(chrome://mozapps/skin/plugins/notifyPluginBlocked.png);
|
list-style-image: url(chrome://browser/skin/notification-pluginBlocked.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon,
|
||||||
|
#alert-plugins-notification-icon,
|
||||||
|
#blocked-plugins-notification-icon {
|
||||||
|
-moz-image-region: rect(0, 16px, 16px, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon:hover,
|
||||||
|
#alert-plugins-notification-icon:hover,
|
||||||
|
#blocked-plugins-notification-icon:hover {
|
||||||
|
-moz-image-region: rect(0, 32px, 16px, 16px);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon:active,
|
||||||
|
#alert-plugins-notification-icon:active,
|
||||||
|
#blocked-plugins-notification-icon:active {
|
||||||
|
-moz-image-region: rect(0, 48px, 16px, 32px);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-resolution: 2dppx) {
|
@media (min-resolution: 2dppx) {
|
||||||
|
#plugins-notification-icon {
|
||||||
|
list-style-image: url(chrome://browser/skin/notification-pluginNormal@2x.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
#alert-plugins-notification-icon {
|
||||||
|
list-style-image: url(chrome://browser/skin/notification-pluginAlert@2x.png);
|
||||||
|
}
|
||||||
|
|
||||||
#blocked-plugins-notification-icon {
|
#blocked-plugins-notification-icon {
|
||||||
list-style-image: url(chrome://mozapps/skin/plugins/pluginBlocked.png);
|
list-style-image: url(chrome://browser/skin/notification-pluginBlocked@2x.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon,
|
||||||
|
#alert-plugins-notification-icon,
|
||||||
|
#blocked-plugins-notification-icon {
|
||||||
|
-moz-image-region: rect(0, 32px, 32px, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon:hover,
|
||||||
|
#alert-plugins-notification-icon:hover,
|
||||||
|
#blocked-plugins-notification-icon:hover {
|
||||||
|
-moz-image-region: rect(0, 64px, 32px, 32px);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon:active,
|
||||||
|
#alert-plugins-notification-icon:active,
|
||||||
|
#blocked-plugins-notification-icon:active {
|
||||||
|
-moz-image-region: rect(0, 96px, 32px, 64px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -331,6 +331,12 @@ browser.jar:
|
||||||
skin/classic/browser/webapps-16.png
|
skin/classic/browser/webapps-16.png
|
||||||
skin/classic/browser/webapps-16@2x.png
|
skin/classic/browser/webapps-16@2x.png
|
||||||
skin/classic/browser/webapps-64.png
|
skin/classic/browser/webapps-64.png
|
||||||
|
skin/classic/browser/notification-pluginNormal.png (../shared/plugins/notification-pluginNormal.png)
|
||||||
|
skin/classic/browser/notification-pluginAlert.png (../shared/plugins/notification-pluginAlert.png)
|
||||||
|
skin/classic/browser/notification-pluginBlocked.png (../shared/plugins/notification-pluginBlocked.png)
|
||||||
|
skin/classic/browser/notification-pluginNormal@2x.png (../shared/plugins/notification-pluginNormal@2x.png)
|
||||||
|
skin/classic/browser/notification-pluginAlert@2x.png (../shared/plugins/notification-pluginAlert@2x.png)
|
||||||
|
skin/classic/browser/notification-pluginBlocked@2x.png (../shared/plugins/notification-pluginBlocked@2x.png)
|
||||||
|
|
||||||
% override chrome://browser/skin/keyhole-circle.png chrome://browser/skin/lion/keyhole-circle.png os=Darwin osversion>=10.7
|
% override chrome://browser/skin/keyhole-circle.png chrome://browser/skin/lion/keyhole-circle.png os=Darwin osversion>=10.7
|
||||||
% override chrome://browser/skin/Toolbar.png chrome://browser/skin/lion/Toolbar.png os=Darwin osversion>=10.7
|
% override chrome://browser/skin/Toolbar.png chrome://browser/skin/lion/Toolbar.png os=Darwin osversion>=10.7
|
||||||
|
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 648 B |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 1.2 KiB |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 968 B |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 2.0 KiB |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 340 B |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 469 B |
|
@ -2537,11 +2537,33 @@ toolbarbutton.bookmark-item[dragover="true"][open="true"] {
|
||||||
}
|
}
|
||||||
|
|
||||||
#plugins-notification-icon {
|
#plugins-notification-icon {
|
||||||
list-style-image: url(chrome://mozapps/skin/plugins/pluginGeneric-16.png);
|
list-style-image: url(chrome://browser/skin/notification-pluginNormal.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
#alert-plugins-notification-icon {
|
||||||
|
list-style-image: url(chrome://browser/skin/notification-pluginAlert.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
#blocked-plugins-notification-icon {
|
#blocked-plugins-notification-icon {
|
||||||
list-style-image: url(chrome://mozapps/skin/plugins/notifyPluginBlocked.png);
|
list-style-image: url(chrome://browser/skin/notification-pluginBlocked.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon,
|
||||||
|
#alert-plugins-notification-icon,
|
||||||
|
#blocked-plugins-notification-icon {
|
||||||
|
-moz-image-region: rect(0, 16px, 16px, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon:hover,
|
||||||
|
#alert-plugins-notification-icon:hover,
|
||||||
|
#blocked-plugins-notification-icon:hover {
|
||||||
|
-moz-image-region: rect(0, 32px, 16px, 16px);
|
||||||
|
}
|
||||||
|
|
||||||
|
#plugins-notification-icon:active,
|
||||||
|
#alert-plugins-notification-icon:active,
|
||||||
|
#blocked-plugins-notification-icon:active {
|
||||||
|
-moz-image-region: rect(0, 48px, 16px, 32px);
|
||||||
}
|
}
|
||||||
|
|
||||||
#plugin-install-notification-icon {
|
#plugin-install-notification-icon {
|
||||||
|
|
|
@ -72,6 +72,9 @@ browser.jar:
|
||||||
skin/classic/browser/urlbar-history-dropmarker.png
|
skin/classic/browser/urlbar-history-dropmarker.png
|
||||||
skin/classic/browser/webapps-16.png
|
skin/classic/browser/webapps-16.png
|
||||||
skin/classic/browser/webapps-64.png
|
skin/classic/browser/webapps-64.png
|
||||||
|
skin/classic/browser/notification-pluginNormal.png (../shared/plugins/notification-pluginNormal.png)
|
||||||
|
skin/classic/browser/notification-pluginAlert.png (../shared/plugins/notification-pluginAlert.png)
|
||||||
|
skin/classic/browser/notification-pluginBlocked.png (../shared/plugins/notification-pluginBlocked.png)
|
||||||
skin/classic/browser/webRTC-shareDevice-16.png
|
skin/classic/browser/webRTC-shareDevice-16.png
|
||||||
skin/classic/browser/webRTC-shareDevice-64.png
|
skin/classic/browser/webRTC-shareDevice-64.png
|
||||||
skin/classic/browser/webRTC-sharingDevice-16.png
|
skin/classic/browser/webRTC-sharingDevice-16.png
|
||||||
|
@ -326,6 +329,9 @@ browser.jar:
|
||||||
skin/classic/aero/browser/urlbar-history-dropmarker.png
|
skin/classic/aero/browser/urlbar-history-dropmarker.png
|
||||||
skin/classic/aero/browser/webapps-16.png
|
skin/classic/aero/browser/webapps-16.png
|
||||||
skin/classic/aero/browser/webapps-64.png
|
skin/classic/aero/browser/webapps-64.png
|
||||||
|
skin/classic/aero/browser/notification-pluginNormal.png (../shared/plugins/notification-pluginNormal.png)
|
||||||
|
skin/classic/aero/browser/notification-pluginAlert.png (../shared/plugins/notification-pluginAlert.png)
|
||||||
|
skin/classic/aero/browser/notification-pluginBlocked.png (../shared/plugins/notification-pluginBlocked.png)
|
||||||
skin/classic/aero/browser/webRTC-shareDevice-16.png
|
skin/classic/aero/browser/webRTC-shareDevice-16.png
|
||||||
skin/classic/aero/browser/webRTC-shareDevice-64.png
|
skin/classic/aero/browser/webRTC-shareDevice-64.png
|
||||||
skin/classic/aero/browser/webRTC-sharingDevice-16.png
|
skin/classic/aero/browser/webRTC-sharingDevice-16.png
|
||||||
|
|
|
@ -31,7 +31,7 @@ AC_LANG_RESTORE
|
||||||
|
|
||||||
AC_MSG_RESULT($ac_have_gcc_pr39608)
|
AC_MSG_RESULT($ac_have_gcc_pr39608)
|
||||||
if test "$ac_have_gcc_pr39608" = "yes"; then
|
if test "$ac_have_gcc_pr39608" = "yes"; then
|
||||||
echo This compiler would fail to build firefox, plase upgrade.
|
echo This compiler would fail to build firefox, please upgrade.
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|
|
@ -42,7 +42,7 @@ AC_LANG_RESTORE
|
||||||
|
|
||||||
if test "$ac_have_llvm_pr8927" = "yes"; then
|
if test "$ac_have_llvm_pr8927" = "yes"; then
|
||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
echo This compiler would miscompile firefox, plase upgrade.
|
echo This compiler would miscompile firefox, please upgrade.
|
||||||
echo see http://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Mac_OS_X_Prerequisites
|
echo see http://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Mac_OS_X_Prerequisites
|
||||||
echo for more information.
|
echo for more information.
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -139,7 +139,7 @@ recommended.
|
||||||
|
|
||||||
=head1 LICENSE
|
=head1 LICENSE
|
||||||
|
|
||||||
MPL 1.1/GPL 2.0/LGPL 2.1. Your choice
|
MPL 2.
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
|
|
@ -225,7 +225,7 @@ later are recommended.
|
||||||
|
|
||||||
=head1 LICENSE
|
=head1 LICENSE
|
||||||
|
|
||||||
MPL 1.1/GPL 2.0/LGPL 2.1. Your choice.
|
MPL 2.
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
|
|
@ -38,43 +38,9 @@
|
||||||
|
|
||||||
var _sunSpiderStartDate = new Date();
|
var _sunSpiderStartDate = new Date();
|
||||||
|
|
||||||
/* ***** BEGIN LICENSE BLOCK *****
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
* 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/. */
|
||||||
* The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
* 1.1 (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.mozilla.org/MPL/
|
|
||||||
*
|
|
||||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
* for the specific language governing rights and limitations under the
|
|
||||||
* License.
|
|
||||||
*
|
|
||||||
* The Original Code is Mozilla XML-RPC Client component.
|
|
||||||
*
|
|
||||||
* The Initial Developer of the Original Code is
|
|
||||||
* Digital Creations 2, Inc.
|
|
||||||
* Portions created by the Initial Developer are Copyright (C) 2000
|
|
||||||
* the Initial Developer. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Contributor(s):
|
|
||||||
* Martijn Pieters <mj@digicool.com> (original author)
|
|
||||||
* Samuel Sieb <samuel@sieb.net>
|
|
||||||
*
|
|
||||||
* Alternatively, the contents of this file may be used under the terms of
|
|
||||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
* of those above. If you wish to allow use of your version of this file only
|
|
||||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
* use your version of this file under the terms of the MPL, indicate your
|
|
||||||
* decision by deleting the provisions above and replace them with the notice
|
|
||||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
* the provisions above, a recipient may use your version of this file under
|
|
||||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
*
|
|
||||||
* ***** END LICENSE BLOCK ***** */
|
|
||||||
|
|
||||||
// From: http://lxr.mozilla.org/mozilla/source/extensions/xml-rpc/src/nsXmlRpcClient.js#956
|
// From: http://lxr.mozilla.org/mozilla/source/extensions/xml-rpc/src/nsXmlRpcClient.js#956
|
||||||
|
|
||||||
|
|
|
@ -196,26 +196,36 @@ CheckPluginStopEvent::Run()
|
||||||
*/
|
*/
|
||||||
class nsSimplePluginEvent : public nsRunnable {
|
class nsSimplePluginEvent : public nsRunnable {
|
||||||
public:
|
public:
|
||||||
nsSimplePluginEvent(nsIContent* aContent, const nsAString &aEvent)
|
nsSimplePluginEvent(nsIContent* aTarget, const nsAString &aEvent)
|
||||||
: mContent(aContent),
|
: mTarget(aTarget)
|
||||||
mEvent(aEvent)
|
, mDocument(aTarget->GetCurrentDoc())
|
||||||
{}
|
, mEvent(aEvent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
nsSimplePluginEvent(nsIDocument* aTarget, const nsAString& aEvent)
|
||||||
|
: mTarget(aTarget)
|
||||||
|
, mDocument(aTarget)
|
||||||
|
, mEvent(aEvent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
~nsSimplePluginEvent() {}
|
~nsSimplePluginEvent() {}
|
||||||
|
|
||||||
NS_IMETHOD Run();
|
NS_IMETHOD Run();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
nsCOMPtr<nsIContent> mContent;
|
nsCOMPtr<nsISupports> mTarget;
|
||||||
|
nsCOMPtr<nsIDocument> mDocument;
|
||||||
nsString mEvent;
|
nsString mEvent;
|
||||||
};
|
};
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsSimplePluginEvent::Run()
|
nsSimplePluginEvent::Run()
|
||||||
{
|
{
|
||||||
LOG(("OBJLC [%p]: nsSimplePluginEvent firing event \"%s\"", mContent.get(),
|
LOG(("OBJLC [%p]: nsSimplePluginEvent firing event \"%s\"", mTarget.get(),
|
||||||
mEvent.get()));
|
mEvent.get()));
|
||||||
nsContentUtils::DispatchTrustedEvent(mContent->GetDocument(), mContent,
|
nsContentUtils::DispatchTrustedEvent(mDocument, mTarget,
|
||||||
mEvent, true, true);
|
mEvent, true, true);
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
@ -674,7 +684,9 @@ nsObjectLoadingContent::UnbindFromTree(bool aDeep, bool aNullParent)
|
||||||
/// would keep the docshell around, but trash the frameloader
|
/// would keep the docshell around, but trash the frameloader
|
||||||
UnloadObject();
|
UnloadObject();
|
||||||
}
|
}
|
||||||
|
nsCOMPtr<nsIRunnable> ev = new nsSimplePluginEvent(thisContent->GetCurrentDoc(),
|
||||||
|
NS_LITERAL_STRING("PluginRemoved"));
|
||||||
|
NS_DispatchToCurrentThread(ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
nsObjectLoadingContent::nsObjectLoadingContent()
|
nsObjectLoadingContent::nsObjectLoadingContent()
|
||||||
|
|
|
@ -4,13 +4,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
#include "nsIDOMWebGLRenderingContext.h"
|
#include "nsIDOMWebGLRenderingContext.h"
|
||||||
#include "WebGL2Context.h"
|
|
||||||
|
|
||||||
#define DUMMY(func,rtype) nsresult func (rtype ** aResult) { return NS_ERROR_FAILURE; }
|
#define DUMMY(func,rtype) nsresult func (rtype ** aResult) { return NS_ERROR_FAILURE; }
|
||||||
|
|
||||||
DUMMY(NS_NewCanvasRenderingContextWebGL, nsIDOMWebGLRenderingContext)
|
DUMMY(NS_NewCanvasRenderingContextWebGL, nsIDOMWebGLRenderingContext)
|
||||||
|
|
||||||
WebGL2Context * WebGL2Context::Create()
|
|
||||||
{
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
|
@ -31,7 +31,9 @@
|
||||||
#include "nsNetUtil.h"
|
#include "nsNetUtil.h"
|
||||||
#include "nsStreamUtils.h"
|
#include "nsStreamUtils.h"
|
||||||
|
|
||||||
|
#ifdef MOZ_WEBGL
|
||||||
#include "../canvas/src/WebGL2Context.h"
|
#include "../canvas/src/WebGL2Context.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace mozilla::layers;
|
using namespace mozilla::layers;
|
||||||
|
|
||||||
|
@ -684,7 +686,8 @@ HTMLCanvasElement::GetContextHelper(const nsAString& aContextId,
|
||||||
ctx.forget(aContext);
|
ctx.forget(aContext);
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
else if (WebGL2Context::IsSupported() &&
|
#ifdef MOZ_WEBGL
|
||||||
|
if (WebGL2Context::IsSupported() &&
|
||||||
aContextId.EqualsLiteral("experimental-webgl2"))
|
aContextId.EqualsLiteral("experimental-webgl2"))
|
||||||
{
|
{
|
||||||
Telemetry::Accumulate(Telemetry::CANVAS_WEBGL_USED, 1);
|
Telemetry::Accumulate(Telemetry::CANVAS_WEBGL_USED, 1);
|
||||||
|
@ -698,6 +701,7 @@ HTMLCanvasElement::GetContextHelper(const nsAString& aContextId,
|
||||||
ctx.forget(aContext);
|
ctx.forget(aContext);
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
NS_ConvertUTF16toUTF8 ctxId(aContextId);
|
NS_ConvertUTF16toUTF8 ctxId(aContextId);
|
||||||
|
|
||||||
|
|
|
@ -2097,8 +2097,6 @@ HTMLMediaElement::Play(ErrorResult& aRv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetPlaybackRate(mDefaultPlaybackRate);
|
|
||||||
|
|
||||||
mPaused = false;
|
mPaused = false;
|
||||||
mAutoplaying = false;
|
mAutoplaying = false;
|
||||||
// We changed mPaused and mAutoplaying which can affect AddRemoveSelfReference
|
// We changed mPaused and mAutoplaying which can affect AddRemoveSelfReference
|
||||||
|
|
|
@ -106,7 +106,6 @@ MOCHITEST_FILES = \
|
||||||
test_reactivate.html \
|
test_reactivate.html \
|
||||||
test_readyState.html \
|
test_readyState.html \
|
||||||
test_replay_metadata.html \
|
test_replay_metadata.html \
|
||||||
test_seek.html \
|
|
||||||
test_seek2.html \
|
test_seek2.html \
|
||||||
test_seek_out_of_range.html \
|
test_seek_out_of_range.html \
|
||||||
test_source.html \
|
test_source.html \
|
||||||
|
@ -140,6 +139,7 @@ MOCHITEST_FILES = \
|
||||||
test_VideoPlaybackQuality.html \
|
test_VideoPlaybackQuality.html \
|
||||||
test_VideoPlaybackQuality_disabled.html \
|
test_VideoPlaybackQuality_disabled.html \
|
||||||
test_webvtt_disabled.html \
|
test_webvtt_disabled.html \
|
||||||
|
test_playback_rate_playpause.html \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
# Disabled on Windows for frequent intermittent failures
|
# Disabled on Windows for frequent intermittent failures
|
||||||
|
@ -154,14 +154,6 @@ $(filter disabled-on-windows-for-timeouts--bug-752796, test_streams_element_capt
|
||||||
$(filter disabled-on-windows-for-timeouts--bug-752796, test_streams_element_capture_reset.html)
|
$(filter disabled-on-windows-for-timeouts--bug-752796, test_streams_element_capture_reset.html)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(MOZ_WIDGET_TOOLKIT),gtk2)
|
|
||||||
MOCHITEST_FILES += \
|
|
||||||
test_playback_rate.html \
|
|
||||||
$(NULL)
|
|
||||||
else
|
|
||||||
$(filter disabled-temporarily--bug-814533, test_playback_rate.html)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Don't run in suite
|
# Don't run in suite
|
||||||
ifndef MOZ_SUITE
|
ifndef MOZ_SUITE
|
||||||
MOCHITEST_FILES += test_play_twice.html
|
MOCHITEST_FILES += test_play_twice.html
|
||||||
|
@ -187,6 +179,10 @@ endif
|
||||||
# test_bug465498.html
|
# test_bug465498.html
|
||||||
# Bug 707777:
|
# Bug 707777:
|
||||||
# test_bug493187.html
|
# test_bug493187.html
|
||||||
|
# Bug 832678, bug 795271, and bug 857424
|
||||||
|
# test_seek.html
|
||||||
|
# Bug 832768, bug 814533, bug 840742
|
||||||
|
# test_playback_rate.html
|
||||||
|
|
||||||
# sample files
|
# sample files
|
||||||
MOCHITEST_FILES += \
|
MOCHITEST_FILES += \
|
||||||
|
|
|
@ -38,7 +38,6 @@ var gProgressTests = [
|
||||||
// Used by test_played.html
|
// Used by test_played.html
|
||||||
var gPlayedTests = [
|
var gPlayedTests = [
|
||||||
{ name:"big.wav", type:"audio/x-wav", duration:9.0 },
|
{ name:"big.wav", type:"audio/x-wav", duration:9.0 },
|
||||||
{ name:"sound.ogg", type:"audio/ogg", duration:4.0 },
|
|
||||||
{ name:"seek.ogv", type:"video/ogg", duration:3.966 },
|
{ name:"seek.ogv", type:"video/ogg", duration:3.966 },
|
||||||
{ name:"seek.webm", type:"video/webm", duration:3.966 },
|
{ name:"seek.webm", type:"video/webm", duration:3.966 },
|
||||||
{ name:"gizmo.mp4", type:"video/mp4", duration:5.56 },
|
{ name:"gizmo.mp4", type:"video/mp4", duration:5.56 },
|
||||||
|
|
|
@ -113,40 +113,7 @@ function onended(e) {
|
||||||
ok(!t.muted, "The audio should be muted when playing at high speed, but should not appear as such.");
|
ok(!t.muted, "The audio should be muted when playing at high speed, but should not appear as such.");
|
||||||
is(t.currentTime, t.duration, "Current time should be equal to the duration (not change by playback rate).");
|
is(t.currentTime, t.duration, "Current time should be equal to the duration (not change by playback rate).");
|
||||||
}
|
}
|
||||||
test_defaultPlaybackRate(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
function test_defaultPlaybackRate(e) {
|
|
||||||
var t = e.target;
|
|
||||||
t.currentTime = 0.0;
|
|
||||||
t.defaultPlaybackRate = SLOW_RATE;
|
|
||||||
t.addEventListener("timeupdate", ontimeupdate_defaultPlaybackRate);
|
|
||||||
t.startTimestamp = Date.now();
|
|
||||||
t.play();
|
|
||||||
}
|
|
||||||
|
|
||||||
function ontimeupdate_defaultPlaybackRate(e) {
|
|
||||||
var t = e.target;
|
|
||||||
if (t.currentTime > t.duration / 10) {
|
|
||||||
t.oldCurrentTime = t.currentTime;
|
|
||||||
t.timestamp = Date.now();
|
|
||||||
var delta = t.oldCurrentTime,
|
|
||||||
delta_wallclock = (t.timestamp - t.startTimestamp - t.bufferingTime) / 1000;
|
|
||||||
|
|
||||||
t.bufferingTime = 0;
|
|
||||||
|
|
||||||
is(t.playbackRate, SLOW_RATE,
|
|
||||||
"The playback rate shoud be "+SLOW_RATE+"." + t.token + '\n');
|
|
||||||
is(t.defaultPlaybackRate, SLOW_RATE,
|
|
||||||
"The default playback rate shoud be "+SLOW_RATE+"." + t.token);
|
|
||||||
ok(delta_wallclock > delta , "We are effectively slowing down playback. (" + delta_wallclock + ", " + delta + ")");
|
|
||||||
if (t.skippedFastPart) {
|
|
||||||
is(t.ratechangecount, 7, "We should have received 7 \"ratechange\" events.");
|
|
||||||
} else {
|
|
||||||
is(t.ratechangecount, 8, "We should have received 8 \"ratechange\" events.");
|
|
||||||
}
|
|
||||||
finish_test(t);
|
finish_test(t);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onratechange(e) {
|
function onratechange(e) {
|
||||||
|
@ -207,7 +174,6 @@ function startTest(test, token) {
|
||||||
element.playbackRate = VERY_SLOW_RATE;
|
element.playbackRate = VERY_SLOW_RATE;
|
||||||
is(element.playbackRate, SLOW_RATE, "PlaybackRate should be clamped to " + SLOW_RATE + ".");
|
is(element.playbackRate, SLOW_RATE, "PlaybackRate should be clamped to " + SLOW_RATE + ".");
|
||||||
element.play();
|
element.play();
|
||||||
is(element.playbackRate, 1.0, "playbackRate should be reset to 1.0 on play() call");
|
|
||||||
element.playbackRate = SLOW_RATE;
|
element.playbackRate = SLOW_RATE;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Test that the playbackRate property is not reset when resuming the playback</title>
|
||||||
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||||
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||||
|
<script type="text/javascript" src="manifest.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<pre id="test">
|
||||||
|
<script class="testbody" type='application/javascript;version=1.8'>
|
||||||
|
|
||||||
|
if (navigator.platform.startsWith("Win")) {
|
||||||
|
SimpleTest.expectAssertions(0, 1);
|
||||||
|
} else if (navigator.platform.startsWith("Mac")) {
|
||||||
|
SimpleTest.expectAssertions(0, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
let manager = new MediaTestManager;
|
||||||
|
|
||||||
|
function ontimeupdate(e) {
|
||||||
|
var t = e.target;
|
||||||
|
if (t.currentTime != 0.0) {
|
||||||
|
dump(t.token + " t.currentTime != 0.0.\n");
|
||||||
|
t.removeEventListener("timeupdate", ontimeupdate);
|
||||||
|
t.pause();
|
||||||
|
is(t.playbackRate, 0.5, "PlaybackRate should not have changed after pause.");
|
||||||
|
} else {
|
||||||
|
dump(t.token + " t.currentTime == 0.0.\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function onpaused(e) {
|
||||||
|
var t = e.target;
|
||||||
|
dump(t.token + " onpaused.\n");
|
||||||
|
t.play();
|
||||||
|
is(t.playbackRate, 0.5, "PlaybackRate should not have changed after resuming playback.");
|
||||||
|
finish_test(t);
|
||||||
|
}
|
||||||
|
|
||||||
|
function finish_test(element) {
|
||||||
|
dump(element.token + " finish_test.\n");
|
||||||
|
if (element.parentNode)
|
||||||
|
element.parentNode.removeChild(element);
|
||||||
|
element.src="";
|
||||||
|
manager.finished(element.token);
|
||||||
|
}
|
||||||
|
|
||||||
|
function startTest(test, token) {
|
||||||
|
let elemType = /^audio/.test(test.type) ? "audio" : "video";
|
||||||
|
let element = document.createElement(elemType);
|
||||||
|
element.src = test.name;
|
||||||
|
element.token = token;
|
||||||
|
element.controls = true;
|
||||||
|
element.playbackRate = 0.5;
|
||||||
|
element.addEventListener("timeupdate", ontimeupdate);
|
||||||
|
element.addEventListener("pause", onpaused);
|
||||||
|
element.addEventListener("loadedmetadata", function() {
|
||||||
|
dump(element.token + " loadedmetadata\n");
|
||||||
|
element.play();
|
||||||
|
});
|
||||||
|
document.body.appendChild(element);
|
||||||
|
manager.started(token);
|
||||||
|
}
|
||||||
|
|
||||||
|
manager.runTests(gPlayedTests, startTest);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</pre>
|
||||||
|
<div id="elements">
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -1,39 +1,7 @@
|
||||||
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* ***** BEGIN LICENSE BLOCK *****
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
* 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/. */
|
||||||
* The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
* 1.1 (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.mozilla.org/MPL/
|
|
||||||
*
|
|
||||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
* for the specific language governing rights and limitations under the
|
|
||||||
* License.
|
|
||||||
*
|
|
||||||
* The Original Code is mozilla.org code.
|
|
||||||
*
|
|
||||||
* The Initial Developer of the Original Code is the Mozilla Foundation.
|
|
||||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
|
||||||
* the Initial Developer. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Contributor(s):
|
|
||||||
* John Daggett <jdaggett@mozilla.com> (original author)
|
|
||||||
*
|
|
||||||
* Alternatively, the contents of this file may be used under the terms of
|
|
||||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
* of those above. If you wish to allow use of your version of this file only
|
|
||||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
* use your version of this file under the terms of the MPL, indicate your
|
|
||||||
* decision by deleting the provisions above and replace them with the notice
|
|
||||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
* the provisions above, a recipient may use your version of this file under
|
|
||||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
*
|
|
||||||
* ***** END LICENSE BLOCK ***** */
|
|
||||||
|
|
||||||
#include "nsIDOMCSSRule.idl"
|
#include "nsIDOMCSSRule.idl"
|
||||||
|
|
||||||
|
|
|
@ -1192,9 +1192,11 @@ PluginModuleParent::NP_Initialize(NPNetscapeFuncs* bFuncs, NPPluginFuncs* pFuncs
|
||||||
uint32_t flags = 0;
|
uint32_t flags = 0;
|
||||||
|
|
||||||
if (!CallNP_Initialize(flags, error)) {
|
if (!CallNP_Initialize(flags, error)) {
|
||||||
|
mShutdown = true;
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
else if (*error != NPERR_NO_ERROR) {
|
else if (*error != NPERR_NO_ERROR) {
|
||||||
|
mShutdown = true;
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1220,8 +1222,14 @@ PluginModuleParent::NP_Initialize(NPNetscapeFuncs* bFuncs, NPError* error)
|
||||||
flags |= kAllowAsyncDrawing;
|
flags |= kAllowAsyncDrawing;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!CallNP_Initialize(flags, error))
|
if (!CallNP_Initialize(flags, error)) {
|
||||||
|
mShutdown = true;
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
|
}
|
||||||
|
if (*error != NPERR_NO_ERROR) {
|
||||||
|
mShutdown = true;
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
#if defined XP_WIN
|
#if defined XP_WIN
|
||||||
// Send the info needed to join the chrome process's audio session to the
|
// Send the info needed to join the chrome process's audio session to the
|
||||||
|
|
|
@ -89,7 +89,8 @@ function run_test() {
|
||||||
pluginFile.copyTo(null, "npblah235" + suffix);
|
pluginFile.copyTo(null, "npblah235" + suffix);
|
||||||
let pluginCopy = pluginDir.clone();
|
let pluginCopy = pluginDir.clone();
|
||||||
pluginCopy.append("npblah235" + suffix);
|
pluginCopy.append("npblah235" + suffix);
|
||||||
pluginFile.moveTo(pluginDir.parent, null);
|
let tempDir = do_get_tempdir();
|
||||||
|
pluginFile.moveTo(tempDir, null);
|
||||||
test_expected_permission_string("plugin:npblah");
|
test_expected_permission_string("plugin:npblah");
|
||||||
|
|
||||||
pluginCopy.moveTo(null, "npasdf-3.2.2" + suffix);
|
pluginCopy.moveTo(null, "npasdf-3.2.2" + suffix);
|
||||||
|
|
|
@ -50,7 +50,7 @@ function run_test() {
|
||||||
do_throw("Plugin library not found");
|
do_throw("Plugin library not found");
|
||||||
|
|
||||||
const pluginDir = file.parent;
|
const pluginDir = file.parent;
|
||||||
const parentDir = pluginDir.parent;
|
const tempDir = do_get_tempdir();
|
||||||
const suffix = get_platform_specific_plugin_suffix();
|
const suffix = get_platform_specific_plugin_suffix();
|
||||||
const pluginName = file.leafName.substring(0, file.leafName.length - suffix.length).toLowerCase();
|
const pluginName = file.leafName.substring(0, file.leafName.length - suffix.length).toLowerCase();
|
||||||
const pluginHost = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
|
const pluginHost = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
|
||||||
|
@ -90,7 +90,7 @@ function run_test() {
|
||||||
file.copyTo(null, "nptestcopy" + suffix);
|
file.copyTo(null, "nptestcopy" + suffix);
|
||||||
let copy = pluginDir.clone();
|
let copy = pluginDir.clone();
|
||||||
copy.append("nptestcopy" + suffix);
|
copy.append("nptestcopy" + suffix);
|
||||||
file.moveTo(parentDir, null);
|
file.moveTo(tempDir, null);
|
||||||
|
|
||||||
// test that the settings persist through a few variations of test-plugin names
|
// test that the settings persist through a few variations of test-plugin names
|
||||||
let testNames = [
|
let testNames = [
|
||||||
|
@ -109,7 +109,7 @@ function run_test() {
|
||||||
});
|
});
|
||||||
|
|
||||||
// check that the state persists even if the plugin is not always present
|
// check that the state persists even if the plugin is not always present
|
||||||
copy.moveTo(parentDir, null);
|
copy.moveTo(tempDir, null);
|
||||||
pluginHost.reloadPlugins(false);
|
pluginHost.reloadPlugins(false);
|
||||||
copy.moveTo(pluginDir, null);
|
copy.moveTo(pluginDir, null);
|
||||||
pluginHost.reloadPlugins(false);
|
pluginHost.reloadPlugins(false);
|
||||||
|
|
|
@ -1,38 +1,6 @@
|
||||||
/* ***** BEGIN LICENSE BLOCK *****
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
* 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/. */
|
||||||
* The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
* 1.1 (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.mozilla.org/MPL/
|
|
||||||
*
|
|
||||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
* for the specific language governing rights and limitations under the
|
|
||||||
* License.
|
|
||||||
*
|
|
||||||
* The Original Code is Mozilla Foundation code.
|
|
||||||
*
|
|
||||||
* The Initial Developer of the Original Code is the Mozilla Foundation
|
|
||||||
* Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
* the Initial Developer. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Contributor(s):
|
|
||||||
* Edwin Flores <eflores@mozilla.com>
|
|
||||||
*
|
|
||||||
* Alternatively, the contents of this file may be used under the terms of
|
|
||||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
* of those above. If you wish to allow use of your version of this file only
|
|
||||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
* use your version of this file under the terms of the MPL, indicate your
|
|
||||||
* decision by deleting the provisions above and replace them with the notice
|
|
||||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
* the provisions above, a recipient may use your version of this file under
|
|
||||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
*
|
|
||||||
* ***** END LICENSE BLOCK ***** */
|
|
||||||
|
|
||||||
#include "gfxSVGGlyphs.h"
|
#include "gfxSVGGlyphs.h"
|
||||||
|
|
||||||
|
|
|
@ -1,38 +1,6 @@
|
||||||
/* ***** BEGIN LICENSE BLOCK *****
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
* 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/. */
|
||||||
* The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
* 1.1 (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.mozilla.org/MPL/
|
|
||||||
*
|
|
||||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
* for the specific language governing rights and limitations under the
|
|
||||||
* License.
|
|
||||||
*
|
|
||||||
* The Original Code is Mozilla Foundation code.
|
|
||||||
*
|
|
||||||
* The Initial Developer of the Original Code is the Mozilla Foundation
|
|
||||||
* Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
* the Initial Developer. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Contributor(s):
|
|
||||||
* Edwin Flores <eflores@mozilla.com>
|
|
||||||
*
|
|
||||||
* Alternatively, the contents of this file may be used under the terms of
|
|
||||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
* of those above. If you wish to allow use of your version of this file only
|
|
||||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
* use your version of this file under the terms of the MPL, indicate your
|
|
||||||
* decision by deleting the provisions above and replace them with the notice
|
|
||||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
* the provisions above, a recipient may use your version of this file under
|
|
||||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
*
|
|
||||||
* ***** END LICENSE BLOCK ***** */
|
|
||||||
|
|
||||||
#ifndef GFX_SVG_GLYPHS_WRAPPER_H
|
#ifndef GFX_SVG_GLYPHS_WRAPPER_H
|
||||||
#define GFX_SVG_GLYPHS_WRAPPER_H
|
#define GFX_SVG_GLYPHS_WRAPPER_H
|
||||||
|
|
|
@ -1,40 +1,8 @@
|
||||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||||
*
|
*
|
||||||
* ***** BEGIN LICENSE BLOCK *****
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
* 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/. */
|
||||||
* The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
* 1.1 (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.mozilla.org/MPL/
|
|
||||||
*
|
|
||||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
* for the specific language governing rights and limitations under the
|
|
||||||
* License.
|
|
||||||
*
|
|
||||||
* The Original Code is mozilla.org code.
|
|
||||||
*
|
|
||||||
* The Initial Developer of the Original Code is Mozilla Foundation.
|
|
||||||
* Portions created by the Initial Developer are Copyright (C) 2012
|
|
||||||
* the Initial Developer. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Contributor(s):
|
|
||||||
* Kyle Huey <me@kylehuey.com> (original author)
|
|
||||||
*
|
|
||||||
* Alternatively, the contents of this file may be used under the terms of
|
|
||||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
* of those above. If you wish to allow use of your version of this file only
|
|
||||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
* use your version of this file under the terms of the MPL, indicate your
|
|
||||||
* decision by deleting the provisions above and replace them with the notice
|
|
||||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
* the provisions above, a recipient may use your version of this file under
|
|
||||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
*
|
|
||||||
* ***** END LICENSE BLOCK ***** */
|
|
||||||
|
|
||||||
#include "nsISupports.idl"
|
#include "nsISupports.idl"
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_af.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_bg.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_ca.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_cy.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_da.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_de-1901.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,10 @@ License information for hyph_de-1996.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
||||||
|
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
1.1 (the "License"); you may not use this file except in compliance with
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
the License. You may obtain a copy of the License at
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
http://www.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_de-CH.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_eo.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_es.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_et.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_gl.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_hr.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_hsb.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -5,40 +5,7 @@ by processing the TeX hyphenation patterns with substrings.pl.
|
||||||
|
|
||||||
% Huhyphn - hungarian hyphenation patterns v20110815
|
% Huhyphn - hungarian hyphenation patterns v20110815
|
||||||
%
|
%
|
||||||
% ***** BEGIN LICENSE BLOCK *****
|
% This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
% Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
% 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/.
|
||||||
% The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
% 1.1 (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.mozilla.org/MPL/
|
|
||||||
%
|
|
||||||
% Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
% WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
% for the specific language governing rights and limitations under the
|
|
||||||
% License.
|
|
||||||
%
|
|
||||||
% The Original Code is the Huhyphn - hungarian hyphenation patterns.
|
|
||||||
%
|
|
||||||
% The Initial Developer of the Original Code is
|
|
||||||
% Bence Nagy.
|
|
||||||
% Portions created by the Initial Developer are Copyright (C) 2003
|
|
||||||
% the Initial Developer. All Rights Reserved.
|
|
||||||
%
|
|
||||||
% Contributor(s):
|
|
||||||
% Bence Nagy <bence.nagy@gmail.com>
|
|
||||||
%
|
|
||||||
% Alternatively, the contents of this file may be used under the terms of
|
|
||||||
% either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
% the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
% in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
% of those above. If you wish to allow use of your version of this file only
|
|
||||||
% under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
% use your version of this file under the terms of the MPL, indicate your
|
|
||||||
% decision by deleting the provisions above and replace them with the notice
|
|
||||||
% and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
% the provisions above, a recipient may use your version of this file under
|
|
||||||
% the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
%
|
|
||||||
% ***** END LICENSE BLOCK *****
|
|
||||||
%
|
%
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_ia.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,48 +3,10 @@ License information for hyph_is.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
||||||
|
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
1.1 (the "License"); you may not use this file except in compliance with
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
the License. You may obtain a copy of the License at
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
http://www.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
|
|
||||||
At the time this file was first modified, a complete, unmodified copy of
|
|
||||||
the LPPL Work was available from:
|
|
||||||
http://tug.org/svn/texhyphen/trunk/hyph-utf8/tex/generic/hyph-utf8/patterns/?pathrev=580
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_it.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_kmr.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,10 @@ License information for hyph_la.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
||||||
|
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
1.1 (the "License"); you may not use this file except in compliance with
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
the License. You may obtain a copy of the License at
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
http://www.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,10 @@ License information for hyph_lt.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
||||||
|
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
1.1 (the "License"); you may not use this file except in compliance with
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
the License. You may obtain a copy of the License at
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
http://www.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_mn.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_nl.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,10 @@ License information for hyph_pt.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
||||||
|
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
1.1 (the "License"); you may not use this file except in compliance with
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
the License. You may obtain a copy of the License at
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
http://www.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,10 @@ License information for hyph_ru.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
||||||
|
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
1.1 (the "License"); you may not use this file except in compliance with
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
the License. You may obtain a copy of the License at
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
http://www.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_sh.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_sl.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_sv.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,10 @@ License information for hyph_tr.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
||||||
|
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
1.1 (the "License"); you may not use this file except in compliance with
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
the License. You may obtain a copy of the License at
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
http://www.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -3,42 +3,9 @@ License information for hyph_uk.dic:
|
||||||
This file is based on the TeX hyphenation patterns distributed under the
|
This file is based on the TeX hyphenation patterns distributed under the
|
||||||
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
LaTeX Project Public License (LPPL) as part of the hyph-utf8 package.
|
||||||
|
|
||||||
***** BEGIN LICENSE BLOCK *****
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
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/.
|
||||||
The contents of this file are subject to the Mozilla Public License Version
|
|
||||||
1.1 (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.mozilla.org/MPL/
|
|
||||||
|
|
||||||
Software distributed under the License is distributed on an "AS IS" basis,
|
|
||||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
||||||
for the specific language governing rights and limitations under the
|
|
||||||
License.
|
|
||||||
|
|
||||||
The Original Code is Mozilla hyphenation service.
|
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
|
||||||
Mozilla Foundation.
|
|
||||||
Portions created by the Initial Developer are Copyright (C) 2011
|
|
||||||
the Initial Developer. All Rights Reserved.
|
|
||||||
|
|
||||||
Contributor(s):
|
|
||||||
Jonathan Kew <jfkthame@gmail.com>
|
|
||||||
|
|
||||||
Alternatively, the contents of this file may be used under the terms of
|
|
||||||
either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
||||||
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
||||||
in which case the provisions of the GPL or the LGPL are applicable instead
|
|
||||||
of those above. If you wish to allow use of your version of this file only
|
|
||||||
under the terms of either the GPL or the LGPL, and not to allow others to
|
|
||||||
use your version of this file under the terms of the MPL, indicate your
|
|
||||||
decision by deleting the provisions above and replace them with the notice
|
|
||||||
and other provisions required by the GPL or the LGPL. If you do not delete
|
|
||||||
the provisions above, a recipient may use your version of this file under
|
|
||||||
the terms of any one of the MPL, the GPL or the LGPL.
|
|
||||||
|
|
||||||
***** END LICENSE BLOCK *****
|
|
||||||
|
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|
|
@ -642,6 +642,8 @@ selfhosting_srcs := \
|
||||||
$(srcdir)/builtin/Number.js \
|
$(srcdir)/builtin/Number.js \
|
||||||
$(srcdir)/builtin/ParallelArray.js \
|
$(srcdir)/builtin/ParallelArray.js \
|
||||||
$(srcdir)/builtin/String.js \
|
$(srcdir)/builtin/String.js \
|
||||||
|
$(srcdir)/builtin/Set.js \
|
||||||
|
$(srcdir)/builtin/Map.js \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
selfhosted_out_h_deps := \
|
selfhosted_out_h_deps := \
|
||||||
|
|
|
@ -24,7 +24,7 @@ using namespace js;
|
||||||
|
|
||||||
#if defined(__i386__)
|
#if defined(__i386__)
|
||||||
static __inline__ uint64_t
|
static __inline__ uint64_t
|
||||||
js::rdtsc(void)
|
rdtsc(void)
|
||||||
{
|
{
|
||||||
uint64_t x;
|
uint64_t x;
|
||||||
__asm__ volatile (".byte 0x0f, 0x31" : "=A" (x));
|
__asm__ volatile (".byte 0x0f, 0x31" : "=A" (x));
|
||||||
|
@ -32,7 +32,7 @@ js::rdtsc(void)
|
||||||
}
|
}
|
||||||
#elif defined(__x86_64__)
|
#elif defined(__x86_64__)
|
||||||
static __inline__ uint64_t
|
static __inline__ uint64_t
|
||||||
js::rdtsc(void)
|
rdtsc(void)
|
||||||
{
|
{
|
||||||
unsigned hi, lo;
|
unsigned hi, lo;
|
||||||
__asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi));
|
__asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi));
|
||||||
|
@ -40,7 +40,7 @@ js::rdtsc(void)
|
||||||
}
|
}
|
||||||
#elif defined(__powerpc__)
|
#elif defined(__powerpc__)
|
||||||
static __inline__ uint64_t
|
static __inline__ uint64_t
|
||||||
js::rdtsc(void)
|
rdtsc(void)
|
||||||
{
|
{
|
||||||
uint64_t result=0;
|
uint64_t result=0;
|
||||||
uint32_t upper, lower,tmp;
|
uint32_t upper, lower,tmp;
|
||||||
|
@ -62,26 +62,19 @@ js::rdtsc(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char* const TraceLogging::type_name[] = {
|
const char* const TraceLogging::type_name[] = {
|
||||||
|
"start,script",
|
||||||
|
"stop,script",
|
||||||
"start,ion_compile",
|
"start,ion_compile",
|
||||||
"stop,ion_compile",
|
"stop,ion_compile",
|
||||||
"start,ion_cannon",
|
|
||||||
"stop,ion_cannon",
|
|
||||||
"stop,ion_cannon_bailout",
|
|
||||||
"start,ion_side_cannon",
|
|
||||||
"stop,ion_side_cannon",
|
|
||||||
"stop,ion_side_cannon_bailout",
|
|
||||||
"start,yarr_jit_execute",
|
"start,yarr_jit_execute",
|
||||||
"stop,yarr_jit_execute",
|
"stop,yarr_jit_execute",
|
||||||
"start,jm_safepoint",
|
|
||||||
"stop,jm_safepoint",
|
|
||||||
"start,jm_normal",
|
|
||||||
"stop,jm_normal",
|
|
||||||
"start,jm_compile",
|
|
||||||
"stop,jm_compile",
|
|
||||||
"start,gc",
|
"start,gc",
|
||||||
"stop,gc",
|
"stop,gc",
|
||||||
"start,interpreter",
|
"start,minor_gc",
|
||||||
"stop,interpreter"
|
"stop,minor_gc",
|
||||||
|
"info,engine,interpreter",
|
||||||
|
"info,engine,baseline",
|
||||||
|
"info,engine,ionmonkey"
|
||||||
};
|
};
|
||||||
TraceLogging* TraceLogging::_defaultLogger = NULL;
|
TraceLogging* TraceLogging::_defaultLogger = NULL;
|
||||||
|
|
||||||
|
@ -157,7 +150,7 @@ TraceLogging::log(Type type, const char* file, unsigned int lineno)
|
||||||
void
|
void
|
||||||
TraceLogging::log(Type type, JSScript* script)
|
TraceLogging::log(Type type, JSScript* script)
|
||||||
{
|
{
|
||||||
this->log(type, script->filename, script->lineno);
|
this->log(type, script->filename(), script->lineno);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -15,26 +15,19 @@ class TraceLogging
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Type {
|
enum Type {
|
||||||
|
SCRIPT_START,
|
||||||
|
SCRIPT_STOP,
|
||||||
ION_COMPILE_START,
|
ION_COMPILE_START,
|
||||||
ION_COMPILE_STOP,
|
ION_COMPILE_STOP,
|
||||||
ION_CANNON_START,
|
|
||||||
ION_CANNON_STOP,
|
|
||||||
ION_CANNON_BAIL,
|
|
||||||
ION_SIDE_CANNON_START,
|
|
||||||
ION_SIDE_CANNON_STOP,
|
|
||||||
ION_SIDE_CANNON_BAIL,
|
|
||||||
YARR_JIT_START,
|
YARR_JIT_START,
|
||||||
YARR_JIT_STOP,
|
YARR_JIT_STOP,
|
||||||
JM_SAFEPOINT_START,
|
|
||||||
JM_SAFEPOINT_STOP,
|
|
||||||
JM_START,
|
|
||||||
JM_STOP,
|
|
||||||
JM_COMPILE_START,
|
|
||||||
JM_COMPILE_STOP,
|
|
||||||
GC_START,
|
GC_START,
|
||||||
GC_STOP,
|
GC_STOP,
|
||||||
INTERPRETER_START,
|
MINOR_GC_START,
|
||||||
INTERPRETER_STOP,
|
MINOR_GC_STOP,
|
||||||
|
INFO_ENGINE_INTERPRETER,
|
||||||
|
INFO_ENGINE_BASELINE,
|
||||||
|
INFO_ENGINE_IONMONKEY,
|
||||||
INFO
|
INFO
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ AC_LANG_RESTORE
|
||||||
|
|
||||||
AC_MSG_RESULT($ac_have_gcc_pr39608)
|
AC_MSG_RESULT($ac_have_gcc_pr39608)
|
||||||
if test "$ac_have_gcc_pr39608" = "yes"; then
|
if test "$ac_have_gcc_pr39608" = "yes"; then
|
||||||
echo This compiler would fail to build firefox, plase upgrade.
|
echo This compiler would fail to build firefox, please upgrade.
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|
|
@ -42,7 +42,7 @@ AC_LANG_RESTORE
|
||||||
|
|
||||||
if test "$ac_have_llvm_pr8927" = "yes"; then
|
if test "$ac_have_llvm_pr8927" = "yes"; then
|
||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
echo This compiler would miscompile firefox, plase upgrade.
|
echo This compiler would miscompile firefox, please upgrade.
|
||||||
echo see http://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Mac_OS_X_Prerequisites
|
echo see http://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Mac_OS_X_Prerequisites
|
||||||
echo for more information.
|
echo for more information.
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -316,7 +316,8 @@ EvalKernel(JSContext *cx, const CallArgs &args, EvalType evalType, AbstractFrame
|
||||||
.setNoScriptRval(false)
|
.setNoScriptRval(false)
|
||||||
.setPrincipals(principals)
|
.setPrincipals(principals)
|
||||||
.setOriginPrincipals(originPrincipals);
|
.setOriginPrincipals(originPrincipals);
|
||||||
JSScript *compiled = frontend::CompileScript(cx, scopeobj, callerScript, options,
|
JSScript *compiled = frontend::CompileScript(cx, &cx->tempLifoAlloc(),
|
||||||
|
scopeobj, callerScript, options,
|
||||||
chars.get(), length, stableStr, staticLevel);
|
chars.get(), length, stableStr, staticLevel);
|
||||||
if (!compiled)
|
if (!compiled)
|
||||||
return false;
|
return false;
|
||||||
|
@ -380,7 +381,8 @@ js::DirectEvalFromIon(JSContext *cx,
|
||||||
.setNoScriptRval(false)
|
.setNoScriptRval(false)
|
||||||
.setPrincipals(principals)
|
.setPrincipals(principals)
|
||||||
.setOriginPrincipals(originPrincipals);
|
.setOriginPrincipals(originPrincipals);
|
||||||
JSScript *compiled = frontend::CompileScript(cx, scopeobj, callerScript, options,
|
JSScript *compiled = frontend::CompileScript(cx, &cx->tempLifoAlloc(),
|
||||||
|
scopeobj, callerScript, options,
|
||||||
chars.get(), length, stableStr, staticLevel);
|
chars.get(), length, stableStr, staticLevel);
|
||||||
if (!compiled)
|
if (!compiled)
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
/* 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/. */
|
||||||
|
|
||||||
|
/* ES6 20121122 draft 15.14.4.4. */
|
||||||
|
|
||||||
|
function MapForEach(callbackfn, thisArg = undefined) {
|
||||||
|
/* Step 1-2. */
|
||||||
|
var M = this;
|
||||||
|
if (!IsObject(M))
|
||||||
|
ThrowError(JSMSG_BAD_TYPE, typeof M);
|
||||||
|
|
||||||
|
/* Step 3-4. */
|
||||||
|
try {
|
||||||
|
std_Map_has.call(M);
|
||||||
|
} catch (e) {
|
||||||
|
ThrowError(JSMSG_BAD_TYPE, typeof M);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Step 5. */
|
||||||
|
if (!IsCallable(callbackfn))
|
||||||
|
ThrowError(JSMSG_NOT_FUNCTION, DecompileArg(0, callbackfn));
|
||||||
|
|
||||||
|
/* Step 6-8. */
|
||||||
|
var entries = std_Map_iterator.call(M);
|
||||||
|
while (true) {
|
||||||
|
try {
|
||||||
|
var entry = std_Map_iterator_next.call(entries);
|
||||||
|
} catch (err) {
|
||||||
|
if (err instanceof StopIteration)
|
||||||
|
break;
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
callFunction(callbackfn, thisArg, entry[1], entry[0], M);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1036,6 +1036,7 @@ const JSFunctionSpec MapObject::methods[] = {
|
||||||
JS_FN("keys", keys, 0, 0),
|
JS_FN("keys", keys, 0, 0),
|
||||||
JS_FN("values", values, 0, 0),
|
JS_FN("values", values, 0, 0),
|
||||||
JS_FN("clear", clear, 0, 0),
|
JS_FN("clear", clear, 0, 0),
|
||||||
|
{"forEach", {NULL, NULL}, 2, 0, "MapForEach"},
|
||||||
JS_FS_END
|
JS_FS_END
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1592,6 +1593,7 @@ const JSFunctionSpec SetObject::methods[] = {
|
||||||
JS_FN("delete", delete_, 1, 0),
|
JS_FN("delete", delete_, 1, 0),
|
||||||
JS_FN("entries", entries, 0, 0),
|
JS_FN("entries", entries, 0, 0),
|
||||||
JS_FN("clear", clear, 0, 0),
|
JS_FN("clear", clear, 0, 0),
|
||||||
|
{"forEach", {NULL, NULL}, 2, 0, "SetForEach"},
|
||||||
JS_FS_END
|
JS_FS_END
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
/* 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/. */
|
||||||
|
|
||||||
|
/* ES6 20121122 draft 15.16.4.6. */
|
||||||
|
|
||||||
|
function SetForEach(callbackfn, thisArg = undefined) {
|
||||||
|
/* Step 1-2. */
|
||||||
|
var S = this;
|
||||||
|
if (!IsObject(S))
|
||||||
|
ThrowError(JSMSG_BAD_TYPE, typeof S);
|
||||||
|
|
||||||
|
/* Step 3-4. */
|
||||||
|
try {
|
||||||
|
std_Set_has.call(S);
|
||||||
|
} catch (e) {
|
||||||
|
ThrowError(JSMSG_BAD_TYPE, typeof S);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Step 5-6. */
|
||||||
|
if (!IsCallable(callbackfn))
|
||||||
|
ThrowError(JSMSG_NOT_FUNCTION, DecompileArg(0, callbackfn));
|
||||||
|
|
||||||
|
/* Step 7-8. */
|
||||||
|
var values = std_Set_iterator.call(S);
|
||||||
|
while (true) {
|
||||||
|
try {
|
||||||
|
var entry = std_Set_iterator_next.call(values);
|
||||||
|
} catch (err) {
|
||||||
|
if (err instanceof StopIteration)
|
||||||
|
break;
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
callFunction(callbackfn, thisArg, entry, entry, S);
|
||||||
|
}
|
||||||
|
}
|
|
@ -73,7 +73,12 @@ var std_String_toUpperCase = String.prototype.toUpperCase;
|
||||||
var std_WeakMap_get = WeakMap.prototype.get;
|
var std_WeakMap_get = WeakMap.prototype.get;
|
||||||
var std_WeakMap_has = WeakMap.prototype.has;
|
var std_WeakMap_has = WeakMap.prototype.has;
|
||||||
var std_WeakMap_set = WeakMap.prototype.set;
|
var std_WeakMap_set = WeakMap.prototype.set;
|
||||||
|
var std_Map_has = Map.prototype.has;
|
||||||
|
var std_Set_has = Set.prototype.has;
|
||||||
|
var std_Map_iterator = Map().iterator;
|
||||||
|
var std_Set_iterator = Set().iterator;
|
||||||
|
var std_Map_iterator_next = Object.getPrototypeOf(Map().iterator()).next;
|
||||||
|
var std_Set_iterator_next = Object.getPrototypeOf(Set().iterator()).next;
|
||||||
|
|
||||||
/********** List specification type **********/
|
/********** List specification type **********/
|
||||||
|
|
||||||
|
|
|
@ -94,10 +94,6 @@ function ignoreEdgeUse(edge, variable)
|
||||||
var name = callee.Variable.Name[0];
|
var name = callee.Variable.Name[0];
|
||||||
if (/~Anchor/.test(name))
|
if (/~Anchor/.test(name))
|
||||||
return true;
|
return true;
|
||||||
if (/::Unrooted\(\)/.test(name))
|
|
||||||
return true;
|
|
||||||
if (/::~Unrooted\(\)/.test(name))
|
|
||||||
return true;
|
|
||||||
if (/~DebugOnly/.test(name))
|
if (/~DebugOnly/.test(name))
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,6 +94,7 @@ addGCType('JSString');
|
||||||
addGCType('js::Shape');
|
addGCType('js::Shape');
|
||||||
addGCType('js::BaseShape');
|
addGCType('js::BaseShape');
|
||||||
addGCType('JSScript');
|
addGCType('JSScript');
|
||||||
|
addGCType('js::LazyScript');
|
||||||
addGCType('js::ion::IonCode');
|
addGCType('js::ion::IonCode');
|
||||||
addGCPointer('JS::Value');
|
addGCPointer('JS::Value');
|
||||||
addGCPointer('jsid');
|
addGCPointer('jsid');
|
||||||
|
|
|
@ -24,20 +24,21 @@ using namespace js::frontend;
|
||||||
using mozilla::Maybe;
|
using mozilla::Maybe;
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
CheckLength(JSContext *cx, size_t length)
|
CheckLength(ExclusiveContext *cx, size_t length)
|
||||||
{
|
{
|
||||||
// Note this limit is simply so we can store sourceStart and sourceEnd in
|
// Note this limit is simply so we can store sourceStart and sourceEnd in
|
||||||
// JSScript as 32-bits. It could be lifted fairly easily, since the compiler
|
// JSScript as 32-bits. It could be lifted fairly easily, since the compiler
|
||||||
// is using size_t internally already.
|
// is using size_t internally already.
|
||||||
if (length > UINT32_MAX) {
|
if (length > UINT32_MAX) {
|
||||||
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_SOURCE_TOO_LONG);
|
if (cx->isJSContext())
|
||||||
|
JS_ReportErrorNumber(cx->asJSContext(), js_GetErrorMessage, NULL, JSMSG_SOURCE_TOO_LONG);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
SetSourceMap(JSContext *cx, TokenStream &tokenStream, ScriptSource *ss)
|
SetSourceMap(ExclusiveContext *cx, TokenStream &tokenStream, ScriptSource *ss)
|
||||||
{
|
{
|
||||||
if (tokenStream.hasSourceMap()) {
|
if (tokenStream.hasSourceMap()) {
|
||||||
if (!ss->setSourceMap(cx, tokenStream.releaseSourceMap()))
|
if (!ss->setSourceMap(cx, tokenStream.releaseSourceMap()))
|
||||||
|
@ -74,13 +75,16 @@ CheckArgumentsWithinEval(JSContext *cx, Parser<FullParseHandler> &parser, Handle
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
MaybeCheckEvalFreeVariables(JSContext *cx, HandleScript evalCaller, HandleObject scopeChain,
|
MaybeCheckEvalFreeVariables(ExclusiveContext *cxArg, HandleScript evalCaller, HandleObject scopeChain,
|
||||||
Parser<FullParseHandler> &parser,
|
Parser<FullParseHandler> &parser,
|
||||||
ParseContext<FullParseHandler> &pc)
|
ParseContext<FullParseHandler> &pc)
|
||||||
{
|
{
|
||||||
if (!evalCaller || !evalCaller->functionOrCallerFunction())
|
if (!evalCaller || !evalCaller->functionOrCallerFunction())
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
// Eval scripts are only compiled on the main thread.
|
||||||
|
JSContext *cx = cxArg->asJSContext();
|
||||||
|
|
||||||
// Watch for uses of 'arguments' within the evaluated script, both as
|
// Watch for uses of 'arguments' within the evaluated script, both as
|
||||||
// free variables and as variables redeclared with 'var'.
|
// free variables and as variables redeclared with 'var'.
|
||||||
RootedFunction fun(cx, evalCaller->functionOrCallerFunction());
|
RootedFunction fun(cx, evalCaller->functionOrCallerFunction());
|
||||||
|
@ -120,16 +124,17 @@ MaybeCheckEvalFreeVariables(JSContext *cx, HandleScript evalCaller, HandleObject
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool
|
inline bool
|
||||||
CanLazilyParse(JSContext *cx, const CompileOptions &options)
|
CanLazilyParse(ExclusiveContext *cx, const CompileOptions &options)
|
||||||
{
|
{
|
||||||
return options.canLazilyParse &&
|
return options.canLazilyParse &&
|
||||||
options.compileAndGo &&
|
options.compileAndGo &&
|
||||||
options.sourcePolicy == CompileOptions::SAVE_SOURCE &&
|
options.sourcePolicy == CompileOptions::SAVE_SOURCE &&
|
||||||
!cx->compartment()->debugMode();
|
cx->isJSContext() &&
|
||||||
|
!cx->asJSContext()->compartment()->debugMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void
|
void
|
||||||
MaybeCallSourceHandler(JSContext *cx, const CompileOptions &options,
|
frontend::MaybeCallSourceHandler(JSContext *cx, const CompileOptions &options,
|
||||||
const jschar *chars, size_t length)
|
const jschar *chars, size_t length)
|
||||||
{
|
{
|
||||||
JSSourceHandler listener = cx->runtime()->debugHooks.sourceHandler;
|
JSSourceHandler listener = cx->runtime()->debugHooks.sourceHandler;
|
||||||
|
@ -143,7 +148,7 @@ MaybeCallSourceHandler(JSContext *cx, const CompileOptions &options,
|
||||||
}
|
}
|
||||||
|
|
||||||
JSScript *
|
JSScript *
|
||||||
frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
|
frontend::CompileScript(ExclusiveContext *cx, LifoAlloc *alloc, HandleObject scopeChain,
|
||||||
HandleScript evalCaller,
|
HandleScript evalCaller,
|
||||||
const CompileOptions &options,
|
const CompileOptions &options,
|
||||||
const jschar *chars, size_t length,
|
const jschar *chars, size_t length,
|
||||||
|
@ -154,7 +159,8 @@ frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
|
||||||
RootedString source(cx, source_);
|
RootedString source(cx, source_);
|
||||||
SkipRoot skip(cx, &chars);
|
SkipRoot skip(cx, &chars);
|
||||||
|
|
||||||
MaybeCallSourceHandler(cx, options, chars, length);
|
if (cx->isJSContext())
|
||||||
|
MaybeCallSourceHandler(cx->asJSContext(), options, chars, length);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The scripted callerFrame can only be given for compile-and-go scripts
|
* The scripted callerFrame can only be given for compile-and-go scripts
|
||||||
|
@ -176,11 +182,20 @@ frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
|
||||||
JS::RootedScriptSource sourceObject(cx, ScriptSourceObject::create(cx, ss));
|
JS::RootedScriptSource sourceObject(cx, ScriptSourceObject::create(cx, ss));
|
||||||
if (!sourceObject)
|
if (!sourceObject)
|
||||||
return NULL;
|
return NULL;
|
||||||
SourceCompressionToken mysct(cx);
|
|
||||||
SourceCompressionToken *sct = (extraSct) ? extraSct : &mysct;
|
// Saving source is not yet supported when parsing off thread.
|
||||||
|
JS_ASSERT_IF(!cx->isJSContext(), !extraSct && options.sourcePolicy == CompileOptions::NO_SOURCE);
|
||||||
|
|
||||||
|
SourceCompressionToken *sct = extraSct;
|
||||||
|
Maybe<SourceCompressionToken> mysct;
|
||||||
|
if (cx->isJSContext() && !sct) {
|
||||||
|
mysct.construct(cx->asJSContext());
|
||||||
|
sct = mysct.addr();
|
||||||
|
}
|
||||||
|
|
||||||
switch (options.sourcePolicy) {
|
switch (options.sourcePolicy) {
|
||||||
case CompileOptions::SAVE_SOURCE:
|
case CompileOptions::SAVE_SOURCE:
|
||||||
if (!ss->setSourceCopy(cx, chars, length, false, sct))
|
if (!ss->setSourceCopy(cx->asJSContext(), chars, length, false, sct))
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case CompileOptions::LAZY_SOURCE:
|
case CompileOptions::LAZY_SOURCE:
|
||||||
|
@ -194,14 +209,12 @@ frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
|
||||||
|
|
||||||
Maybe<Parser<SyntaxParseHandler> > syntaxParser;
|
Maybe<Parser<SyntaxParseHandler> > syntaxParser;
|
||||||
if (canLazilyParse) {
|
if (canLazilyParse) {
|
||||||
syntaxParser.construct(cx, &cx->tempLifoAlloc(),
|
syntaxParser.construct(cx, alloc, options, chars, length, /* foldConstants = */ false,
|
||||||
options, chars, length, /* foldConstants = */ false,
|
|
||||||
(Parser<SyntaxParseHandler> *) NULL,
|
(Parser<SyntaxParseHandler> *) NULL,
|
||||||
(LazyScript *) NULL);
|
(LazyScript *) NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
Parser<FullParseHandler> parser(cx, &cx->tempLifoAlloc(),
|
Parser<FullParseHandler> parser(cx, alloc, options, chars, length, /* foldConstants = */ true,
|
||||||
options, chars, length, /* foldConstants = */ true,
|
|
||||||
canLazilyParse ? &syntaxParser.ref() : NULL, NULL);
|
canLazilyParse ? &syntaxParser.ref() : NULL, NULL);
|
||||||
parser.sct = sct;
|
parser.sct = sct;
|
||||||
parser.ss = ss;
|
parser.ss = ss;
|
||||||
|
@ -327,7 +340,10 @@ frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
|
||||||
|
|
||||||
if (!FoldConstants(cx, &pn, &parser))
|
if (!FoldConstants(cx, &pn, &parser))
|
||||||
return NULL;
|
return NULL;
|
||||||
if (!NameFunctions(cx, pn))
|
|
||||||
|
// Inferring names for functions in compiled scripts is currently only
|
||||||
|
// supported while on the main thread. See bug 895395.
|
||||||
|
if (cx->isJSContext() && !NameFunctions(cx->asJSContext(), pn))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (!EmitTree(cx, &bce, pn))
|
if (!EmitTree(cx, &bce, pn))
|
||||||
|
@ -354,7 +370,7 @@ frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
|
||||||
|
|
||||||
bce.tellDebuggerAboutCompiledScript(cx);
|
bce.tellDebuggerAboutCompiledScript(cx);
|
||||||
|
|
||||||
if (sct == &mysct && !sct->complete())
|
if (sct && !extraSct && !sct->complete())
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
return script;
|
return script;
|
||||||
|
|
|
@ -15,12 +15,14 @@ namespace js {
|
||||||
|
|
||||||
class AutoNameVector;
|
class AutoNameVector;
|
||||||
class LazyScript;
|
class LazyScript;
|
||||||
|
class LifoAlloc;
|
||||||
struct SourceCompressionToken;
|
struct SourceCompressionToken;
|
||||||
|
|
||||||
namespace frontend {
|
namespace frontend {
|
||||||
|
|
||||||
JSScript *
|
JSScript *
|
||||||
CompileScript(JSContext *cx, HandleObject scopeChain, HandleScript evalCaller,
|
CompileScript(ExclusiveContext *cx, LifoAlloc *alloc,
|
||||||
|
HandleObject scopeChain, HandleScript evalCaller,
|
||||||
const CompileOptions &options, const jschar *chars, size_t length,
|
const CompileOptions &options, const jschar *chars, size_t length,
|
||||||
JSString *source_ = NULL, unsigned staticLevel = 0,
|
JSString *source_ = NULL, unsigned staticLevel = 0,
|
||||||
SourceCompressionToken *extraSct = NULL);
|
SourceCompressionToken *extraSct = NULL);
|
||||||
|
@ -32,6 +34,14 @@ bool
|
||||||
CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, CompileOptions options,
|
CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, CompileOptions options,
|
||||||
const AutoNameVector &formals, const jschar *chars, size_t length);
|
const AutoNameVector &formals, const jschar *chars, size_t length);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This should be called while still on the main thread if compilation will
|
||||||
|
* occur on a worker thread.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
MaybeCallSourceHandler(JSContext *cx, const CompileOptions &options,
|
||||||
|
const jschar *chars, size_t length);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* True if str consists of an IdentifierStart character, followed by one or
|
* True if str consists of an IdentifierStart character, followed by one or
|
||||||
* more IdentifierPart characters, i.e. it matches the IdentifierName production
|
* more IdentifierPart characters, i.e. it matches the IdentifierName production
|
||||||
|
|
|
@ -4461,6 +4461,8 @@ EmitFor(ExclusiveContext *cx, BytecodeEmitter *bce, ParseNode *pn, ptrdiff_t top
|
||||||
static JS_NEVER_INLINE bool
|
static JS_NEVER_INLINE bool
|
||||||
EmitFunc(ExclusiveContext *cx, BytecodeEmitter *bce, ParseNode *pn)
|
EmitFunc(ExclusiveContext *cx, BytecodeEmitter *bce, ParseNode *pn)
|
||||||
{
|
{
|
||||||
|
cx->maybePause();
|
||||||
|
|
||||||
FunctionBox *funbox = pn->pn_funbox;
|
FunctionBox *funbox = pn->pn_funbox;
|
||||||
RootedFunction fun(cx, funbox->function());
|
RootedFunction fun(cx, funbox->function());
|
||||||
JS_ASSERT_IF(fun->isInterpretedLazy(), fun->lazyScript());
|
JS_ASSERT_IF(fun->isInterpretedLazy(), fun->lazyScript());
|
||||||
|
@ -4523,9 +4525,6 @@ EmitFunc(ExclusiveContext *cx, BytecodeEmitter *bce, ParseNode *pn)
|
||||||
.setForEval(false)
|
.setForEval(false)
|
||||||
.setVersion(parent->getVersion());
|
.setVersion(parent->getVersion());
|
||||||
|
|
||||||
if (!cx->shouldBeJSContext())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
Rooted<JSObject*> enclosingScope(cx, EnclosingStaticScope(bce));
|
Rooted<JSObject*> enclosingScope(cx, EnclosingStaticScope(bce));
|
||||||
Rooted<ScriptSourceObject *> sourceObject(cx, bce->script->sourceObject());
|
Rooted<ScriptSourceObject *> sourceObject(cx, bce->script->sourceObject());
|
||||||
Rooted<JSScript*> script(cx, JSScript::Create(cx, enclosingScope, false, options,
|
Rooted<JSScript*> script(cx, JSScript::Create(cx, enclosingScope, false, options,
|
||||||
|
|
|
@ -20,6 +20,8 @@ AtomThingMapPtr<Map>::ensureMap(ExclusiveContext *cx)
|
||||||
{
|
{
|
||||||
if (map_)
|
if (map_)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
AutoLockForExclusiveAccess lock(cx);
|
||||||
map_ = cx->parseMapPool().acquire<Map>();
|
map_ = cx->parseMapPool().acquire<Map>();
|
||||||
return !!map_;
|
return !!map_;
|
||||||
}
|
}
|
||||||
|
@ -30,6 +32,8 @@ AtomThingMapPtr<Map>::releaseMap(ExclusiveContext *cx)
|
||||||
{
|
{
|
||||||
if (!map_)
|
if (!map_)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
AutoLockForExclusiveAccess lock(cx);
|
||||||
cx->parseMapPool().release(map_);
|
cx->parseMapPool().release(map_);
|
||||||
map_ = NULL;
|
map_ = NULL;
|
||||||
}
|
}
|
||||||
|
@ -38,6 +42,7 @@ template <typename ParseHandler>
|
||||||
inline bool
|
inline bool
|
||||||
AtomDecls<ParseHandler>::init()
|
AtomDecls<ParseHandler>::init()
|
||||||
{
|
{
|
||||||
|
AutoLockForExclusiveAccess lock(cx);
|
||||||
map = cx->parseMapPool().acquire<AtomDefnListMap>();
|
map = cx->parseMapPool().acquire<AtomDefnListMap>();
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
@ -46,8 +51,10 @@ template <typename ParseHandler>
|
||||||
inline
|
inline
|
||||||
AtomDecls<ParseHandler>::~AtomDecls()
|
AtomDecls<ParseHandler>::~AtomDecls()
|
||||||
{
|
{
|
||||||
if (map)
|
if (map) {
|
||||||
|
AutoLockForExclusiveAccess lock(cx);
|
||||||
cx->parseMapPool().release(map);
|
cx->parseMapPool().release(map);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} /* namespace frontend */
|
} /* namespace frontend */
|
||||||
|
|
|
@ -2223,6 +2223,8 @@ Parser<ParseHandler>::functionArgsAndBodyGeneric(Node pn, HandleFunction fun, Fu
|
||||||
// function without concern for conversion to strict mode, use of lazy
|
// function without concern for conversion to strict mode, use of lazy
|
||||||
// parsing and such.
|
// parsing and such.
|
||||||
|
|
||||||
|
context->maybePause();
|
||||||
|
|
||||||
Node prelude = null();
|
Node prelude = null();
|
||||||
bool hasRest;
|
bool hasRest;
|
||||||
if (!functionArguments(kind, &prelude, pn, hasRest))
|
if (!functionArguments(kind, &prelude, pn, hasRest))
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#define gc_GCInternals_h
|
#define gc_GCInternals_h
|
||||||
|
|
||||||
#include "jsapi.h"
|
#include "jsapi.h"
|
||||||
|
#include "jsworkers.h"
|
||||||
|
|
||||||
#include "vm/Runtime.h"
|
#include "vm/Runtime.h"
|
||||||
|
|
||||||
|
@ -50,6 +51,7 @@ class AutoTraceSession {
|
||||||
void operator=(const AutoTraceSession&) MOZ_DELETE;
|
void operator=(const AutoTraceSession&) MOZ_DELETE;
|
||||||
|
|
||||||
js::HeapState prevState;
|
js::HeapState prevState;
|
||||||
|
AutoPauseWorkersForGC pause;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct AutoPrepareForTracing
|
struct AutoPrepareForTracing
|
||||||
|
|
|
@ -32,6 +32,7 @@ JS::Zone::Zone(JSRuntime *rt)
|
||||||
gcTriggerBytes(0),
|
gcTriggerBytes(0),
|
||||||
gcHeapGrowthFactor(3.0),
|
gcHeapGrowthFactor(3.0),
|
||||||
isSystem(false),
|
isSystem(false),
|
||||||
|
usedByExclusiveThread(false),
|
||||||
scheduledForDestruction(false),
|
scheduledForDestruction(false),
|
||||||
maybeAlive(true),
|
maybeAlive(true),
|
||||||
gcMallocBytes(0),
|
gcMallocBytes(0),
|
||||||
|
|
|
@ -186,6 +186,9 @@ struct Zone : private JS::shadow::Zone,
|
||||||
|
|
||||||
void scheduleGC() {
|
void scheduleGC() {
|
||||||
JS_ASSERT(!rt->isHeapBusy());
|
JS_ASSERT(!rt->isHeapBusy());
|
||||||
|
|
||||||
|
/* Note: zones cannot be collected while in use by other threads. */
|
||||||
|
if (!usedByExclusiveThread)
|
||||||
gcScheduled = true;
|
gcScheduled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -235,6 +238,9 @@ struct Zone : private JS::shadow::Zone,
|
||||||
|
|
||||||
bool isSystem;
|
bool isSystem;
|
||||||
|
|
||||||
|
/* Whether this zone is being used by a thread with an ExclusiveContext. */
|
||||||
|
bool usedByExclusiveThread;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These flags help us to discover if a compartment that shouldn't be alive
|
* These flags help us to discover if a compartment that shouldn't be alive
|
||||||
* manages to outlive a GC.
|
* manages to outlive a GC.
|
||||||
|
|
|
@ -1452,14 +1452,14 @@ class MOZ_STACK_CLASS ModuleCompiler
|
||||||
#ifdef JS_ION_PERF
|
#ifdef JS_ION_PERF
|
||||||
bool trackPerfProfiledFunction(const Func &func, unsigned endCodeOffset) {
|
bool trackPerfProfiledFunction(const Func &func, unsigned endCodeOffset) {
|
||||||
unsigned lineno = 0U, columnIndex = 0U;
|
unsigned lineno = 0U, columnIndex = 0U;
|
||||||
tokenStream_.srcCoords.lineNumAndColumnIndex(func.srcOffset(), &lineno, &columnIndex);
|
parser().tokenStream.srcCoords.lineNumAndColumnIndex(func.srcOffset(), &lineno, &columnIndex);
|
||||||
|
|
||||||
unsigned startCodeOffset = func.codeLabel()->offset();
|
unsigned startCodeOffset = func.code()->offset();
|
||||||
return module_->trackPerfProfiledFunction(func.name(), startCodeOffset, endCodeOffset, lineno, columnIndex);
|
return module_->trackPerfProfiledFunction(func.name(), startCodeOffset, endCodeOffset, lineno, columnIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool trackPerfProfiledBlocks(AsmJSPerfSpewer &perfSpewer, const Func &func, unsigned endCodeOffset) {
|
bool trackPerfProfiledBlocks(AsmJSPerfSpewer &perfSpewer, const Func &func, unsigned endCodeOffset) {
|
||||||
unsigned startCodeOffset = func.codeLabel()->offset();
|
unsigned startCodeOffset = func.code()->offset();
|
||||||
perfSpewer.noteBlocksOffsets(masm_);
|
perfSpewer.noteBlocksOffsets(masm_);
|
||||||
return module_->trackPerfProfiledBlocks(func.name(), startCodeOffset, endCodeOffset, perfSpewer.basicBlocks());
|
return module_->trackPerfProfiledBlocks(func.name(), startCodeOffset, endCodeOffset, perfSpewer.basicBlocks());
|
||||||
}
|
}
|
||||||
|
@ -4788,7 +4788,7 @@ GenerateCode(ModuleCompiler &m, ModuleCompiler::Func &func, MIRGenerator &mir, L
|
||||||
|
|
||||||
#ifdef JS_ION_PERF
|
#ifdef JS_ION_PERF
|
||||||
if (PerfBlockEnabled()) {
|
if (PerfBlockEnabled()) {
|
||||||
if (!m.trackPerfProfiledBlocks(mirGen.perfSpewer(), func, m.masm().size()))
|
if (!m.trackPerfProfiledBlocks(mir.perfSpewer(), func, m.masm().size()))
|
||||||
return false;
|
return false;
|
||||||
} else if (PerfFuncEnabled()) {
|
} else if (PerfFuncEnabled()) {
|
||||||
if (!m.trackPerfProfiledFunction(func, m.masm().size()))
|
if (!m.trackPerfProfiledFunction(func, m.masm().size()))
|
||||||
|
@ -4871,7 +4871,7 @@ CheckFunctionsSequential(ModuleCompiler &m)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef JS_PARALLEL_COMPILATION
|
#ifdef JS_WORKER_THREADS
|
||||||
// State of compilation as tracked and updated by the main thread.
|
// State of compilation as tracked and updated by the main thread.
|
||||||
struct ParallelGroupState
|
struct ParallelGroupState
|
||||||
{
|
{
|
||||||
|
@ -5063,7 +5063,7 @@ CheckFunctionsParallel(ModuleCompiler &m)
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endif // JS_PARALLEL_COMPILATION
|
#endif // JS_WORKER_THREADS
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
CheckFuncPtrTable(ModuleCompiler &m, ParseNode *var)
|
CheckFuncPtrTable(ModuleCompiler &m, ParseNode *var)
|
||||||
|
@ -6311,7 +6311,7 @@ CheckModule(JSContext *cx, AsmJSParser &parser, ParseNode *stmtList,
|
||||||
if (!CheckModuleGlobals(m))
|
if (!CheckModuleGlobals(m))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
#ifdef JS_PARALLEL_COMPILATION
|
#ifdef JS_WORKER_THREADS
|
||||||
if (OffThreadCompilationEnabled(cx)) {
|
if (OffThreadCompilationEnabled(cx)) {
|
||||||
if (!CheckFunctionsParallel(m))
|
if (!CheckFunctionsParallel(m))
|
||||||
return false;
|
return false;
|
||||||
|
@ -6369,9 +6369,9 @@ js::CompileAsmJS(JSContext *cx, AsmJSParser &parser, ParseNode *stmtList, bool *
|
||||||
if (!EnsureAsmJSSignalHandlersInstalled(cx->runtime()))
|
if (!EnsureAsmJSSignalHandlersInstalled(cx->runtime()))
|
||||||
return Warn(cx, JSMSG_USE_ASM_TYPE_FAIL, "Platform missing signal handler support");
|
return Warn(cx, JSMSG_USE_ASM_TYPE_FAIL, "Platform missing signal handler support");
|
||||||
|
|
||||||
# ifdef JS_PARALLEL_COMPILATION
|
# ifdef JS_WORKER_THREADS
|
||||||
if (OffThreadCompilationEnabled(cx)) {
|
if (OffThreadCompilationEnabled(cx)) {
|
||||||
if (!EnsureParallelCompilationInitialized(cx->runtime()))
|
if (!EnsureWorkerThreadsInitialized(cx->runtime()))
|
||||||
return Warn(cx, JSMSG_USE_ASM_TYPE_FAIL, "Failed compilation thread initialization");
|
return Warn(cx, JSMSG_USE_ASM_TYPE_FAIL, "Failed compilation thread initialization");
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
|
|
@ -492,7 +492,7 @@ SendFunctionsToPerf(JSContext *cx, AsmJSModule &module)
|
||||||
unsigned long base = (unsigned long) module.functionCode();
|
unsigned long base = (unsigned long) module.functionCode();
|
||||||
|
|
||||||
const AsmJSModule::PostLinkFailureInfo &info = module.postLinkFailureInfo();
|
const AsmJSModule::PostLinkFailureInfo &info = module.postLinkFailureInfo();
|
||||||
const char *filename = const_cast<char *>(info.scriptSource_->filename());
|
const char *filename = const_cast<char *>(info.scriptSource->filename());
|
||||||
|
|
||||||
for (unsigned i = 0; i < module.numPerfFunctions(); i++) {
|
for (unsigned i = 0; i < module.numPerfFunctions(); i++) {
|
||||||
const AsmJSModule::ProfiledFunction &func = module.perfProfiledFunction(i);
|
const AsmJSModule::ProfiledFunction &func = module.perfProfiledFunction(i);
|
||||||
|
@ -527,7 +527,7 @@ SendBlocksToPerf(JSContext *cx, AsmJSModule &module)
|
||||||
unsigned long funcBaseAddress = (unsigned long) module.functionCode();
|
unsigned long funcBaseAddress = (unsigned long) module.functionCode();
|
||||||
|
|
||||||
const AsmJSModule::PostLinkFailureInfo &info = module.postLinkFailureInfo();
|
const AsmJSModule::PostLinkFailureInfo &info = module.postLinkFailureInfo();
|
||||||
const char *filename = const_cast<char *>(info.scriptSource_->filename());
|
const char *filename = const_cast<char *>(info.scriptSource->filename());
|
||||||
|
|
||||||
for (unsigned i = 0; i < module.numPerfBlocksFunctions(); i++) {
|
for (unsigned i = 0; i < module.numPerfBlocksFunctions(); i++) {
|
||||||
const AsmJSModule::ProfiledBlocksFunction &func = module.perfProfiledBlocksFunction(i);
|
const AsmJSModule::ProfiledBlocksFunction &func = module.perfProfiledBlocksFunction(i);
|
||||||
|
|
|
@ -1032,6 +1032,10 @@ ion::BailoutIonToBaseline(JSContext *cx, JitActivation *activation, IonBailoutIt
|
||||||
JS_ASSERT(bailoutInfo != NULL);
|
JS_ASSERT(bailoutInfo != NULL);
|
||||||
JS_ASSERT(*bailoutInfo == NULL);
|
JS_ASSERT(*bailoutInfo == NULL);
|
||||||
|
|
||||||
|
#if JS_TRACE_LOGGING
|
||||||
|
TraceLogging::defaultLogger()->log(TraceLogging::INFO_ENGINE_BASELINE);
|
||||||
|
#endif
|
||||||
|
|
||||||
// The caller of the top frame must be one of the following:
|
// The caller of the top frame must be one of the following:
|
||||||
// OptimizedJS - Ion calling into Ion.
|
// OptimizedJS - Ion calling into Ion.
|
||||||
// BaselineStub - Baseline calling into Ion.
|
// BaselineStub - Baseline calling into Ion.
|
||||||
|
@ -1107,6 +1111,12 @@ ion::BailoutIonToBaseline(JSContext *cx, JitActivation *activation, IonBailoutIt
|
||||||
RootedScript scr(cx, iter.script());
|
RootedScript scr(cx, iter.script());
|
||||||
AutoValueVector startFrameFormals(cx);
|
AutoValueVector startFrameFormals(cx);
|
||||||
while (true) {
|
while (true) {
|
||||||
|
#if JS_TRACE_LOGGING
|
||||||
|
if (frameNo > 0) {
|
||||||
|
TraceLogging::defaultLogger()->log(TraceLogging::SCRIPT_START, scr);
|
||||||
|
TraceLogging::defaultLogger()->log(TraceLogging::INFO_ENGINE_BASELINE);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
IonSpew(IonSpew_BaselineBailouts, " FrameNo %d", frameNo);
|
IonSpew(IonSpew_BaselineBailouts, " FrameNo %d", frameNo);
|
||||||
jsbytecode *callPC = NULL;
|
jsbytecode *callPC = NULL;
|
||||||
RootedFunction nextCallee(cx, NULL);
|
RootedFunction nextCallee(cx, NULL);
|
||||||
|
|
|
@ -84,6 +84,7 @@ BaselineCompiler::compile()
|
||||||
if (status != Method_Compiled)
|
if (status != Method_Compiled)
|
||||||
return status;
|
return status;
|
||||||
|
|
||||||
|
|
||||||
if (!emitEpilogue())
|
if (!emitEpilogue())
|
||||||
return Method_Error;
|
return Method_Error;
|
||||||
|
|
||||||
|
@ -224,6 +225,11 @@ BaselineCompiler::emitPrologue()
|
||||||
masm.pushValue(R0);
|
masm.pushValue(R0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if JS_TRACE_LOGGING
|
||||||
|
masm.tracelogStart(script.get());
|
||||||
|
masm.tracelogLog(TraceLogging::INFO_ENGINE_BASELINE);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Record the offset of the prologue, because Ion can bailout before
|
// Record the offset of the prologue, because Ion can bailout before
|
||||||
// the scope chain is initialized.
|
// the scope chain is initialized.
|
||||||
prologueOffset_ = masm.currentOffset();
|
prologueOffset_ = masm.currentOffset();
|
||||||
|
@ -256,6 +262,10 @@ BaselineCompiler::emitEpilogue()
|
||||||
{
|
{
|
||||||
masm.bind(&return_);
|
masm.bind(&return_);
|
||||||
|
|
||||||
|
#if JS_TRACE_LOGGING
|
||||||
|
masm.tracelogStop();
|
||||||
|
#endif
|
||||||
|
|
||||||
// Pop SPS frame if necessary
|
// Pop SPS frame if necessary
|
||||||
emitSPSPop();
|
emitSPSPop();
|
||||||
|
|
||||||
|
|
|
@ -185,6 +185,10 @@ ion::EnterBaselineAtBranch(JSContext *cx, StackFrame *fp, jsbytecode *pc)
|
||||||
data.calleeToken = CalleeToToken(fp->script());
|
data.calleeToken = CalleeToToken(fp->script());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if JS_TRACE_LOGGING
|
||||||
|
TraceLogging::defaultLogger()->log(TraceLogging::INFO_ENGINE_BASELINE);
|
||||||
|
#endif
|
||||||
|
|
||||||
IonExecStatus status = EnterBaseline(cx, data);
|
IonExecStatus status = EnterBaseline(cx, data);
|
||||||
if (status != IonExec_Ok)
|
if (status != IonExec_Ok)
|
||||||
return status;
|
return status;
|
||||||
|
|
|
@ -897,6 +897,10 @@ CodeGenerator::visitOsrEntry(LOsrEntry *lir)
|
||||||
masm.flushBuffer();
|
masm.flushBuffer();
|
||||||
setOsrEntryOffset(masm.size());
|
setOsrEntryOffset(masm.size());
|
||||||
|
|
||||||
|
#if JS_TRACE_LOGGING
|
||||||
|
masm.tracelogLog(TraceLogging::INFO_ENGINE_IONMONKEY);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Allocate the full frame for this function.
|
// Allocate the full frame for this function.
|
||||||
uint32_t size = frameSize();
|
uint32_t size = frameSize();
|
||||||
if (size != 0)
|
if (size != 0)
|
||||||
|
@ -5421,6 +5425,11 @@ CodeGenerator::generate()
|
||||||
if (!safepoints_.init(graph.totalSlotCount()))
|
if (!safepoints_.init(graph.totalSlotCount()))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
#if JS_TRACE_LOGGING
|
||||||
|
masm.tracelogStart(gen->info().script());
|
||||||
|
masm.tracelogLog(TraceLogging::INFO_ENGINE_IONMONKEY);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Before generating any code, we generate type checks for all parameters.
|
// Before generating any code, we generate type checks for all parameters.
|
||||||
// This comes before deoptTable_, because we can't use deopt tables without
|
// This comes before deoptTable_, because we can't use deopt tables without
|
||||||
// creating the actual frame.
|
// creating the actual frame.
|
||||||
|
@ -5433,10 +5442,21 @@ CodeGenerator::generate()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if JS_TRACE_LOGGING
|
||||||
|
Label skip;
|
||||||
|
masm.jump(&skip);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Remember the entry offset to skip the argument check.
|
// Remember the entry offset to skip the argument check.
|
||||||
masm.flushBuffer();
|
masm.flushBuffer();
|
||||||
setSkipArgCheckEntryOffset(masm.size());
|
setSkipArgCheckEntryOffset(masm.size());
|
||||||
|
|
||||||
|
#if JS_TRACE_LOGGING
|
||||||
|
masm.tracelogStart(gen->info().script());
|
||||||
|
masm.tracelogLog(TraceLogging::INFO_ENGINE_IONMONKEY);
|
||||||
|
masm.bind(&skip);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!generatePrologue())
|
if (!generatePrologue())
|
||||||
return false;
|
return false;
|
||||||
if (!generateBody())
|
if (!generateBody())
|
||||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче