This commit is contained in:
Ryan VanderMeulen 2013-07-19 20:51:11 -04:00
Родитель 569e063c11 d5c67ff5d1
Коммит 8de760cfd1
232 изменённых файлов: 3178 добавлений и 2730 удалений

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

@ -112,7 +112,7 @@ static nsRoleMapEntry sWAIRoleMaps[] =
eNoLiveAttr,
eTableCell,
kNoReqStates,
eARIASelectable,
eARIASelectableIfDefined,
eARIAReadonlyOrEditableIfDefined
},
{ // combobox
@ -463,7 +463,7 @@ static nsRoleMapEntry sWAIRoleMaps[] =
eNoLiveAttr,
eTableCell,
kNoReqStates,
eARIASelectable,
eARIASelectableIfDefined,
eARIAReadonlyOrEditableIfDefined
},
{ // scrollbar

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

@ -300,6 +300,16 @@ aria::MapToState(EStateRule aRule, dom::Element* aElement, uint64_t* aState)
return true;
}
case eARIASelectableIfDefined:
{
static const TokenTypeData data(
nsGkAtoms::aria_selected, eBoolType,
states::SELECTABLE, states::SELECTED);
MapTokenType(aElement, aState, data);
return true;
}
case eReadonlyUntilEditable:
{
if (!(*aState & states::EDITABLE))

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

@ -42,6 +42,7 @@ enum EStateRule
eARIAReadonlyOrEditableIfDefined,
eARIARequired,
eARIASelectable,
eARIASelectableIfDefined,
eReadonlyUntilEditable,
eIndeterminateIfNoValue
};

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

@ -465,8 +465,8 @@ ARIAGridAccessible::SetARIASelected(Accessible* aAccessible,
rv = content->SetAttr(kNameSpaceID_None, nsGkAtoms::aria_selected,
NS_LITERAL_STRING("true"), aNotify);
else
rv = content->UnsetAttr(kNameSpaceID_None,
nsGkAtoms::aria_selected, aNotify);
rv = content->SetAttr(kNameSpaceID_None, nsGkAtoms::aria_selected,
NS_LITERAL_STRING("false"), aNotify);
NS_ENSURE_SUCCESS(rv, rv);

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

@ -361,7 +361,8 @@ function testTableSelection(aIdentifier, aCellsArray, aMsg)
for (var colIdx = 0; colIdx < colsCount; colIdx++) {
var isColSelected = true;
for (var rowIdx = 0; rowIdx < rowCount; rowIdx++) {
if (aCellsArray[rowIdx][colIdx] == false) {
if (aCellsArray[rowIdx][colIdx] == false ||
aCellsArray[rowIdx][colIdx] == undefined) {
isColSelected = false;
break;
}
@ -401,7 +402,8 @@ function testTableSelection(aIdentifier, aCellsArray, aMsg)
for (var rowIdx = 0; rowIdx < rowCount; rowIdx++) {
var isRowSelected = true;
for (var colIdx = 0; colIdx < colsCount; colIdx++) {
if (aCellsArray[rowIdx][colIdx] == false) {
if (aCellsArray[rowIdx][colIdx] == false ||
aCellsArray[rowIdx][colIdx] == undefined) {
isRowSelected = false;
break;
}
@ -442,7 +444,8 @@ function testTableSelection(aIdentifier, aCellsArray, aMsg)
if (aCellsArray[rowIdx][colIdx] & kSpanned)
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 " +
colIdx + " column for " + prettyName(aIdentifier));
@ -496,7 +499,9 @@ function testTableSelection(aIdentifier, aCellsArray, aMsg)
var cell = acc.getCellAt(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);
else
testStates(cell, STATE_SELECTABLE, 0, STATE_SELECTED);

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

@ -54,6 +54,21 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=410052
testUnselectTableColumn("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();
}
@ -65,10 +80,13 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=410052
<a target="_blank"
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"
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>
<div id="content" style="display: none"></div>
@ -112,8 +130,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=410052
<div role="row">
<table role="presentation">
<tr>
<td role="columnheader">header1</td>
<td role="columnheader">header2</td>
<td role="columnheader" aria-selected="false">header1</td>
<td role="columnheader" aria-selected="false">header2</td>
</tr>
</table>
</div>
@ -127,5 +145,17 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=410052
</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>
</html>

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

@ -217,14 +217,21 @@ var gPluginHandler = {
},
handleEvent : function(event) {
let plugin = event.target;
let doc = plugin.ownerDocument;
// We're expecting the target to be a plugin.
if (!(plugin instanceof Ci.nsIObjectLoadingContent))
return;
let plugin;
let doc;
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") {
// The plugin binding fires this event when it is created.
// 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);
switch (eventType) {
@ -268,7 +276,7 @@ var gPluginHandler = {
case "PluginBlocklisted":
case "PluginOutdated":
this._showClickToPlayNotification(browser);
shouldShowNotification = true;
break;
case "PluginVulnerableUpdatable":
@ -290,7 +298,7 @@ var gPluginHandler = {
let vulnerabilityText = doc.getAnonymousElementByAttribute(plugin, "anonid", "vulnerabilityStatus");
vulnerabilityText.textContent = vulnerabilityString;
}
this._showClickToPlayNotification(browser);
shouldShowNotification = true;
break;
case "PluginPlayPreview":
@ -300,20 +308,27 @@ var gPluginHandler = {
case "PluginDisabled":
let manageLink = doc.getAnonymousElementByAttribute(plugin, "class", "managePluginsLink");
this.addLinkClickCallback(manageLink, "managePlugins");
this._showClickToPlayNotification(browser);
shouldShowNotification = true;
break;
case "PluginInstantiated":
this._showClickToPlayNotification(browser);
case "PluginRemoved":
shouldShowNotification = true;
break;
}
// 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");
if (overlay != null && this.isTooSmall(plugin, overlay))
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) {
@ -686,18 +701,12 @@ var gPluginHandler = {
switch (aNewState) {
case "allownow":
if (aPluginInfo.fallbackType == Ci.nsIObjectLoadingContent.PLUGIN_ACTIVE) {
return;
}
permission = Ci.nsIPermissionManager.ALLOW_ACTION;
expireType = Ci.nsIPermissionManager.EXPIRE_SESSION;
expireTime = Date.now() + Services.prefs.getIntPref(this.PREF_SESSION_PERSIST_MINUTES) * 60 * 1000;
break;
case "allowalways":
if (aPluginInfo.fallbackType == Ci.nsIObjectLoadingContent.PLUGIN_ACTIVE) {
return;
}
permission = Ci.nsIPermissionManager.ALLOW_ACTION;
expireType = Ci.nsIPermissionManager.EXPIRE_TIME;
expireTime = Date.now() +
@ -705,26 +714,29 @@ var gPluginHandler = {
break;
case "block":
if (aPluginInfo.fallbackType != Ci.nsIObjectLoadingContent.PLUGIN_ACTIVE) {
return;
}
permission = Ci.nsIPermissionManager.PROMPT_ACTION;
expireType = Ci.nsIPermissionManager.EXPIRE_NEVER;
expireTime = 0;
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:
Cu.reportError(Error("Unexpected plugin state: " + aNewState));
return;
}
let browser = aNotification.browser;
if (aNewState != "continue") {
Services.perms.add(browser.currentURI, aPluginInfo.permissionString,
permission, expireType, expireTime);
if (aNewState == "block") {
return;
}
}
// Manually activate the plugins that would have been automatically
// activated.
@ -749,6 +761,7 @@ var gPluginHandler = {
let notification = PopupNotifications.getNotification("click-to-play-plugins", aBrowser);
let contentWindow = aBrowser.contentWindow;
let contentDoc = aBrowser.contentDocument;
let cwu = contentWindow.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindowUtils);
let plugins = cwu.plugins;
@ -759,15 +772,25 @@ var gPluginHandler = {
return;
}
let haveVulnerablePlugin = plugins.some(function(plugin) {
let icon = 'plugins-notification-icon';
for (let plugin of plugins) {
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_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;
// Always show the doorhanger if the anchor is not available.
if (!isElementVisible(gURLBar) || aPrimaryPlugin)
if (aPrimaryPlugin)
dismissed = false;
let primaryPluginPermission = null;
@ -780,7 +803,6 @@ var gPluginHandler = {
eventCallback: this._clickToPlayNotificationEventCallback,
primaryPlugin: primaryPluginPermission
};
let icon = haveVulnerablePlugin ? "blocked-plugins-notification-icon" : "plugins-notification-icon";
PopupNotifications.show(aBrowser, "click-to-play-plugins",
"", icon,
null, null, options);

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

@ -755,6 +755,7 @@ var gBrowserInit = {
gBrowser.addEventListener("PluginCrashed", gPluginHandler, true);
gBrowser.addEventListener("PluginOutdated", gPluginHandler, true);
gBrowser.addEventListener("PluginInstantiated", gPluginHandler, true);
gBrowser.addEventListener("PluginRemoved", gPluginHandler, true);
gBrowser.addEventListener("NewPluginInstalled", gPluginHandler.newPluginInstalled, true);

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

@ -505,6 +505,7 @@
<image id="webapps-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="alert-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="mixed-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>

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

@ -2098,8 +2098,9 @@
if (otherFindBar &&
otherFindBar.findMode == otherFindBar.FIND_NORMAL) {
let ourFindBar = this.getFindBar(aOurTab);
ourFindBar.hidden = otherFindBar.hidden;
ourFindBar._findField.value = otherFindBar._findField.value;
if (!otherFindBar.hidden)
ourFindBar.onFindCommand();
}
// Finish tearing down the tab that's going away.

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

@ -98,6 +98,8 @@ function checkNewWindow() {
ok(!newWindow.gFindBar.hidden, "New window shows find bar!");
is(newWindow.gFindBar._findField.value, texts[1],
"New window find bar has correct find value!");
ok(!newWindow.gFindBar.getElement("find-next").disabled,
"New window findbar has enabled buttons!");
newWindow.close();
finish();
}

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

@ -1574,13 +1574,20 @@
this.appendChild(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);
} else if (this.notification.options.primaryPlugin) {
break;
default:
if (this.notification.options.primaryPlugin) {
this._setState(this._states.MULTI_COLLAPSED);
} else {
this._setState(this._states.MULTI_EXPANDED);
}
}
]]></constructor>
<method name="_setState">
<parameter name="state" />
@ -1645,7 +1652,7 @@
button2 = {
label: "pluginContinue.label",
accesskey: "pluginContinue.accesskey",
action: "_cancel",
action: "_singleContinue",
default: true
};
switch (action.blocklistState) {
@ -1819,6 +1826,14 @@
this._cancel();
]]></body>
</method>
<method name="_singleContinue">
<body><![CDATA[
gPluginHandler._updatePluginPermission(this.notification,
this.notification.options.centerActions[0],
"continue");
this._cancel();
]]></body>
</method>
<method name="_multiAccept">
<body><![CDATA[
for (let item of this._items) {

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

@ -1285,11 +1285,33 @@ toolbar[iconsize="small"] #webrtc-status-button {
}
#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 {
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 {

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

@ -235,3 +235,6 @@ browser.jar:
#endif
skin/classic/browser/webapps-16.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 {
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 {
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) {
#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 {
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@2x.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/Toolbar.png chrome://browser/skin/lion/Toolbar.png os=Darwin osversion>=10.7

Двоичные данные
browser/themes/shared/plugins/notification-pluginAlert.png Normal file

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

После

Ширина:  |  Высота:  |  Размер: 648 B

Двоичные данные
browser/themes/shared/plugins/notification-pluginAlert@2x.png Normal file

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

После

Ширина:  |  Высота:  |  Размер: 1.2 KiB

Двоичные данные
browser/themes/shared/plugins/notification-pluginBlocked.png Normal file

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

После

Ширина:  |  Высота:  |  Размер: 968 B

Двоичные данные
browser/themes/shared/plugins/notification-pluginBlocked@2x.png Normal file

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

После

Ширина:  |  Высота:  |  Размер: 2.0 KiB

Двоичные данные
browser/themes/shared/plugins/notification-pluginNormal.png Normal file

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

После

Ширина:  |  Высота:  |  Размер: 340 B

Двоичные данные
browser/themes/shared/plugins/notification-pluginNormal@2x.png Normal file

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

После

Ширина:  |  Высота:  |  Размер: 469 B

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

@ -2537,11 +2537,33 @@ toolbarbutton.bookmark-item[dragover="true"][open="true"] {
}
#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 {
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 {

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

@ -72,6 +72,9 @@ browser.jar:
skin/classic/browser/urlbar-history-dropmarker.png
skin/classic/browser/webapps-16.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-64.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/webapps-16.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-64.png
skin/classic/aero/browser/webRTC-sharingDevice-16.png

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

@ -31,7 +31,7 @@ AC_LANG_RESTORE
AC_MSG_RESULT($ac_have_gcc_pr39608)
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
fi
])

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

@ -42,7 +42,7 @@ AC_LANG_RESTORE
if test "$ac_have_llvm_pr8927" = "yes"; then
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 for more information.
exit 1

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

@ -139,7 +139,7 @@ recommended.
=head1 LICENSE
MPL 1.1/GPL 2.0/LGPL 2.1. Your choice
MPL 2.
=head1 AUTHOR

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

@ -225,7 +225,7 @@ later are recommended.
=head1 LICENSE
MPL 1.1/GPL 2.0/LGPL 2.1. Your choice.
MPL 2.
=head1 AUTHOR

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

@ -38,43 +38,9 @@
var _sunSpiderStartDate = new Date();
/* ***** 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
* 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 ***** */
/* 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/. */
// From: http://lxr.mozilla.org/mozilla/source/extensions/xml-rpc/src/nsXmlRpcClient.js#956

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

@ -196,26 +196,36 @@ CheckPluginStopEvent::Run()
*/
class nsSimplePluginEvent : public nsRunnable {
public:
nsSimplePluginEvent(nsIContent* aContent, const nsAString &aEvent)
: mContent(aContent),
mEvent(aEvent)
{}
nsSimplePluginEvent(nsIContent* aTarget, const nsAString &aEvent)
: mTarget(aTarget)
, mDocument(aTarget->GetCurrentDoc())
, mEvent(aEvent)
{
}
nsSimplePluginEvent(nsIDocument* aTarget, const nsAString& aEvent)
: mTarget(aTarget)
, mDocument(aTarget)
, mEvent(aEvent)
{
}
~nsSimplePluginEvent() {}
NS_IMETHOD Run();
private:
nsCOMPtr<nsIContent> mContent;
nsCOMPtr<nsISupports> mTarget;
nsCOMPtr<nsIDocument> mDocument;
nsString mEvent;
};
NS_IMETHODIMP
nsSimplePluginEvent::Run()
{
LOG(("OBJLC [%p]: nsSimplePluginEvent firing event \"%s\"", mContent.get(),
LOG(("OBJLC [%p]: nsSimplePluginEvent firing event \"%s\"", mTarget.get(),
mEvent.get()));
nsContentUtils::DispatchTrustedEvent(mContent->GetDocument(), mContent,
nsContentUtils::DispatchTrustedEvent(mDocument, mTarget,
mEvent, true, true);
return NS_OK;
}
@ -674,7 +684,9 @@ nsObjectLoadingContent::UnbindFromTree(bool aDeep, bool aNullParent)
/// would keep the docshell around, but trash the frameloader
UnloadObject();
}
nsCOMPtr<nsIRunnable> ev = new nsSimplePluginEvent(thisContent->GetCurrentDoc(),
NS_LITERAL_STRING("PluginRemoved"));
NS_DispatchToCurrentThread(ev);
}
nsObjectLoadingContent::nsObjectLoadingContent()

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

@ -4,13 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMWebGLRenderingContext.h"
#include "WebGL2Context.h"
#define DUMMY(func,rtype) nsresult func (rtype ** aResult) { return NS_ERROR_FAILURE; }
DUMMY(NS_NewCanvasRenderingContextWebGL, nsIDOMWebGLRenderingContext)
WebGL2Context * WebGL2Context::Create()
{
return nullptr;
}

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

@ -31,7 +31,9 @@
#include "nsNetUtil.h"
#include "nsStreamUtils.h"
#ifdef MOZ_WEBGL
#include "../canvas/src/WebGL2Context.h"
#endif
using namespace mozilla::layers;
@ -684,7 +686,8 @@ HTMLCanvasElement::GetContextHelper(const nsAString& aContextId,
ctx.forget(aContext);
return NS_OK;
}
else if (WebGL2Context::IsSupported() &&
#ifdef MOZ_WEBGL
if (WebGL2Context::IsSupported() &&
aContextId.EqualsLiteral("experimental-webgl2"))
{
Telemetry::Accumulate(Telemetry::CANVAS_WEBGL_USED, 1);
@ -698,6 +701,7 @@ HTMLCanvasElement::GetContextHelper(const nsAString& aContextId,
ctx.forget(aContext);
return NS_OK;
}
#endif
NS_ConvertUTF16toUTF8 ctxId(aContextId);

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

@ -2097,8 +2097,6 @@ HTMLMediaElement::Play(ErrorResult& aRv)
}
}
SetPlaybackRate(mDefaultPlaybackRate);
mPaused = false;
mAutoplaying = false;
// We changed mPaused and mAutoplaying which can affect AddRemoveSelfReference

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

@ -106,7 +106,6 @@ MOCHITEST_FILES = \
test_reactivate.html \
test_readyState.html \
test_replay_metadata.html \
test_seek.html \
test_seek2.html \
test_seek_out_of_range.html \
test_source.html \
@ -140,6 +139,7 @@ MOCHITEST_FILES = \
test_VideoPlaybackQuality.html \
test_VideoPlaybackQuality_disabled.html \
test_webvtt_disabled.html \
test_playback_rate_playpause.html \
$(NULL)
# 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)
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
ifndef MOZ_SUITE
MOCHITEST_FILES += test_play_twice.html
@ -187,6 +179,10 @@ endif
# test_bug465498.html
# Bug 707777:
# 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
MOCHITEST_FILES += \

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

@ -38,7 +38,6 @@ var gProgressTests = [
// Used by test_played.html
var gPlayedTests = [
{ 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.webm", type:"video/webm", duration:3.966 },
{ name:"gizmo.mp4", type:"video/mp4", duration:5.56 },

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

@ -113,41 +113,8 @@ function onended(e) {
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).");
}
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);
}
}
function onratechange(e) {
if (!e.target.ratechangecount) {
@ -207,7 +174,6 @@ function startTest(test, token) {
element.playbackRate = VERY_SLOW_RATE;
is(element.playbackRate, SLOW_RATE, "PlaybackRate should be clamped to " + SLOW_RATE + ".");
element.play();
is(element.playbackRate, 1.0, "playbackRate should be reset to 1.0 on play() call");
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 -*- */
/* ***** 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
* 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 ***** */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMCSSRule.idl"

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

@ -1192,9 +1192,11 @@ PluginModuleParent::NP_Initialize(NPNetscapeFuncs* bFuncs, NPPluginFuncs* pFuncs
uint32_t flags = 0;
if (!CallNP_Initialize(flags, error)) {
mShutdown = true;
return NS_ERROR_FAILURE;
}
else if (*error != NPERR_NO_ERROR) {
mShutdown = true;
return NS_OK;
}
@ -1220,8 +1222,14 @@ PluginModuleParent::NP_Initialize(NPNetscapeFuncs* bFuncs, NPError* error)
flags |= kAllowAsyncDrawing;
#endif
if (!CallNP_Initialize(flags, error))
if (!CallNP_Initialize(flags, error)) {
mShutdown = true;
return NS_ERROR_FAILURE;
}
if (*error != NPERR_NO_ERROR) {
mShutdown = true;
return NS_OK;
}
#if defined XP_WIN
// 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);
let pluginCopy = pluginDir.clone();
pluginCopy.append("npblah235" + suffix);
pluginFile.moveTo(pluginDir.parent, null);
let tempDir = do_get_tempdir();
pluginFile.moveTo(tempDir, null);
test_expected_permission_string("plugin:npblah");
pluginCopy.moveTo(null, "npasdf-3.2.2" + suffix);

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

@ -50,7 +50,7 @@ function run_test() {
do_throw("Plugin library not found");
const pluginDir = file.parent;
const parentDir = pluginDir.parent;
const tempDir = do_get_tempdir();
const suffix = get_platform_specific_plugin_suffix();
const pluginName = file.leafName.substring(0, file.leafName.length - suffix.length).toLowerCase();
const pluginHost = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
@ -90,7 +90,7 @@ function run_test() {
file.copyTo(null, "nptestcopy" + suffix);
let copy = pluginDir.clone();
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
let testNames = [
@ -109,7 +109,7 @@ function run_test() {
});
// check that the state persists even if the plugin is not always present
copy.moveTo(parentDir, null);
copy.moveTo(tempDir, null);
pluginHost.reloadPlugins(false);
copy.moveTo(pluginDir, null);
pluginHost.reloadPlugins(false);

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

@ -1,38 +1,6 @@
/* ***** 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
* 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 ***** */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "gfxSVGGlyphs.h"

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

@ -1,38 +1,6 @@
/* ***** 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
* 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 ***** */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef 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 -*-
*
* ***** 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
* 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 ***** */
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"

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

@ -3,42 +3,9 @@ License information for hyph_af.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_bg.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_ca.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_cy.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_da.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_de-1901.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,10 @@ License information for hyph_de-1996.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_de-CH.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_eo.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_es.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_et.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_gl.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_hr.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_hsb.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -5,40 +5,7 @@ by processing the TeX hyphenation patterns with substrings.pl.
% Huhyphn - hungarian hyphenation patterns v20110815
%
% ***** 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
% 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 *****
% 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/.
%

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

@ -3,42 +3,9 @@ License information for hyph_ia.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,48 +3,10 @@ License information for hyph_is.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_it.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_kmr.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,10 @@ License information for hyph_la.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,10 @@ License information for hyph_lt.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_mn.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_nl.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,10 @@ License information for hyph_pt.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,10 @@ License information for hyph_ru.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_sh.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_sl.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_sv.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,10 @@ License information for hyph_tr.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -3,42 +3,9 @@ License information for hyph_uk.dic:
This file is based on the TeX hyphenation patterns distributed under the
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
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 *****
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/.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

@ -642,6 +642,8 @@ selfhosting_srcs := \
$(srcdir)/builtin/Number.js \
$(srcdir)/builtin/ParallelArray.js \
$(srcdir)/builtin/String.js \
$(srcdir)/builtin/Set.js \
$(srcdir)/builtin/Map.js \
$(NULL)
selfhosted_out_h_deps := \

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

@ -24,7 +24,7 @@ using namespace js;
#if defined(__i386__)
static __inline__ uint64_t
js::rdtsc(void)
rdtsc(void)
{
uint64_t x;
__asm__ volatile (".byte 0x0f, 0x31" : "=A" (x));
@ -32,7 +32,7 @@ js::rdtsc(void)
}
#elif defined(__x86_64__)
static __inline__ uint64_t
js::rdtsc(void)
rdtsc(void)
{
unsigned hi, lo;
__asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi));
@ -40,7 +40,7 @@ js::rdtsc(void)
}
#elif defined(__powerpc__)
static __inline__ uint64_t
js::rdtsc(void)
rdtsc(void)
{
uint64_t result=0;
uint32_t upper, lower,tmp;
@ -62,26 +62,19 @@ js::rdtsc(void)
#endif
const char* const TraceLogging::type_name[] = {
"start,script",
"stop,script",
"start,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",
"stop,yarr_jit_execute",
"start,jm_safepoint",
"stop,jm_safepoint",
"start,jm_normal",
"stop,jm_normal",
"start,jm_compile",
"stop,jm_compile",
"start,gc",
"stop,gc",
"start,interpreter",
"stop,interpreter"
"start,minor_gc",
"stop,minor_gc",
"info,engine,interpreter",
"info,engine,baseline",
"info,engine,ionmonkey"
};
TraceLogging* TraceLogging::_defaultLogger = NULL;
@ -157,7 +150,7 @@ TraceLogging::log(Type type, const char* file, unsigned int lineno)
void
TraceLogging::log(Type type, JSScript* script)
{
this->log(type, script->filename, script->lineno);
this->log(type, script->filename(), script->lineno);
}
void

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

@ -15,26 +15,19 @@ class TraceLogging
{
public:
enum Type {
SCRIPT_START,
SCRIPT_STOP,
ION_COMPILE_START,
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_STOP,
JM_SAFEPOINT_START,
JM_SAFEPOINT_STOP,
JM_START,
JM_STOP,
JM_COMPILE_START,
JM_COMPILE_STOP,
GC_START,
GC_STOP,
INTERPRETER_START,
INTERPRETER_STOP,
MINOR_GC_START,
MINOR_GC_STOP,
INFO_ENGINE_INTERPRETER,
INFO_ENGINE_BASELINE,
INFO_ENGINE_IONMONKEY,
INFO
};

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

@ -31,7 +31,7 @@ AC_LANG_RESTORE
AC_MSG_RESULT($ac_have_gcc_pr39608)
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
fi
])

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

@ -42,7 +42,7 @@ AC_LANG_RESTORE
if test "$ac_have_llvm_pr8927" = "yes"; then
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 for more information.
exit 1

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

@ -316,7 +316,8 @@ EvalKernel(JSContext *cx, const CallArgs &args, EvalType evalType, AbstractFrame
.setNoScriptRval(false)
.setPrincipals(principals)
.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);
if (!compiled)
return false;
@ -380,7 +381,8 @@ js::DirectEvalFromIon(JSContext *cx,
.setNoScriptRval(false)
.setPrincipals(principals)
.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);
if (!compiled)
return false;

36
js/src/builtin/Map.js Normal file
Просмотреть файл

@ -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("values", values, 0, 0),
JS_FN("clear", clear, 0, 0),
{"forEach", {NULL, NULL}, 2, 0, "MapForEach"},
JS_FS_END
};
@ -1592,6 +1593,7 @@ const JSFunctionSpec SetObject::methods[] = {
JS_FN("delete", delete_, 1, 0),
JS_FN("entries", entries, 0, 0),
JS_FN("clear", clear, 0, 0),
{"forEach", {NULL, NULL}, 2, 0, "SetForEach"},
JS_FS_END
};

36
js/src/builtin/Set.js Normal file
Просмотреть файл

@ -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_has = WeakMap.prototype.has;
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 **********/

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

@ -94,10 +94,6 @@ function ignoreEdgeUse(edge, variable)
var name = callee.Variable.Name[0];
if (/~Anchor/.test(name))
return true;
if (/::Unrooted\(\)/.test(name))
return true;
if (/::~Unrooted\(\)/.test(name))
return true;
if (/~DebugOnly/.test(name))
return true;
}

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

@ -94,6 +94,7 @@ addGCType('JSString');
addGCType('js::Shape');
addGCType('js::BaseShape');
addGCType('JSScript');
addGCType('js::LazyScript');
addGCType('js::ion::IonCode');
addGCPointer('JS::Value');
addGCPointer('jsid');

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

@ -24,20 +24,21 @@ using namespace js::frontend;
using mozilla::Maybe;
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
// JSScript as 32-bits. It could be lifted fairly easily, since the compiler
// is using size_t internally already.
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 true;
}
static bool
SetSourceMap(JSContext *cx, TokenStream &tokenStream, ScriptSource *ss)
SetSourceMap(ExclusiveContext *cx, TokenStream &tokenStream, ScriptSource *ss)
{
if (tokenStream.hasSourceMap()) {
if (!ss->setSourceMap(cx, tokenStream.releaseSourceMap()))
@ -74,13 +75,16 @@ CheckArgumentsWithinEval(JSContext *cx, Parser<FullParseHandler> &parser, Handle
}
static bool
MaybeCheckEvalFreeVariables(JSContext *cx, HandleScript evalCaller, HandleObject scopeChain,
MaybeCheckEvalFreeVariables(ExclusiveContext *cxArg, HandleScript evalCaller, HandleObject scopeChain,
Parser<FullParseHandler> &parser,
ParseContext<FullParseHandler> &pc)
{
if (!evalCaller || !evalCaller->functionOrCallerFunction())
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
// free variables and as variables redeclared with 'var'.
RootedFunction fun(cx, evalCaller->functionOrCallerFunction());
@ -120,16 +124,17 @@ MaybeCheckEvalFreeVariables(JSContext *cx, HandleScript evalCaller, HandleObject
}
inline bool
CanLazilyParse(JSContext *cx, const CompileOptions &options)
CanLazilyParse(ExclusiveContext *cx, const CompileOptions &options)
{
return options.canLazilyParse &&
options.compileAndGo &&
options.sourcePolicy == CompileOptions::SAVE_SOURCE &&
!cx->compartment()->debugMode();
cx->isJSContext() &&
!cx->asJSContext()->compartment()->debugMode();
}
inline void
MaybeCallSourceHandler(JSContext *cx, const CompileOptions &options,
void
frontend::MaybeCallSourceHandler(JSContext *cx, const CompileOptions &options,
const jschar *chars, size_t length)
{
JSSourceHandler listener = cx->runtime()->debugHooks.sourceHandler;
@ -143,7 +148,7 @@ MaybeCallSourceHandler(JSContext *cx, const CompileOptions &options,
}
JSScript *
frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
frontend::CompileScript(ExclusiveContext *cx, LifoAlloc *alloc, HandleObject scopeChain,
HandleScript evalCaller,
const CompileOptions &options,
const jschar *chars, size_t length,
@ -154,7 +159,8 @@ frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
RootedString source(cx, source_);
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
@ -176,11 +182,20 @@ frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
JS::RootedScriptSource sourceObject(cx, ScriptSourceObject::create(cx, ss));
if (!sourceObject)
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) {
case CompileOptions::SAVE_SOURCE:
if (!ss->setSourceCopy(cx, chars, length, false, sct))
if (!ss->setSourceCopy(cx->asJSContext(), chars, length, false, sct))
return NULL;
break;
case CompileOptions::LAZY_SOURCE:
@ -194,14 +209,12 @@ frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
Maybe<Parser<SyntaxParseHandler> > syntaxParser;
if (canLazilyParse) {
syntaxParser.construct(cx, &cx->tempLifoAlloc(),
options, chars, length, /* foldConstants = */ false,
syntaxParser.construct(cx, alloc, options, chars, length, /* foldConstants = */ false,
(Parser<SyntaxParseHandler> *) NULL,
(LazyScript *) NULL);
}
Parser<FullParseHandler> parser(cx, &cx->tempLifoAlloc(),
options, chars, length, /* foldConstants = */ true,
Parser<FullParseHandler> parser(cx, alloc, options, chars, length, /* foldConstants = */ true,
canLazilyParse ? &syntaxParser.ref() : NULL, NULL);
parser.sct = sct;
parser.ss = ss;
@ -327,7 +340,10 @@ frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
if (!FoldConstants(cx, &pn, &parser))
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;
if (!EmitTree(cx, &bce, pn))
@ -354,7 +370,7 @@ frontend::CompileScript(JSContext *cx, HandleObject scopeChain,
bce.tellDebuggerAboutCompiledScript(cx);
if (sct == &mysct && !sct->complete())
if (sct && !extraSct && !sct->complete())
return NULL;
return script;

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

@ -15,12 +15,14 @@ namespace js {
class AutoNameVector;
class LazyScript;
class LifoAlloc;
struct SourceCompressionToken;
namespace frontend {
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,
JSString *source_ = NULL, unsigned staticLevel = 0,
SourceCompressionToken *extraSct = NULL);
@ -32,6 +34,14 @@ bool
CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, CompileOptions options,
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
* 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
EmitFunc(ExclusiveContext *cx, BytecodeEmitter *bce, ParseNode *pn)
{
cx->maybePause();
FunctionBox *funbox = pn->pn_funbox;
RootedFunction fun(cx, funbox->function());
JS_ASSERT_IF(fun->isInterpretedLazy(), fun->lazyScript());
@ -4523,9 +4525,6 @@ EmitFunc(ExclusiveContext *cx, BytecodeEmitter *bce, ParseNode *pn)
.setForEval(false)
.setVersion(parent->getVersion());
if (!cx->shouldBeJSContext())
return false;
Rooted<JSObject*> enclosingScope(cx, EnclosingStaticScope(bce));
Rooted<ScriptSourceObject *> sourceObject(cx, bce->script->sourceObject());
Rooted<JSScript*> script(cx, JSScript::Create(cx, enclosingScope, false, options,

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

@ -20,6 +20,8 @@ AtomThingMapPtr<Map>::ensureMap(ExclusiveContext *cx)
{
if (map_)
return true;
AutoLockForExclusiveAccess lock(cx);
map_ = cx->parseMapPool().acquire<Map>();
return !!map_;
}
@ -30,6 +32,8 @@ AtomThingMapPtr<Map>::releaseMap(ExclusiveContext *cx)
{
if (!map_)
return;
AutoLockForExclusiveAccess lock(cx);
cx->parseMapPool().release(map_);
map_ = NULL;
}
@ -38,6 +42,7 @@ template <typename ParseHandler>
inline bool
AtomDecls<ParseHandler>::init()
{
AutoLockForExclusiveAccess lock(cx);
map = cx->parseMapPool().acquire<AtomDefnListMap>();
return map;
}
@ -46,9 +51,11 @@ template <typename ParseHandler>
inline
AtomDecls<ParseHandler>::~AtomDecls()
{
if (map)
if (map) {
AutoLockForExclusiveAccess lock(cx);
cx->parseMapPool().release(map);
}
}
} /* namespace frontend */
} /* namespace js */

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

@ -2223,6 +2223,8 @@ Parser<ParseHandler>::functionArgsAndBodyGeneric(Node pn, HandleFunction fun, Fu
// function without concern for conversion to strict mode, use of lazy
// parsing and such.
context->maybePause();
Node prelude = null();
bool hasRest;
if (!functionArguments(kind, &prelude, pn, hasRest))

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

@ -8,6 +8,7 @@
#define gc_GCInternals_h
#include "jsapi.h"
#include "jsworkers.h"
#include "vm/Runtime.h"
@ -50,6 +51,7 @@ class AutoTraceSession {
void operator=(const AutoTraceSession&) MOZ_DELETE;
js::HeapState prevState;
AutoPauseWorkersForGC pause;
};
struct AutoPrepareForTracing

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

@ -32,6 +32,7 @@ JS::Zone::Zone(JSRuntime *rt)
gcTriggerBytes(0),
gcHeapGrowthFactor(3.0),
isSystem(false),
usedByExclusiveThread(false),
scheduledForDestruction(false),
maybeAlive(true),
gcMallocBytes(0),

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

@ -186,6 +186,9 @@ struct Zone : private JS::shadow::Zone,
void scheduleGC() {
JS_ASSERT(!rt->isHeapBusy());
/* Note: zones cannot be collected while in use by other threads. */
if (!usedByExclusiveThread)
gcScheduled = true;
}
@ -235,6 +238,9 @@ struct Zone : private JS::shadow::Zone,
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
* manages to outlive a GC.

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

@ -1452,14 +1452,14 @@ class MOZ_STACK_CLASS ModuleCompiler
#ifdef JS_ION_PERF
bool trackPerfProfiledFunction(const Func &func, unsigned endCodeOffset) {
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);
}
bool trackPerfProfiledBlocks(AsmJSPerfSpewer &perfSpewer, const Func &func, unsigned endCodeOffset) {
unsigned startCodeOffset = func.codeLabel()->offset();
unsigned startCodeOffset = func.code()->offset();
perfSpewer.noteBlocksOffsets(masm_);
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
if (PerfBlockEnabled()) {
if (!m.trackPerfProfiledBlocks(mirGen.perfSpewer(), func, m.masm().size()))
if (!m.trackPerfProfiledBlocks(mir.perfSpewer(), func, m.masm().size()))
return false;
} else if (PerfFuncEnabled()) {
if (!m.trackPerfProfiledFunction(func, m.masm().size()))
@ -4871,7 +4871,7 @@ CheckFunctionsSequential(ModuleCompiler &m)
return true;
}
#ifdef JS_PARALLEL_COMPILATION
#ifdef JS_WORKER_THREADS
// State of compilation as tracked and updated by the main thread.
struct ParallelGroupState
{
@ -5063,7 +5063,7 @@ CheckFunctionsParallel(ModuleCompiler &m)
}
return true;
}
#endif // JS_PARALLEL_COMPILATION
#endif // JS_WORKER_THREADS
static bool
CheckFuncPtrTable(ModuleCompiler &m, ParseNode *var)
@ -6311,7 +6311,7 @@ CheckModule(JSContext *cx, AsmJSParser &parser, ParseNode *stmtList,
if (!CheckModuleGlobals(m))
return false;
#ifdef JS_PARALLEL_COMPILATION
#ifdef JS_WORKER_THREADS
if (OffThreadCompilationEnabled(cx)) {
if (!CheckFunctionsParallel(m))
return false;
@ -6369,9 +6369,9 @@ js::CompileAsmJS(JSContext *cx, AsmJSParser &parser, ParseNode *stmtList, bool *
if (!EnsureAsmJSSignalHandlersInstalled(cx->runtime()))
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 (!EnsureParallelCompilationInitialized(cx->runtime()))
if (!EnsureWorkerThreadsInitialized(cx->runtime()))
return Warn(cx, JSMSG_USE_ASM_TYPE_FAIL, "Failed compilation thread initialization");
}
# endif

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

@ -492,7 +492,7 @@ SendFunctionsToPerf(JSContext *cx, AsmJSModule &module)
unsigned long base = (unsigned long) module.functionCode();
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++) {
const AsmJSModule::ProfiledFunction &func = module.perfProfiledFunction(i);
@ -527,7 +527,7 @@ SendBlocksToPerf(JSContext *cx, AsmJSModule &module)
unsigned long funcBaseAddress = (unsigned long) module.functionCode();
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++) {
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);
#if JS_TRACE_LOGGING
TraceLogging::defaultLogger()->log(TraceLogging::INFO_ENGINE_BASELINE);
#endif
// The caller of the top frame must be one of the following:
// OptimizedJS - Ion calling into Ion.
// BaselineStub - Baseline calling into Ion.
@ -1107,6 +1111,12 @@ ion::BailoutIonToBaseline(JSContext *cx, JitActivation *activation, IonBailoutIt
RootedScript scr(cx, iter.script());
AutoValueVector startFrameFormals(cx);
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);
jsbytecode *callPC = NULL;
RootedFunction nextCallee(cx, NULL);

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

@ -84,6 +84,7 @@ BaselineCompiler::compile()
if (status != Method_Compiled)
return status;
if (!emitEpilogue())
return Method_Error;
@ -224,6 +225,11 @@ BaselineCompiler::emitPrologue()
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
// the scope chain is initialized.
prologueOffset_ = masm.currentOffset();
@ -256,6 +262,10 @@ BaselineCompiler::emitEpilogue()
{
masm.bind(&return_);
#if JS_TRACE_LOGGING
masm.tracelogStop();
#endif
// Pop SPS frame if necessary
emitSPSPop();

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

@ -185,6 +185,10 @@ ion::EnterBaselineAtBranch(JSContext *cx, StackFrame *fp, jsbytecode *pc)
data.calleeToken = CalleeToToken(fp->script());
}
#if JS_TRACE_LOGGING
TraceLogging::defaultLogger()->log(TraceLogging::INFO_ENGINE_BASELINE);
#endif
IonExecStatus status = EnterBaseline(cx, data);
if (status != IonExec_Ok)
return status;

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

@ -897,6 +897,10 @@ CodeGenerator::visitOsrEntry(LOsrEntry *lir)
masm.flushBuffer();
setOsrEntryOffset(masm.size());
#if JS_TRACE_LOGGING
masm.tracelogLog(TraceLogging::INFO_ENGINE_IONMONKEY);
#endif
// Allocate the full frame for this function.
uint32_t size = frameSize();
if (size != 0)
@ -5421,6 +5425,11 @@ CodeGenerator::generate()
if (!safepoints_.init(graph.totalSlotCount()))
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.
// This comes before deoptTable_, because we can't use deopt tables without
// creating the actual frame.
@ -5433,10 +5442,21 @@ CodeGenerator::generate()
return false;
}
#if JS_TRACE_LOGGING
Label skip;
masm.jump(&skip);
#endif
// Remember the entry offset to skip the argument check.
masm.flushBuffer();
setSkipArgCheckEntryOffset(masm.size());
#if JS_TRACE_LOGGING
masm.tracelogStart(gen->info().script());
masm.tracelogLog(TraceLogging::INFO_ENGINE_IONMONKEY);
masm.bind(&skip);
#endif
if (!generatePrologue())
return false;
if (!generateBody())

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