Merge branch 'master' into Goanna

This commit is contained in:
Pale Moon
2015-07-19 11:52:37 +02:00
47 changed files with 794 additions and 162 deletions
+23
View File
@@ -993,6 +993,29 @@ nsChromeRegistryChrome::ManifestOverride(ManifestProcessingContext& cx, int line
return;
}
if (cx.mType == NS_SKIN_LOCATION) {
bool chromeSkinOnly = false;
nsresult rv = chromeuri->SchemeIs("chrome", &chromeSkinOnly);
chromeSkinOnly = chromeSkinOnly && NS_SUCCEEDED(rv);
if (chromeSkinOnly) {
rv = resolveduri->SchemeIs("chrome", &chromeSkinOnly);
chromeSkinOnly = chromeSkinOnly && NS_SUCCEEDED(rv);
}
if (chromeSkinOnly) {
nsAutoCString chromePath, resolvedPath;
chromeuri->GetPath(chromePath);
resolveduri->GetPath(resolvedPath);
chromeSkinOnly = StringBeginsWith(chromePath, NS_LITERAL_CSTRING("/skin/")) &&
StringBeginsWith(resolvedPath, NS_LITERAL_CSTRING("/skin/"));
}
if (!chromeSkinOnly) {
LogMessageWithContext(cx.GetManifestURI(), lineno, nsIScriptError::warningFlag,
"Cannot register non-chrome://.../skin/ URIs '%s' and '%s' as overrides and/or to be overridden from a skin manifest.",
chrome, resolved);
return;
}
}
if (!CanLoadResource(resolveduri)) {
LogMessageWithContext(cx.GetManifestURI(), lineno, nsIScriptError::warningFlag,
"Cannot register non-local URI '%s' for an override.", resolved);
+9
View File
@@ -2018,6 +2018,14 @@ GK_ATOM(windows_theme_royale, "windows-theme-royale")
GK_ATOM(windows_theme_zune, "windows-theme-zune")
GK_ATOM(windows_theme_generic, "windows-theme-generic")
// windows version info selector metrics, helpful in removing ambiguity
// in theme selectors.
GK_ATOM(windows_version_xp, "windows-version-xp")
GK_ATOM(windows_version_vista, "windows-version-vista")
GK_ATOM(windows_version_win7, "windows-version-win7")
GK_ATOM(windows_version_win8, "windows-version-win8")
GK_ATOM(windows_version_win10, "windows-version-win10")
// And the same again, as media query keywords.
GK_ATOM(_moz_scrollbar_start_backward, "-moz-scrollbar-start-backward")
GK_ATOM(_moz_scrollbar_start_forward, "-moz-scrollbar-start-forward")
@@ -2034,6 +2042,7 @@ GK_ATOM(_moz_windows_compositor, "-moz-windows-compositor")
GK_ATOM(_moz_windows_classic, "-moz-windows-classic")
GK_ATOM(_moz_windows_glass, "-moz-windows-glass")
GK_ATOM(_moz_windows_theme, "-moz-windows-theme")
GK_ATOM(_moz_os_version, "-moz-os-version")
GK_ATOM(_moz_touch_enabled, "-moz-touch-enabled")
GK_ATOM(_moz_maemo_classic, "-moz-maemo-classic")
GK_ATOM(_moz_menubar_drag, "-moz-menubar-drag")
+15 -4
View File
@@ -6,6 +6,7 @@
#include "mozilla/Util.h"
#include "mozilla/CheckedInt.h"
#include "nsXMLHttpRequest.h"
#include "nsISimpleEnumerator.h"
#include "nsIXPConnect.h"
@@ -667,14 +668,21 @@ nsXMLHttpRequest::AppendToResponseText(const char * aSrcBuffer,
nsresult rv = mDecoder->GetMaxLength(aSrcBuffer, aSrcBufferLen,
&destBufferLen);
NS_ENSURE_SUCCESS(rv, rv);
if (!mResponseText.SetCapacity(mResponseText.Length() + destBufferLen, fallible_t())) {
uint32_t size = mResponseText.Length() + destBufferLen;
// Sanity check
if (size < (uint32_t)destBufferLen) {
return NS_ERROR_OUT_OF_MEMORY;
}
if (!mResponseText.SetCapacity(size, fallible_t())) {
return NS_ERROR_OUT_OF_MEMORY;
}
PRUnichar* destBuffer = mResponseText.BeginWriting() + mResponseText.Length();
int32_t totalChars = mResponseText.Length();
CheckedInt32 totalChars = mResponseText.Length();
// This code here is basically a copy of a similar thing in
// nsScanner::Append(const char* aBuffer, uint32_t aLen).
@@ -687,8 +695,11 @@ nsXMLHttpRequest::AppendToResponseText(const char * aSrcBuffer,
MOZ_ASSERT(NS_SUCCEEDED(rv));
totalChars += destlen;
if (!totalChars.isValid()) {
return NS_ERROR_OUT_OF_MEMORY;
}
mResponseText.SetLength(totalChars);
mResponseText.SetLength(totalChars.value());
return NS_OK;
}
@@ -341,13 +341,6 @@ public:
{
MOZ_ASSERT(aBuffer);
MOZ_ASSERT(NS_IsMainThread());
nsCOMPtr<nsPIDOMWindow> pWindow = do_QueryInterface(mDecodeJob.mContext->GetParentObject());
nsCOMPtr<nsIScriptObjectPrincipal> scriptPrincipal =
do_QueryInterface(pWindow);
if (scriptPrincipal) {
mPrincipal = scriptPrincipal->GetPrincipal();
}
}
NS_IMETHOD Run();
@@ -389,7 +382,6 @@ private:
WebAudioDecodeJob& mDecodeJob;
PhaseEnum mPhase;
nsCOMPtr<nsIThreadPool> mThreadPool;
nsCOMPtr<nsIPrincipal> mPrincipal;
nsRefPtr<BufferDecoder> mBufferDecoder;
nsAutoPtr<MediaDecoderReader> mDecoderReader;
};
@@ -418,9 +410,15 @@ MediaDecodeTask::CreateReader()
{
MOZ_ASSERT(NS_IsMainThread());
nsCOMPtr<nsIPrincipal> principal;
nsCOMPtr<nsIScriptObjectPrincipal> sop = do_QueryInterface(mDecodeJob.mContext->GetParentObject());
if (sop) {
principal = sop->GetPrincipal();
}
nsRefPtr<BufferMediaResource> resource =
new BufferMediaResource(static_cast<uint8_t*> (mBuffer),
mLength, mPrincipal, mContentType);
mLength, principal, mContentType);
MOZ_ASSERT(!mBufferDecoder);
mBufferDecoder = new BufferDecoder(resource);
+4 -2
View File
@@ -102,7 +102,8 @@ ArchiveInputStream::Init()
uint32_t offset = ArchiveZipItem::StrToInt32(mCentral.localhdr_offset);
// The file is corrupt
if (offset + ZIPLOCAL_SIZE > mData.parentSize) {
if (mData.parentSize < ZIPLOCAL_SIZE ||
offset > mData.parentSize - ZIPLOCAL_SIZE) {
return NS_ERROR_UNEXPECTED;
}
@@ -137,7 +138,8 @@ ArchiveInputStream::Init()
ArchiveZipItem::StrToInt16(local.extrafield_len);
// The file is corrupt if there is not enough data
if (offset + mData.sizeToBeRead > mData.parentSize) {
if (mData.parentSize < mData.sizeToBeRead ||
offset > mData.parentSize - mData.sizeToBeRead) {
return NS_ERROR_UNEXPECTED;
}
+16 -21
View File
@@ -425,22 +425,6 @@ public:
rv = ssm->GetChannelPrincipal(channel, getter_AddRefs(channelPrincipal));
NS_ENSURE_SUCCESS(rv, rv);
// See if this is a resource URI. Since JSMs usually come from resource://
// URIs we're currently considering all URIs with the URI_IS_UI_RESOURCE
// flag as valid for creating privileged workers.
if (!nsContentUtils::IsSystemPrincipal(channelPrincipal)) {
bool isResource;
rv = NS_URIChainHasFlags(finalURI,
nsIProtocolHandler::URI_IS_UI_RESOURCE,
&isResource);
NS_ENSURE_SUCCESS(rv, rv);
if (isResource) {
rv = ssm->GetSystemPrincipal(getter_AddRefs(channelPrincipal));
NS_ENSURE_SUCCESS(rv, rv);
}
}
// If the load principal is the system principal then the channel
// principal must also be the system principal (we do not allow chrome
// code to create workers with non-chrome scripts). Otherwise this channel
@@ -448,14 +432,25 @@ public:
// here in case redirects changed the location of the script).
if (nsContentUtils::IsSystemPrincipal(loadPrincipal)) {
if (!nsContentUtils::IsSystemPrincipal(channelPrincipal)) {
return NS_ERROR_DOM_BAD_URI;
// See if this is a resource URI. Since JSMs usually come from
// resource:// URIs we're currently considering all URIs with the
// URI_IS_UI_RESOURCE flag as valid for creating privileged workers.
bool isResource;
rv = NS_URIChainHasFlags(finalURI,
nsIProtocolHandler::URI_IS_UI_RESOURCE,
&isResource);
NS_ENSURE_SUCCESS(rv, rv);
if (isResource) {
// Assign the system principal to the resource:// worker only if it
// was loaded from code using the system principal.
channelPrincipal = loadPrincipal;
} else {
return NS_ERROR_DOM_BAD_URI;
}
}
}
else {
nsCString scheme;
rv = finalURI->GetScheme(scheme);
NS_ENSURE_SUCCESS(rv, rv);
// We exempt data urls and other URI's that inherit their
// principal again.
if (NS_FAILED(loadPrincipal->CheckMayLoad(finalURI, false, true))) {
+28 -11
View File
@@ -116,6 +116,7 @@ public:
bool mLastUploadLengthComputable;
bool mSeenLoadStart;
bool mSeenUploadLoadStart;
bool mOpening;
// Only touched on the main thread.
uint32_t mSyncQueueKey;
@@ -135,7 +136,7 @@ public:
mOuterEventStreamId(0), mOuterChannelId(0), mLastLoaded(0), mLastTotal(0),
mLastUploadLoaded(0), mLastUploadTotal(0), mIsSyncXHR(false),
mLastLengthComputable(false), mLastUploadLengthComputable(false),
mSeenLoadStart(false), mSeenUploadLoadStart(false),
mSeenLoadStart(false), mSeenUploadLoadStart(false), mOpening(false),
mSyncQueueKey(UINT32_MAX),
mSyncEventResponseSyncQueueKey(UINT32_MAX),
mUploadEventListenersAttached(false), mMainThreadSeenLoadStart(false),
@@ -199,7 +200,7 @@ public:
}
void
Teardown();
Teardown(bool aSendUnpin);
bool
AddRemoveEventListeners(bool aUpload, bool aAdd);
@@ -367,7 +368,9 @@ public:
{
AssertIsOnMainThread();
mProxy->Teardown();
// This means the XHR was GCed, so we can't be pinned here,
// and we don't need to try to unpin.
mProxy->Teardown(/* aSendUnpin */ false);
mProxy = nullptr;
return NS_OK;
@@ -857,7 +860,7 @@ public:
{
AssertIsOnMainThread();
mProxy->Teardown();
mProxy->Teardown(/* aSendUnpin */ true);
return NS_OK;
}
@@ -1162,7 +1165,10 @@ public:
variant = wvariant;
}
NS_ASSERTION(!mProxy->mWorkerPrivate, "Should be null!");
// Send() has already been called if this is not null, so bail.
if (mProxy->mWorkerPrivate) {
return NS_ERROR_FAILURE;
}
mProxy->mWorkerPrivate = mWorkerPrivate;
NS_ASSERTION(mProxy->mSyncQueueKey == UINT32_MAX, "Should be unset!");
@@ -1259,7 +1265,7 @@ private:
} // anonymous namespace
void
Proxy::Teardown()
Proxy::Teardown(bool aSendUnpin)
{
AssertIsOnMainThread();
@@ -1272,10 +1278,12 @@ Proxy::Teardown()
mXHR->Abort();
if (mOutstandingSendCount) {
nsRefPtr<XHRUnpinRunnable> runnable =
new XHRUnpinRunnable(mWorkerPrivate, mXMLHttpRequestPrivate);
if (!runnable->Dispatch(nullptr)) {
NS_RUNTIMEABORT("We're going to hang at shutdown anyways.");
if (aSendUnpin) {
nsRefPtr<XHRUnpinRunnable> runnable =
new XHRUnpinRunnable(mWorkerPrivate, mXMLHttpRequestPrivate);
if (!runnable->Dispatch(nullptr)) {
NS_RUNTIMEABORT("We're going to hang at shutdown anyways.");
}
}
mWorkerPrivate = nullptr;
@@ -1650,6 +1658,12 @@ XMLHttpRequest::SendInternal(const nsAString& aStringBody,
ErrorResult& aRv)
{
mWorkerPrivate->AssertIsOnWorkerThread();
// Hold off on send() calls when open is running.
if (mProxy->mOpening) {
aRv.Throw(NS_ERROR_FAILURE);
return;
}
bool hasUploadListeners = mUpload ? mUpload->HasListeners() : false;
@@ -1744,12 +1758,15 @@ XMLHttpRequest::Open(const nsACString& aMethod, const nsAString& aUrl,
mBackgroundRequest, mWithCredentials,
mTimeout);
mProxy->mOpening = true;
if (!runnable->Dispatch(GetJSContext())) {
ReleaseProxy();
mProxy->mOpening = false;
aRv.Throw(NS_ERROR_FAILURE);
return;
}
mProxy->mOpening = false;
mProxy->mIsSyncXHR = !aAsync;
}
+4 -4
View File
@@ -156,13 +156,13 @@ DataSourceSurfaceD2D::DataSourceSurfaceD2D(SourceSurfaceD2D* aSourceSurface)
return;
}
D2D1_RENDER_TARGET_PROPERTIES rtProps = D2D1::RenderTargetProperties(
D2D1_RENDER_TARGET_TYPE_DEFAULT,
D2D1_RENDER_TARGET_PROPERTIES rtProps = D2D1::RenderTargetProperties(
D2D1_RENDER_TARGET_TYPE_DEFAULT,
D2D1::PixelFormat(DXGI_FORMAT_UNKNOWN, D2D1_ALPHA_MODE_PREMULTIPLIED));
RefPtr<ID2D1RenderTarget> renderTarget;
hr = DrawTargetD2D::factory()->CreateDxgiSurfaceRenderTarget(dxgiSurface,
&rtProps,
hr = DrawTargetD2D::factory()->CreateDxgiSurfaceRenderTarget(dxgiSurface,
&rtProps,
byRef(renderTarget));
if (FAILED(hr)) {
gfxWarning() << "Failed to create render target. Code: " << hr;
+5 -2
View File
@@ -65,8 +65,11 @@ DataToTexture(IDirect3DDevice9 *aDevice,
}
tmpTexture->GetSurfaceLevel(0, getter_AddRefs(surface));
surface->LockRect(&lockedRect, NULL, 0);
NS_ASSERTION(lockedRect.pBits, "Could not lock surface");
HRESULT hr = surface->LockRect(&lockedRect, NULL, 0);
if (FAILED(hr) || !lockedRect.pBits) {
NS_WARNING("Imagelayer D3D9: Could not lock surface");
return NULL;
}
} else {
if (FAILED(aDevice->
CreateTexture(aSize.width, aSize.height,
+5 -1
View File
@@ -341,7 +341,11 @@ LayerManagerD3D9::PaintToTarget()
device()->GetRenderTargetData(backBuff, destSurf);
D3DLOCKED_RECT rect;
destSurf->LockRect(&rect, NULL, D3DLOCK_READONLY);
HRESULT hr = destSurf->LockRect(&rect, NULL, D3DLOCK_READONLY);
if (FAILED(hr) || !rect.pBits) {
NS_WARNING("Failed to lock rect in paint to target D3D9");
return;
}
nsRefPtr<gfxImageSurface> imageSurface =
new gfxImageSurface((unsigned char*)rect.pBits,
+4
View File
@@ -108,6 +108,8 @@ static PRLogModuleInfo *sTextrunuiLog = nullptr;
static PRLogModuleInfo *sCmapDataLog = nullptr;
#endif
void InitLayersAccelerationPrefs();
/* Class to listen for pref changes so that chrome code can dynamically
force sRGB as an output profile. See Bug #452125. */
class SRGBOverrideObserver MOZ_FINAL : public nsIObserver,
@@ -328,6 +330,8 @@ gfxPlatform::Init()
mozilla::gl::GLContext::StaticInit();
#endif
InitLayersAccelerationPrefs();
bool useOffMainThreadCompositing = GetPrefLayersOffMainThreadCompositionEnabled() ||
Preferences::GetBool("browser.tabs.remote", false);
useOffMainThreadCompositing &= GetPlatform()->SupportsOffMainThreadCompositing();
+23
View File
@@ -1237,6 +1237,29 @@ InitSystemMetrics()
}
#endif
// OS version metrics, currently only defined for Windows.
if (NS_SUCCEEDED(
LookAndFeel::GetInt(LookAndFeel::eIntID_OperatingSystemVersionIdentifier,
&metricResult))) {
switch(metricResult) {
case LookAndFeel::eOperatingSystemVersion_WindowsXP:
sSystemMetrics->AppendElement(nsGkAtoms::windows_version_xp);
break;
case LookAndFeel::eOperatingSystemVersion_WindowsVista:
sSystemMetrics->AppendElement(nsGkAtoms::windows_version_vista);
break;
case LookAndFeel::eOperatingSystemVersion_Windows7:
sSystemMetrics->AppendElement(nsGkAtoms::windows_version_win7);
break;
case LookAndFeel::eOperatingSystemVersion_Windows8:
sSystemMetrics->AppendElement(nsGkAtoms::windows_version_win8);
break;
case LookAndFeel::eOperatingSystemVersion_Windows10:
sSystemMetrics->AppendElement(nsGkAtoms::windows_version_win10);
break;
}
}
return true;
}
+43
View File
@@ -45,6 +45,20 @@ const WindowsThemeName themeStrings[] = {
{ LookAndFeel::eWindowsTheme_Zune, L"zune" },
{ LookAndFeel::eWindowsTheme_Generic, L"generic" }
};
struct OperatingSystemVersionInfo {
LookAndFeel::OperatingSystemVersion id;
const wchar_t* name;
};
// OS version identities used in the -moz-os-version media query.
const OperatingSystemVersionInfo osVersionStrings[] = {
{ LookAndFeel::eOperatingSystemVersion_WindowsXP, L"windows-xp" },
{ LookAndFeel::eOperatingSystemVersion_WindowsVista, L"windows-vista" },
{ LookAndFeel::eOperatingSystemVersion_Windows7, L"windows-win7" },
{ LookAndFeel::eOperatingSystemVersion_Windows8, L"windows-win8" },
{ LookAndFeel::eOperatingSystemVersion_Windows10, L"windows-win10" }
};
#endif
// A helper for four features below
@@ -327,6 +341,28 @@ GetWindowsTheme(nsPresContext* aPresContext, const nsMediaFeature* aFeature,
return NS_OK;
}
static nsresult
GetOperatinSystemVersion(nsPresContext* aPresContext, const nsMediaFeature* aFeature,
nsCSSValue& aResult)
{
aResult.Reset();
#ifdef XP_WIN
int32_t metricResult;
if (NS_SUCCEEDED(
LookAndFeel::GetInt(LookAndFeel::eIntID_OperatingSystemVersionIdentifier,
&metricResult))) {
for (size_t i = 0; i < ArrayLength(osVersionStrings); ++i) {
if (metricResult == osVersionStrings[i].id) {
aResult.SetStringValue(nsDependentString(osVersionStrings[i].name),
eCSSUnit_Ident);
break;
}
}
}
#endif
return NS_OK;
}
static nsresult
GetIsGlyph(nsPresContext* aPresContext, const nsMediaFeature* aFeature,
nsCSSValue& aResult)
@@ -586,6 +622,13 @@ nsMediaFeatures::features[] = {
{ nullptr },
GetWindowsTheme
},
{
&nsGkAtoms::_moz_os_version,
nsMediaFeature::eMinMaxNotAllowed,
nsMediaFeature::eIdent,
{ nullptr },
GetOperatinSystemVersion
},
{
&nsGkAtoms::_moz_swipe_animation_enabled,
+15 -7
View File
@@ -612,8 +612,13 @@ MOZ_WIN_MEM_TRY_BEGIN
if (!centralOffset)
return NS_ERROR_FILE_CORRUPTED;
//-- Read the central directory headers
buf = startp + centralOffset;
// avoid overflow of startp + centralOffset.
if (buf < startp)
return NS_ERROR_FILE_CORRUPTED;
//-- Read the central directory headers
uint32_t sig = 0;
while (buf + int32_t(sizeof(uint32_t)) <= endp &&
(sig = xtolong(buf)) == CENTRALSIG) {
@@ -627,18 +632,20 @@ MOZ_WIN_MEM_TRY_BEGIN
uint16_t namelen = xtoint(central->filename_len);
uint16_t extralen = xtoint(central->extrafield_len);
uint16_t commentlen = xtoint(central->commentfield_len);
// Point to the next item at the top of loop
buf += ZIPCENTRAL_SIZE + namelen + extralen + commentlen;
uint32_t diff = ZIPCENTRAL_SIZE + namelen + extralen + commentlen;
// Sanity check variable sizes and refuse to deal with
// anything too big: it's likely a corrupt archive.
if (namelen < 1 ||
namelen > kMaxNameLength ||
buf >= endp) {
buf >= buf + diff || // No overflow
buf >= endp - diff) {
return NS_ERROR_FILE_CORRUPTED;
}
// Point to the next item at the top of loop
buf += diff;
nsZipItem* item = CreateZipItem();
if (!item)
return NS_ERROR_OUT_OF_MEMORY;
@@ -769,7 +776,7 @@ MOZ_WIN_MEM_TRY_BEGIN
uint32_t len = mFd->mLen;
const uint8_t* data = mFd->mFileData;
uint32_t offset = aItem->LocalOffset();
if (offset + ZIPLOCAL_SIZE > len)
if (len < ZIPLOCAL_SIZE || offset > len - ZIPLOCAL_SIZE)
return nullptr;
// -- check signature before using the structure, in case the zip file is corrupt
@@ -785,7 +792,8 @@ MOZ_WIN_MEM_TRY_BEGIN
xtoint(Local->extrafield_len);
// -- check if there is enough source data in the file
if (offset + aItem->Size() > len)
if (len < aItem->Size() ||
offset > len - aItem->Size())
return nullptr;
return data + offset;
+2 -2
View File
@@ -839,7 +839,7 @@ pref("security.fileuri.strict_origin_policy", true);
// Allow necko to do A/B testing. Will generally only happen if
// telemetry is also enabled as otherwise there is no way to report
// the results
pref("network.allow-experiments", true);
pref("network.allow-experiments", false);
// Turn off interprocess security checks. Needed to run xpcshell tests.
pref("network.disable.ipc.security", false);
@@ -1507,7 +1507,7 @@ pref("security.notification_enable_delay", 500);
pref("security.csp.enable", true);
pref("security.csp.debug", false);
pref("security.csp.experimentalEnabled", false);
pref("security.csp.experimentalEnabled", true);
// Mixed content blocking
pref("security.mixed_content.block_active_content", false);
@@ -2,16 +2,17 @@
56ct.com: could not connect to host
activiti.alfresco.com: did not receive HSTS header
adamkostecki.de: could not connect to host
adamstas.com: could not connect to host
admin.google.com: did not receive HSTS header (error ignored - included regardless)
adsfund.org: could not connect to host
aes256.ru: could not connect to host
afp548.tk: could not connect to host
agrimap.com: did not receive HSTS header
agrios.de: did not receive HSTS header
airbnb.com: did not receive HSTS header
aiticon.de: did not receive HSTS header
akselimedia.fi: did not receive HSTS header
alpha.irccloud.com: did not receive HSTS header
alecvannoten.be: did not receive HSTS header
alpha.irccloud.com: could not connect to host
alphabit-secure.com: could not connect to host
altmv.com: max-age too low: 7776000
amigogeek.net: could not connect to host
@@ -25,7 +26,7 @@ app.manilla.com: could not connect to host
appengine.google.com: did not receive HSTS header (error ignored - included regardless)
appseccalifornia.org: could not connect to host
arrayify.com: did not receive HSTS header
astaxi.net: could not connect to host
astaxi.net: did not receive HSTS header
at.search.yahoo.com: did not receive HSTS header
atavio.at: could not connect to host
atavio.ch: could not connect to host
@@ -55,24 +56,28 @@ bigshinylock.minazo.net: could not connect to host
bitfarm-archiv.com: did not receive HSTS header
bitfarm-archiv.de: did not receive HSTS header
bitgo.com: max-age too low: 0
bitvigor.com: did not receive HSTS header
bizon.sk: did not receive HSTS header
blacklane.com: did not receive HSTS header
blog.lookout.com: did not receive HSTS header
blubbablasen.de: could not connect to host
bluetenmeer.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
bochs.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
bonigo.de: did not receive HSTS header
br.search.yahoo.com: did not receive HSTS header
braintreepayments.com: did not receive HSTS header
brainvation.de: did not receive HSTS header
bran.cc: could not connect to host
brks.xyz: could not connect to host
browserid.org: did not receive HSTS header
brunosouza.org: could not connect to host
business.medbank.com.mt: did not receive HSTS header
buttercoin.com: did not receive HSTS header
bysymphony.com: did not receive HSTS header
ca.search.yahoo.com: did not receive HSTS header
cake.care: could not connect to host
calibreapp.com: did not receive HSTS header
calyxinstitute.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
carbonmade.com: max-age too low: 2592000
carbonmade.com: max-age too low: 5184000
carlolly.co.uk: could not connect to host
cd.search.yahoo.com: did not receive HSTS header
celltek-server.de: did not receive HSTS header
@@ -88,13 +93,11 @@ chippy.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_
chit.search.yahoo.com: did not receive HSTS header
chm.vn: did not receive HSTS header
chontalpa.pw: did not receive HSTS header
chriswarrick.com: did not receive HSTS header
chrome-devtools-frontend.appspot.com: did not receive HSTS header (error ignored - included regardless)
chrome.google.com: did not receive HSTS header (error ignored - included regardless)
cimballa.com: did not receive HSTS header
cl.search.yahoo.com: did not receive HSTS header
climaprecio.es: did not receive HSTS header
cloudns.com.au: could not connect to host
cn.search.yahoo.com: did not receive HSTS header
co.search.yahoo.com: did not receive HSTS header
code.google.com: did not receive HSTS header (error ignored - included regardless)
@@ -120,12 +123,12 @@ datasnitch.co.uk: could not connect to host
daylightcompany.com: did not receive HSTS header
de.search.yahoo.com: did not receive HSTS header
decibelios.li: did not receive HSTS header
dedeo.tk: max-age too low: 0
destinationbijoux.fr: max-age too low: 2678400
devh.de: did not receive HSTS header
diedrich.co: did not receive HSTS header
digitaldaddy.net: could not connect to host
discovery.lookout.com: did not receive HSTS header
dixmag.com: could not connect to host
dk.search.yahoo.com: did not receive HSTS header
dl.google.com: did not receive HSTS header (error ignored - included regardless)
do.search.yahoo.com: did not receive HSTS header
@@ -134,8 +137,10 @@ domaris.de: did not receive HSTS header
download.jitsi.org: did not receive HSTS header
drive.google.com: did not receive HSTS header (error ignored - included regardless)
dropcam.com: did not receive HSTS header
dymersion.com: did not receive HSTS header
dzlibs.io: could not connect to host
e-aut.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
ebaymotorssucks.com: max-age too low: 0
ecdn.cz: could not connect to host
edelsteincosmetic.com: did not receive HSTS header
edmodo.com: did not receive HSTS header
@@ -160,23 +165,31 @@ fatzebra.com.au: did not receive HSTS header
feminists.co: could not connect to host
festember.com: did not receive HSTS header
fi.search.yahoo.com: did not receive HSTS header
fiftyshadesofluca.ml: could not connect to host
firebaseio.com: could not connect to host
fixingdns.com: did not receive HSTS header
fj.search.yahoo.com: did not receive HSTS header
floweslawncare.com: could not connect to host
floweslawncare.com: did not receive HSTS header
fm83.nl: did not receive HSTS header
fonetiq.io: could not connect to host
foreignexchangeresource.com: did not receive HSTS header
foro.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
fotiu.com: could not connect to host
fr.search.yahoo.com: did not receive HSTS header
fsma.pl: did not receive HSTS header
futos.de: did not receive HSTS header
g2g.com: did not receive HSTS header
gamesdepartment.co.uk: did not receive HSTS header
gaptek.id: did not receive HSTS header
geekandi.com: max-age too low: 7776000
genuxation.com: could not connect to host
getlantern.org: did not receive HSTS header
getssl.uz: could not connect to host
gl.search.yahoo.com: did not receive HSTS header
glass.google.com: did not receive HSTS header (error ignored - included regardless)
gm.search.yahoo.com: did not receive HSTS header
gmail.com: did not receive HSTS header (error ignored - included regardless)
gnetwork.eu: did not receive HSTS header
goodwin43.ru: did not receive HSTS header
googlemail.com: did not receive HSTS header (error ignored - included regardless)
googleplex.com: could not connect to host
@@ -194,12 +207,16 @@ gvt2.com: could not connect to host
gvt2.com: could not connect to host (error ignored - included regardless)
gvt3.com: could not connect to host
gvt3.com: could not connect to host (error ignored - included regardless)
haber1903.com: max-age too low: 0
hangouts.google.com: did not receive HSTS header (error ignored - included regardless)
hatoko.net: could not connect to host
hda.me: did not receive HSTS header
heart.ge: did not receive HSTS header
heijblok.com: could not connect to host
hk.search.yahoo.com: did not receive HSTS header
hn.search.yahoo.com: did not receive HSTS header
hoerbuecher-und-hoerspiele.de: did not receive HSTS header
homa.website: did not receive HSTS header
honeytracks.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
horosho.in: could not connect to host
horseboners.xxx: did not receive HSTS header
@@ -226,6 +243,7 @@ itshost.ru: could not connect to host
izdiwho.com: could not connect to host
j0s.at: did not receive HSTS header
jamesdoylephoto.com: did not receive HSTS header
janoberst.com: could not connect to host
janus-engineering.de: did not receive HSTS header
jelmer.co.uk: could not connect to host
jkb.pics: could not connect to host
@@ -235,20 +253,23 @@ jottit.com: could not connect to host
julian-kipka.de: did not receive HSTS header
justlikethat.hosting: did not receive HSTS header
k-dev.de: could not connect to host
kamikano.com: did not receive HSTS header
kamikano.com: max-age too low: 0
kdm-online.de: did not receive HSTS header
keeley.gq: could not connect to host
keeley.ml: could not connect to host
keepclean.me: could not connect to host
keybase.io: could not connect to host
keymaster.lookout.com: did not receive HSTS header
kirkforcongress.com: could not connect to host
kirkforsenate.com: did not receive HSTS header
kitsta.com: could not connect to host
kiwiirc.com: max-age too low: 5256000
klausbrinch.dk: could not connect to host
klaxn.com: could not connect to host
klaxn.org: could not connect to host
komandakovalchuk.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
koop-bremen.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
korinar.com: could not connect to host
korni22.org: did not receive HSTS header
kr.search.yahoo.com: did not receive HSTS header
krouzkyliduska.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
kryptera.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
@@ -261,7 +282,6 @@ li.search.yahoo.com: did not receive HSTS header
library.linode.com: did not receive HSTS header
libraryfreedomproject.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
lifeguard.aecom.com: max-age too low: 86400
linguaquote.com: did not receive HSTS header
lists.fedoraproject.org: did not receive HSTS header
login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless)
logotype.se: did not receive HSTS header
@@ -282,26 +302,31 @@ market.android.com: did not receive HSTS header (error ignored - included regard
markprof.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
marshut.net: could not connect to host
martijnvhoof.nl: could not connect to host
mattsvensson.com: could not connect to host
mccrypto.de: could not connect to host
mebio.us: did not receive HSTS header
medallia.io: could not connect to host
mediacru.sh: could not connect to host
meetingmanage.nl: did not receive HSTS header
megashur.se: did not receive HSTS header
megaxchange.com: did not receive HSTS header
meinebo.it: could not connect to host
miasarafina.de: did not receive HSTS header
micropple.net: could not connect to host
miketabor.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
minikneet.nl: could not connect to host
minora.io: did not receive HSTS header
mirindadomo.ru: did not receive HSTS header
mirrorx.com: did not receive HSTS header
mistacms.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
mnemotiv.com: could not connect to host
mobilethreat.net: could not connect to host
mobilethreatnetwork.net: could not connect to host
mocloud.eu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
mojapraca.sk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
mqas.net: could not connect to host
mt.search.yahoo.com: did not receive HSTS header
mu.search.yahoo.com: did not receive HSTS header
mustika.cf: max-age too low: 0
mutamatic.com: could not connect to host
mw.search.yahoo.com: did not receive HSTS header
mx.search.yahoo.com: did not receive HSTS header
@@ -314,7 +339,7 @@ myni.io: could not connect to host
neftaly.com: did not receive HSTS header
nemovement.org: did not receive HSTS header
neonisi.com: could not connect to host
netzbit.de: did not receive HSTS header
netzbit.de: could not connect to host
netzpolitik.org: did not receive HSTS header
netztest.at: did not receive HSTS header
newkaliningrad.ru: did not receive HSTS header
@@ -323,18 +348,14 @@ nexth.net: could not connect to host
nexth.us: could not connect to host
ng-security.com: could not connect to host
ni.search.yahoo.com: did not receive HSTS header
nijm.nl: max-age too low: 0
nl.search.yahoo.com: did not receive HSTS header
no.search.yahoo.com: did not receive HSTS header
noexpect.org: could not connect to host
noobs-r-us.co.uk: did not receive HSTS header
np.search.yahoo.com: did not receive HSTS header
npw.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
null-sec.ru: did not receive HSTS header
nwa.xyz: could not connect to host
nz.search.yahoo.com: did not receive HSTS header
nzb.cat: did not receive HSTS header
offshore-firma.org: could not connect to host
onedot.nl: could not connect to host
ooonja.de: could not connect to host
opendesk.cc: did not receive HSTS header
openshift.redhat.com: did not receive HSTS header
@@ -350,6 +371,7 @@ pe.search.yahoo.com: did not receive HSTS header
ph.search.yahoo.com: did not receive HSTS header
phcorner.net: max-age too low: 0
phurl.de: could not connect to host
pieterhordijk.com: could not connect to host
piratenlogin.de: could not connect to host
pisidia.de: did not receive HSTS header
pk.search.yahoo.com: did not receive HSTS header
@@ -372,9 +394,8 @@ rasing.me: could not connect to host
redlatam.org: did not receive HSTS header
redports.org: did not receive HSTS header
regar42.fr: could not connect to host
reishunger.de: did not receive HSTS header
reserve-online.net: did not receive HSTS header
rid-wan.com: max-age too low: 0
rika.me: could not connect to host
riseup.net: did not receive HSTS header
rme.li: did not receive HSTS header
ro.search.yahoo.com: did not receive HSTS header
@@ -383,9 +404,9 @@ roddis.net: did not receive HSTS header
ru.search.yahoo.com: did not receive HSTS header
rw.search.yahoo.com: did not receive HSTS header
sah3.net: could not connect to host
sanatfilan.com: could not connect to host
saturngames.co.uk: could not connect to host
savetheinternet.eu: did not receive HSTS header
schoop.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
script.google.com: did not receive HSTS header (error ignored - included regardless)
sdsl-speedtest.de: could not connect to host
se.search.yahoo.com: did not receive HSTS header
@@ -409,10 +430,12 @@ sistemy48.ru: did not receive HSTS header
sites.google.com: did not receive HSTS header (error ignored - included regardless)
smartlend.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
soccergif.com: could not connect to host
sockeye.cc: did not receive HSTS header
sol.io: could not connect to host
souyar.de: could not connect to host
souyar.net: could not connect to host
souyar.us: could not connect to host
spartantheatre.org: did not receive HSTS header
spdysync.com: did not receive HSTS header
spreadsheets.google.com: did not receive HSTS header (error ignored - included regardless)
square.com: did not receive HSTS header
@@ -420,13 +443,12 @@ ssl.google-analytics.com: did not receive HSTS header (error ignored - included
ssl.panoramio.com: did not receive HSTS header
stillyarts.com: did not receive HSTS header
stocktrade.de: could not connect to host
streamingmagazin.de: did not receive HSTS header
streamingmagazin.de: could not connect to host
suite73.org: could not connect to host
sunshinepress.org: could not connect to host
surfeasy.com: did not receive HSTS header
suzukikenichi.com: did not receive HSTS header
sv.search.yahoo.com: did not receive HSTS header
syzygy-tables.info: did not receive HSTS header
t.facebook.com: did not receive HSTS header
tablet.facebook.com: did not receive HSTS header
taglondon.org: did not receive HSTS header
@@ -435,31 +457,32 @@ talk.google.com: could not connect to host (error ignored - included regardless)
tallr.se: could not connect to host
tandarts-haarlem.nl: did not receive HSTS header
tapka.cz: did not receive HSTS header
taxsquirrel.com: could not connect to host
tc-bonito.de: did not receive HSTS header
tdrs.info: could not connect to host
tektoria.de: did not receive HSTS header
tektoria.de: could not connect to host
temehu.com: did not receive HSTS header
temp.pm: did not receive HSTS header
terrax.berlin: could not connect to host
terrax.info: could not connect to host
terrax.net: could not connect to host
th.search.yahoo.com: did not receive HSTS header
the-sky-of-valkyries.com: could not connect to host
therapyportal.com: did not receive HSTS header
theshadestore.com: did not receive HSTS header
thomasgriffin.io: did not receive HSTS header
thomasgriffin.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
thorncreek.net: did not receive HSTS header
tipsyk.ru: did not receive HSTS header
tirex.media: did not receive HSTS header
titties.ml: did not receive HSTS header
tobias-kluge.de: did not receive HSTS header
tollmanz.com: did not receive HSTS header
tomfisher.eu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
tr.search.yahoo.com: did not receive HSTS header
tradingcentre.com.au: did not receive HSTS header
translate.googleapis.com: did not receive HSTS header (error ignored - included regardless)
translatoruk.co.uk: did not receive HSTS header
travador.com: did not receive HSTS header
triop.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
tuturulianda.com: did not receive HSTS header
tuxgeo.com: did not receive HSTS header
tv.search.yahoo.com: could not connect to host
tw.search.yahoo.com: did not receive HSTS header
tzappa.net: did not receive HSTS header
@@ -479,6 +502,7 @@ vhost.co.id: could not connect to host
viennan.net: did not receive HSTS header
vn.search.yahoo.com: did not receive HSTS header
vyncke.org: max-age too low: 2678400
vzk.io: could not connect to host
webeau.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
webmail.mayfirst.org: did not receive HSTS header
when-release.com: did not receive HSTS header
@@ -491,6 +515,7 @@ www.calyxinstitute.org: [Exception... "Component returned failure code: 0x800040
www.cueup.com: could not connect to host
www.developer.mydigipass.com: could not connect to host
www.elanex.biz: did not receive HSTS header
www.etsy.com: did not receive HSTS header
www.gmail.com: did not receive HSTS header (error ignored - included regardless)
www.googlemail.com: did not receive HSTS header (error ignored - included regardless)
www.greplin.com: could not connect to host
@@ -509,9 +534,12 @@ xtream-hosting.com: could not connect to host
xtream-hosting.de: could not connect to host
xtream-hosting.eu: could not connect to host
xtreamhosting.eu: could not connect to host
yokeepo.com: max-age too low: 0
za.search.yahoo.com: did not receive HSTS header
zarooba.com: did not receive HSTS header
zeitpunkt-kulturmagazin.de: did not receive HSTS header
zenpayroll.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 134" data: no]
zeplin.io: did not receive HSTS header
zh.search.yahoo.com: did not receive HSTS header
zixiao.wang: could not connect to host
zoo24.de: could not connect to host
File diff suppressed because it is too large Load Diff
+16 -1
View File
@@ -144,6 +144,20 @@ ec_GFp_pt_add_jac_aff(const mp_int *px, const mp_int *py, const mp_int *pz,
MP_CHECKOK(group->meth->field_sub(&A, px, &C, group->meth));
MP_CHECKOK(group->meth->field_sub(&B, py, &D, group->meth));
if (mp_cmp_z(&C) == 0) {
/* P == Q or P == -Q */
if (mp_cmp_z(&D) == 0) {
/* P == Q */
/* It is cheaper to double (qx, qy, 1) than (px, py, pz). */
MP_DIGIT(&D, 0) = 1; /* Set D to 1. */
MP_CHECKOK(ec_GFp_pt_dbl_jac(qx, qy, &D, rx, ry, rz, group));
} else {
/* P == -Q */
MP_CHECKOK(ec_GFp_pt_set_inf_jac(rx, ry, rz));
}
goto CLEANUP;
}
/* C2 = C^2, C3 = C^3 */
MP_CHECKOK(group->meth->field_sqr(&C, &C2, group->meth));
MP_CHECKOK(group->meth->field_mul(&C, &C2, &C3, group->meth));
@@ -205,7 +219,8 @@ ec_GFp_pt_dbl_jac(const mp_int *px, const mp_int *py, const mp_int *pz,
MP_CHECKOK(mp_init(&M));
MP_CHECKOK(mp_init(&S));
if (ec_GFp_pt_is_inf_jac(px, py, pz) == MP_YES) {
/* P == inf or P == -P */
if (ec_GFp_pt_is_inf_jac(px, py, pz) == MP_YES || mp_cmp_z(py) == 0) {
MP_CHECKOK(ec_GFp_pt_set_inf_jac(rx, ry, rz));
goto CLEANUP;
}
@@ -29,6 +29,7 @@ locale status4evar pl chrome/locale/pl/
locale status4evar pt-PT chrome/locale/pt-PT/
locale status4evar ro-RO chrome/locale/ro-RO/
locale status4evar ru chrome/locale/ru/
locale status4evar sl chrome/locale/sl/
locale status4evar sv-SE chrome/locale/sv-SE/
locale status4evar tr chrome/locale/tr/
locale status4evar zh-CN chrome/locale/zh-CN/
@@ -1,6 +1,6 @@
# Translator names. If there is more than one, separate with commas. Only include your name, not the locale you're translating.
translator=Michel Gagnon
translator=Moonchild,Jojaba
# Extension title. This usually should not be translated.
name=Barre détat Pale Moon
name=Pale Moon barre d'état
# Extension description. This is displayed in the add-on manager.
description=Fonctions de la barre détat de Pale Moon
description=Outils indiquant l'état pour Pale Moon
@@ -1,6 +1,6 @@
<!ENTITY status4evar.status.widget.title "Texte d'état">
<!ENTITY status4evar.progress.widget.title "Barre de progression">
<!ENTITY status4evar.download.widget.title "État du téléchargement">
<!ENTITY status4evar.options.widget.title "Options de la barre détat Pale Moon">
<!ENTITY status4evar.options.widget.label "Barre détat Pale Moon">
<!ENTITY status4evar.menu.options.label "Options de la barre détat...">
<!ENTITY status4evar.options.widget.title "Options de Pale Moon barre d'état">
<!ENTITY status4evar.options.widget.label "Pale Moon barre d'état">
<!ENTITY status4evar.menu.options.label "Options de barre d'état...">
@@ -8,4 +8,4 @@ nv_done=Effectué
nv_stopped=Arrêté
nv_timeout=Hors délai
# Should be the same as status4evar.status.widget.title
statusText=Texte détat
statusText=Texte d'état
@@ -74,7 +74,7 @@
<!ENTITY status4evar.editor.css.image.repeat "Répéter">
<!ENTITY status4evar.editor.css.image.position "Position">
<!ENTITY status4evar.editor.css.image.offset "Décalage">
<!ENTITY status4evar.download.button.action.label "Download status button action:">
<!ENTITY status4evar.download.button.action.label "Action du bouton d'état de téléchargement :">
<!ENTITY status4evar.download.force.label "Toujours afficher le bouton d’état de téléchargement">
<!ENTITY status4evar.download.label.force.label "Toujours afficher le texte">
<!ENTITY status4evar.download.label.label "Texte du bouton d’état de téléchargement :">
@@ -1,3 +1,3 @@
simpleEditorTitle=Basculer vers léditeur simple
simpleEditorMessage=Léditeur simple ne peut pas éditer votre style actuel. Souhaitez-vous supprimer votre style ?
simpleEditorTitle=Basculer vers l'éditeur basique
simpleEditorMessage=L'éditeur basique ne peut pas éditer votre style actuel. Souhaitez-vous supprimer votre style ?
imageSelectTitle=Choisir un fichier image
@@ -1,9 +1,6 @@
# Translator names. If there is more than one, separate with commas. Only include your name, not the locale you're translating.
translator=Дмитрий Черкасов (на базе перевода Пирятинского Виталия)
translator=Дмитрий Черкасов (на базе перевода Пирятинского Виталия), Александр аКа LeonSK
# Extension title. This usually should not be translated.
name=Pale Moon status bar
name=Панель состояния Pale Moon
# Extension description. This is displayed in the add-on manager.
description=Строка состояния для Pale Moon
description=Панель состояния для Pale Moon
@@ -1,7 +1,6 @@
<!ENTITY status4evar.status.widget.title "Текст сообщения">
<!ENTITY status4evar.status.widget.title "Текст сообщения">
<!ENTITY status4evar.progress.widget.title "Индикатор выполнения">
<!ENTITY status4evar.download.widget.title "Состояние загрузок">
<!ENTITY status4evar.options.widget.title "Настройки Pale Moon status bar ">
<!ENTITY status4evar.options.widget.label "Pale Moon status bar">
<!ENTITY status4evar.menu.options.label "Настройки Status bar...">
<!ENTITY status4evar.options.widget.title "Настройки панели состояния Pale Moon">
<!ENTITY status4evar.options.widget.label "Панель состояния Pale Moon">
<!ENTITY status4evar.menu.options.label "Настройки панели состояния...">
@@ -1,15 +1,11 @@
# The #1 gets replaced with the number of active downloads. This is a semicolon list of plural forms: http://developer.mozilla.org/en/docs/Localization_and_Plurals
activeDownloads=Одна активная загрузка;#1 активных загрузки;#1 активных загрузок
# The #1 gets replaced with the number of paused downloads. This is a semicolon list of plural forms: http://developer.mozilla.org/en/docs/Localization_and_Plurals
pausedDownloads=Одна остановленная загрузка;#1 остановленных загрузки;#1 остановленных загрузок
noDownloads=Нет загрузок
activeDownloads=Одна активная загрузка;#1 активных загрузки;#1 активных загрузок
# Page load progress strings. These should match the strings that Firefox has been using.
pausedDownloads=Одна остановленная загрузка;#1 остановленных загрузки;#1 остановленных загрузок
noDownloads=Нет загрузок
# Should be the same as status4evar.status.widget.title
nv_done=Готово
nv_stopped=Готово
nv_stopped=Остановлено
nv_timeout=Истекло
# Should be the same as status4evar.status.widget.title
statusText=Текст сообщения
@@ -1,17 +1,17 @@
<!ENTITY status4evar.window.title "Pale Moon status bar preferences">
<!ENTITY status4evar.pane.status "Сообщения">
<!ENTITY status4evar.window.title "Настройки Панели Состояния Pale Moon">
<!ENTITY status4evar.pane.status "Статус">
<!ENTITY status4evar.pane.progress "Индикатор">
<!ENTITY status4evar.pane.download "Загрузки">
<!ENTITY status4evar.pane.addonbar "Панель дополнений">
<!ENTITY status4evar.pane.addonbar "Панель состояния">
<!ENTITY status4evar.pane.advanced "Расширенные">
<!ENTITY status4evar.tab.general "Общие">
<!ENTITY status4evar.tab.toolbar "Панель иснтрументов">
<!ENTITY status4evar.tab.toolbar "Панель состояния">
<!ENTITY status4evar.tab.urlbar "Адресная строка">
<!ENTITY status4evar.tab.popup "Всплывающая">
<!ENTITY status4evar.tab.tabs "Вкладки">
<!ENTITY status4evar.option.none "не показывать">
<!ENTITY status4evar.option.nothing "Ничего">
<!ENTITY status4evar.option.toolbar "в панели инструментов">
<!ENTITY status4evar.option.toolbar "в панели состояния">
<!ENTITY status4evar.option.urlbar "в адресной строке">
<!ENTITY status4evar.option.popup "во всплывающей строке">
<!ENTITY status4evar.option.tooltip "Всплывающая подсказка">
@@ -57,13 +57,13 @@
<!ENTITY status4evar.status.urlbar.color.label "Цвет текста:">
<!ENTITY status4evar.status.currentUrl "Адрес страницы">
<!ENTITY status4evar.status.statusText "Сообщение">
<!ENTITY status4evar.status.firefox.compat.caption "Особенности Firefox">
<!ENTITY status4evar.status.firefox.compat.caption "Особенности совместимости Firefox">
<!ENTITY browser.urlbar.formatting.enabled.label "Включить подсветку домена">
<!ENTITY browser.urlbar.trimming.enabled.label "Включить скрытие протокола (http:// и ftp://)">
<!ENTITY browser.urlbar.autofill.enabled.label "Включить автозавершение ссылки">
<!ENTITY status4evar.status.popup.invertMirror.label "По умолчанию прижимать к правой стороне">
<!ENTITY status4evar.status.popup.mouseMirror.label "Обратный порядок при наведении мыши">
<!ENTITY status4evar.status.popup.findMirror.label "Start on the opposite side when the Find Bar is open">
<!ENTITY status4evar.status.popup.findMirror.label "Начать с противоположной стороны, когда открыта панель поиска">
<!ENTITY status4evar.progress.style.label "Собственный стиль индикатора">
<!ENTITY status4evar.progress.urlbar.enable.label "Показывать индикатор в адресной строке">
<!ENTITY status4evar.progress.urlbar.line.label "Стиль:">
@@ -1,4 +1,3 @@
simpleEditorTitle=Переключиться на простой редактор
simpleEditorMessage=Простой редактор не можете редактировать существущий стиль. Вы хотите сбросить ваш стиль?
simpleEditorTitle=Переключиться на простой редактор
simpleEditorMessage=Простой редактор не может редактировать существующий стиль. Вы хотите сбросить ваш стиль?
imageSelectTitle=Выберите файл изображения
@@ -0,0 +1,6 @@
# Translator names. If there is more than one, separate with commas. Only include your name, not the locale you're translating.
translator=Damjan Gerl
# Extension title. This usually should not be translated.
name=Pale Moon statusna vrstica
# Extension description. This is displayed in the add-on manager.
description=Funkcionalnost statusne vrstice za Pale Moon
@@ -0,0 +1,6 @@
<!ENTITY status4evar.status.widget.title "Tekst statusa">
<!ENTITY status4evar.progress.widget.title "Stanje napredka">
<!ENTITY status4evar.download.widget.title "Status prenosov">
<!ENTITY status4evar.options.widget.title "Možnosti Pale Moon statusne vrstice">
<!ENTITY status4evar.options.widget.label "Pale Moon statusna vrstica">
<!ENTITY status4evar.menu.options.label "Možnosti statusne vrstice …">
@@ -0,0 +1,11 @@
# The #1 gets replaced with the number of active downloads. This is a semicolon list of plural forms: http://developer.mozilla.org/en/docs/Localization_and_Plurals
activeDownloads=1 aktivni prenos;#1 aktivna prenosa;#1 aktivni prenosi;#1 aktivnih prenosov
# The #1 gets replaced with the number of paused downloads. This is a semicolon list of plural forms: http://developer.mozilla.org/en/docs/Localization_and_Plurals
pausedDownloads=1 zaustavljen prenos;#1 zaustavljena prenosa;#1 zaustavljeni prenosi;#1 zaustavljenih prenosov
noDownloads=Ni prenosov
# Page load progress strings. These should match the strings that Firefox has been using.
nv_done=Končano
nv_stopped=Ustavljeno
nv_timeout=Čas potekel
# Should be the same as status4evar.status.widget.title
statusText=Statusni tekst
@@ -0,0 +1,97 @@
<!ENTITY status4evar.window.title "Pale Moon nastavitve statusne vrstice">
<!ENTITY status4evar.pane.status "Status">
<!ENTITY status4evar.pane.progress "Napredek">
<!ENTITY status4evar.pane.download "Prenos">
<!ENTITY status4evar.pane.addonbar "Statusna vrstica">
<!ENTITY status4evar.pane.advanced "Napredno">
<!ENTITY status4evar.tab.general "Splošno">
<!ENTITY status4evar.tab.toolbar "Statusna vrstica">
<!ENTITY status4evar.tab.urlbar "Naslovna vrstica">
<!ENTITY status4evar.tab.popup "Pojavno okno">
<!ENTITY status4evar.tab.tabs "Zavihki">
<!ENTITY status4evar.option.none "Noben">
<!ENTITY status4evar.option.nothing "Nič">
<!ENTITY status4evar.option.toolbar "Orodna vrstica">
<!ENTITY status4evar.option.urlbar "Naslovna vrstica">
<!ENTITY status4evar.option.popup "Pojavno okno">
<!ENTITY status4evar.option.tooltip "Zaslonski namig">
<!ENTITY status4evar.option.bottom "Spodaj">
<!ENTITY status4evar.option.top "Na vrhu">
<!ENTITY status4evar.option.fill "Polnilo">
<!ENTITY status4evar.option.dlcount "Število prenosov">
<!ENTITY status4evar.option.dltime "Preostali čas">
<!ENTITY status4evar.option.both "Oba">
<!ENTITY status4evar.option.right "Desno">
<!ENTITY status4evar.option.left "Levo">
<!ENTITY status4evar.option.fixed "Fiksno">
<!ENTITY status4evar.option.simple "Enostavno">
<!ENTITY status4evar.option.advanced "Napredno">
<!ENTITY status4evar.option.browse "Brskanje">
<!ENTITY status4evar.option.clear "Počisti">
<!ENTITY status4evar.option.center "Na sredo">
<!ENTITY status4evar.option.offset "Odmik">
<!ENTITY status4evar.option.repeat "Ponovi">
<!ENTITY status4evar.option.no-repeat "Ni ponavljanja">
<!ENTITY status4evar.option.space "Presledki">
<!ENTITY status4evar.option.round "Okroglo">
<!ENTITY status4evar.option.firefoxdefault "Pale Moon privzeto">
<!ENTITY status4evar.option.download.panel "Plošča">
<!ENTITY status4evar.option.download.library "Knjižnica">
<!ENTITY status4evar.option.download.classic "Klasični">
<!ENTITY status4evar.unit.milliseconds "milisekund">
<!ENTITY status4evar.unit.seconds "sekund">
<!ENTITY status4evar.unit.px "px">
<!ENTITY status4evar.status.general.status.caption "Statusno besedilo">
<!ENTITY status4evar.status.label "Prikaži status v:">
<!ENTITY status4evar.status.timeout.label "Skrij stanje po">
<!ENTITY status4evar.status.default.label "Prikaži privzeto stanje">
<!ENTITY status4evar.status.network.label "Pokaži status omrežja">
<!ENTITY status4evar.status.network.xhr.label "Prikaži ozadje stanja omrežja">
<!ENTITY toolkit.dom.status.change.label "Dovoli da spletne strani spremenijo status">
<!ENTITY status4evar.status.general.linkOver.caption "Povezave">
<!ENTITY status4evar.status.linkOver.label "Prikaži povezave v:">
<!ENTITY status4evar.status.linkOver.delay.show.label "Zakasnitev prikazovanja povezave:">
<!ENTITY status4evar.status.linkOver.delay.hide.label "Zakasnitev skrivanja povezave:">
<!ENTITY status4evar.status.toolbar.maxLength.label "Maksimalna dolžina statusnega teksta:">
<!ENTITY status4evar.status.urlbar.align.label "Poravnava statusa:">
<!ENTITY status4evar.status.urlbar.color.label "Barva statusa:">
<!ENTITY status4evar.status.currentUrl "Trenutna lokacija">
<!ENTITY status4evar.status.statusText "Statusno besedilo">
<!ENTITY status4evar.status.firefox.compat.caption "Lastnosti združljivosti za Firefox">
<!ENTITY browser.urlbar.formatting.enabled.label "Omogoči poudarjanje domen">
<!ENTITY browser.urlbar.trimming.enabled.label "Omogoči skrivanje protokola (http:// in ftp://)">
<!ENTITY browser.urlbar.autofill.enabled.label "Omogoči samodokončanje URL-jev">
<!ENTITY status4evar.status.popup.invertMirror.label "Privzeto na desni strani">
<!ENTITY status4evar.status.popup.mouseMirror.label "Zamenjava strani, ko gre miška čez">
<!ENTITY status4evar.status.popup.findMirror.label "Začni na nasprotni strani, ko je odprta iskalna vrstica">
<!ENTITY status4evar.progress.style.label "Uporabi slog po meri">
<!ENTITY status4evar.progress.urlbar.enable.label "Pokaži napredek v naslovni vrstici">
<!ENTITY status4evar.progress.urlbar.line.label "Slog črte:">
<!ENTITY status4evar.progress.toolbar.force.label "Vedno pokaži element statusne vrstice">
<!ENTITY status4evar.editor.label "Urejevalnik:">
<!ENTITY status4evar.editor.css.color.label "Barva:">
<!ENTITY status4evar.editor.css.image.label "Slika:">
<!ENTITY status4evar.editor.css.image.repeat "Ponovi">
<!ENTITY status4evar.editor.css.image.position "Položaj">
<!ENTITY status4evar.editor.css.image.offset "Odmik">
<!ENTITY status4evar.download.button.action.label "Dejanje gumba statusa prenosa:">
<!ENTITY status4evar.download.force.label "Vedno pokaži Indikator statusa prenosa">
<!ENTITY status4evar.download.label.force.label "Vedno pokaži tekst gumba">
<!ENTITY status4evar.download.label.label "Tekst indikatorja statusa prenosa:">
<!ENTITY status4evar.download.tooltip.label "Zaslonski namig indikatorja statusa prenosa:">
<!ENTITY status4evar.download.progress.label "Prikaži potek prenosa na kazalnik">
<!ENTITY status4evar.download.progress.average.label "Prikaži povprečno dokončanje prenosa">
<!ENTITY status4evar.download.progress.max.label "Prikaši najbolj dokončan prenos">
<!ENTITY status4evar.download.progress.min.label "Prikaži zadnji dokončan prenos">
<!ENTITY status4evar.download.color.active.label "Barva napredka za aktivne prenose:">
<!ENTITY status4evar.download.color.paused.label "Barva napredka za zaustavljene prenose:">
<!ENTITY status4evar.download.notify.animate.label "Animirati gumb, ko je prenos končan">
<!ENTITY status4evar.download.notify.timeout.label "Označiti gumb ko je prenos končan:">
<!ENTITY status4evar.addonbar.borderStyle "Uporabi alternativne robove orodne vrstice">
<!ENTITY status4evar.addonbar.windowGripper "Prikaži prijemalo za spreminjanje velikosti okna">
<!ENTITY status4evar.addonbar.closeButton "Prikaži gumb za zaprtje">
<!ENTITY status4evar.advanced.warning "Te napredne nastavitve lahko povzročajo težave s Status-4-evar ali drugimi razširitvami. Spreminjate na lastno odgovornost.">
<!ENTITY status4evar.advanced.urlbar.forceBinding "Poskusi na silo vezati naslovno vrstico XBL.">
<!ENTITY status4evar.advanced.urlbar.forceBinding.desc "Izberite to, samo če imate težave z napredkom naslovne vrstice ali statusni tekst ni pravilno prikaz. To bo lahko povzroča probleme drugim razširitvam, ki poskušajo vezati XBL na naslovno vrstico.">
<!ENTITY status4evar.advanced.status.detectFullScreen "Zaznaj celozaslonski način in pokaži povezave/stanje za to primerno.">
<!ENTITY toolkit.classic.download.window.label "Uporabi klasično okno za prenose">
@@ -0,0 +1,3 @@
simpleEditorTitle=Preklop na preprost urejevalnik
simpleEditorMessage=Preprost urejevalnik ne more urediti vašega trenutnega sloga. Ali želite zavreči vaš slog?
imageSelectTitle=Izbira slike
@@ -12,7 +12,7 @@
<em:name>Pale Moon status bar</em:name>
<em:description>Status bar functionality for Pale Moon</em:description>
<em:id>statusbar@palemoon.org</em:id>
<em:version>5.3.0</em:version>
<em:version>5.4.0</em:version>
<em:creator>Moonchild/Sparky Bluefang</em:creator>
<em:type>2</em:type>
<em:optionsURL>chrome://status4evar/content/prefs.xul</em:optionsURL>
+3
View File
@@ -1479,6 +1479,9 @@
this._quickFindTimeout = null;
}
this.toggleHighlight(false);
this.getElement("highlight").checked = false;
this._findFailedString = null;
]]></body>
</method>
@@ -3,4 +3,4 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
notFoundWarning=The text you entered was not found.
notFoundTitle=Find
notFoundTitle=Find
@@ -43,12 +43,19 @@ resumePausedAfterCloseMsg=You have paused downloading this update. Do you want t
updaterIOErrorTitle=Software Update Failed
updaterIOErrorMsg=The update could not be installed. Please make sure there are no other copies of %S running on your computer, and then restart %S to try again.
okButton=OK
okButton.accesskey=
askLaterButton=Ask Later
askLaterButton.accesskey=
noThanksButton=No Thanks
noThanksButton.accesskey=
updateButton_minor=Update %S
updateButton_minor.accesskey=
updateButton_major=Get the New Version
updateButton_major.accesskey=
backButton=Back
backButton.accesskey=
acceptTermsButton=Accept Terms
acceptTermsButton.accesskey=
# NOTE: The restartLaterButton string is also used in
# mozapps/extensions/content/blocklist.js
restartLaterButton=Restart Later
+16
View File
@@ -352,6 +352,10 @@ public:
*/
eIntID_WindowsThemeIdentifier,
/**
* Return an appropriate OS version identifier.
*/
eIntID_OperatingSystemVersionIdentifier,
/**
* 0: scrollbar button repeats to scroll only when cursor is on the button.
* 1: scrollbar button repeats to scroll even if cursor is outside of it.
*/
@@ -389,6 +393,18 @@ public:
eWindowsTheme_Zune,
eWindowsTheme_AeroLite
};
/**
* Operating System versions.
*/
enum OperatingSystemVersion {
eOperatingSystemVersion_WindowsXP = 0,
eOperatingSystemVersion_WindowsVista,
eOperatingSystemVersion_Windows7,
eOperatingSystemVersion_Windows8,
eOperatingSystemVersion_Windows10,
eOperatingSystemVersion_Unknown
};
enum {
eScrollArrow_None = 0,
+1
View File
@@ -398,6 +398,7 @@ nsLookAndFeel::GetIntImpl(IntID aID, int32_t &aResult)
case eIntID_WindowsDefaultTheme:
case eIntID_MaemoClassic:
case eIntID_WindowsThemeIdentifier:
case eIntID_OperatingSystemVersionIdentifier:
aResult = 0;
rv = NS_ERROR_NOT_IMPLEMENTED;
break;
+1
View File
@@ -379,6 +379,7 @@ nsLookAndFeel::GetIntImpl(IntID aID, int32_t &aResult)
case eIntID_TouchEnabled:
case eIntID_MaemoClassic:
case eIntID_WindowsThemeIdentifier:
case eIntID_OperatingSystemVersionIdentifier:
aResult = 0;
res = NS_ERROR_NOT_IMPLEMENTED;
break;
+1
View File
@@ -355,6 +355,7 @@ nsLookAndFeel::GetIntImpl(IntID aID, int32_t &aResult)
case eIntID_WindowsDefaultTheme:
case eIntID_MaemoClassic:
case eIntID_WindowsThemeIdentifier:
case eIntID_OperatingSystemVersionIdentifier:
aResult = 0;
rv = NS_ERROR_NOT_IMPLEMENTED;
break;
+1
View File
@@ -625,6 +625,7 @@ nsLookAndFeel::GetIntImpl(IntID aID, int32_t &aResult)
case eIntID_WindowsClassic:
case eIntID_WindowsDefaultTheme:
case eIntID_WindowsThemeIdentifier:
case eIntID_OperatingSystemVersionIdentifier:
aResult = 0;
res = NS_ERROR_NOT_IMPLEMENTED;
break;
+2 -1
View File
@@ -46,7 +46,8 @@ public:
VISTA_VERSION = 0x600,
WIN7_VERSION = 0x601,
WIN8_VERSION = 0x602,
WIN8_1_VERSION = 0x603
WIN8_1_VERSION = 0x603,
WIN10_VERSION = 0xa00
};
static WinVersion GetWindowsVersion();
+28
View File
@@ -381,6 +381,34 @@ nsLookAndFeel::GetIntImpl(IntID aID, int32_t &aResult)
case eIntID_WindowsThemeIdentifier:
aResult = nsUXThemeData::GetNativeThemeId();
break;
case eIntID_OperatingSystemVersionIdentifier:
{
switch(WinUtils::GetWindowsVersion()) {
case WinUtils::WINXP_VERSION:
case WinUtils::WIN2K3_VERSION:
aResult = LookAndFeel::eOperatingSystemVersion_WindowsXP;
break;
case WinUtils::VISTA_VERSION:
aResult = LookAndFeel::eOperatingSystemVersion_WindowsVista;
break;
case WinUtils::WIN7_VERSION:
aResult = LookAndFeel::eOperatingSystemVersion_Windows7;
break;
case WinUtils::WIN8_VERSION:
case WinUtils::WIN8_1_VERSION:
aResult = LookAndFeel::eOperatingSystemVersion_Windows8;
break;
case WinUtils::WIN10_VERSION:
aResult = LookAndFeel::eOperatingSystemVersion_Windows10;
break;
default:
aResult = LookAndFeel::eOperatingSystemVersion_Unknown;
break;
}
break;
}
case eIntID_MacGraphiteTheme:
case eIntID_MacLionTheme:
case eIntID_MaemoClassic:
+3 -1
View File
@@ -89,7 +89,9 @@ static const ManifestDirective kParsingTable[] = {
NULL, &nsChromeRegistry::ManifestOverlay },
{ "style", 2, false, true, false, false,
NULL, &nsChromeRegistry::ManifestStyle },
{ "override", 2, true, true, true, false,
{ // NB: note that while skin manifests can use this, they are only allowed
// to use it for chrome://../skin/ URLs
"override", 2, false, true, true, false,
NULL, &nsChromeRegistry::ManifestOverride },
{ "resource", 2, true, true, false, false,
NULL, &nsChromeRegistry::ManifestResource }
+33 -1
View File
@@ -10,6 +10,7 @@
#include "mozilla/Attributes.h"
#include "mozilla/MathAlgorithms.h"
#include "mozilla/Mutex.h"
#include "base/basictypes.h"
@@ -25,6 +26,7 @@
using namespace mozilla::ipc;
using mozilla::DeprecatedAbs;
using mozilla::MutexAutoLock;
class nsMultiplexInputStream MOZ_FINAL : public nsIMultiplexInputStream,
public nsISeekableStream,
@@ -54,6 +56,7 @@ private:
const char* aFromRawSegment, uint32_t aToOffset,
uint32_t aCount, uint32_t *aWriteCount);
mozilla::Mutex mLock;
nsTArray<nsCOMPtr<nsIInputStream> > mStreams;
uint32_t mCurrentStream;
bool mStartedReadingCurrent;
@@ -77,7 +80,8 @@ NS_IMPL_CI_INTERFACE_GETTER3(nsMultiplexInputStream,
nsISeekableStream)
nsMultiplexInputStream::nsMultiplexInputStream()
: mCurrentStream(0),
: mLock("nsMultiplexInputStream lock"),
mCurrentStream(0),
mStartedReadingCurrent(false),
mStatus(NS_OK)
{
@@ -87,6 +91,8 @@ nsMultiplexInputStream::nsMultiplexInputStream()
NS_IMETHODIMP
nsMultiplexInputStream::GetCount(uint32_t *aCount)
{
MutexAutoLock lock(mLock);
*aCount = mStreams.Length();
return NS_OK;
}
@@ -108,6 +114,8 @@ SeekableStreamAtBeginning(nsIInputStream *aStream)
NS_IMETHODIMP
nsMultiplexInputStream::AppendStream(nsIInputStream *aStream)
{
MutexAutoLock lock(mLock);
NS_ASSERTION(SeekableStreamAtBeginning(aStream), "Appended stream not at beginning.");
return mStreams.AppendElement(aStream) ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
}
@@ -116,6 +124,8 @@ nsMultiplexInputStream::AppendStream(nsIInputStream *aStream)
NS_IMETHODIMP
nsMultiplexInputStream::InsertStream(nsIInputStream *aStream, uint32_t aIndex)
{
MutexAutoLock lock(mLock);
NS_ASSERTION(SeekableStreamAtBeginning(aStream), "Inserted stream not at beginning.");
bool result = mStreams.InsertElementAt(aIndex, aStream);
NS_ENSURE_TRUE(result, NS_ERROR_OUT_OF_MEMORY);
@@ -129,6 +139,8 @@ nsMultiplexInputStream::InsertStream(nsIInputStream *aStream, uint32_t aIndex)
NS_IMETHODIMP
nsMultiplexInputStream::RemoveStream(uint32_t aIndex)
{
MutexAutoLock lock(mLock);
mStreams.RemoveElementAt(aIndex);
if (mCurrentStream > aIndex)
--mCurrentStream;
@@ -142,6 +154,8 @@ nsMultiplexInputStream::RemoveStream(uint32_t aIndex)
NS_IMETHODIMP
nsMultiplexInputStream::GetStream(uint32_t aIndex, nsIInputStream **_retval)
{
MutexAutoLock lock(mLock);
*_retval = mStreams.SafeElementAt(aIndex, nullptr);
NS_ENSURE_TRUE(*_retval, NS_ERROR_NOT_AVAILABLE);
@@ -153,6 +167,8 @@ nsMultiplexInputStream::GetStream(uint32_t aIndex, nsIInputStream **_retval)
NS_IMETHODIMP
nsMultiplexInputStream::Close()
{
MutexAutoLock lock(mLock);
mStatus = NS_BASE_STREAM_CLOSED;
nsresult rv = NS_OK;
@@ -171,6 +187,8 @@ nsMultiplexInputStream::Close()
NS_IMETHODIMP
nsMultiplexInputStream::Available(uint64_t *_retval)
{
MutexAutoLock lock(mLock);
if (NS_FAILED(mStatus))
return mStatus;
@@ -192,6 +210,8 @@ nsMultiplexInputStream::Available(uint64_t *_retval)
NS_IMETHODIMP
nsMultiplexInputStream::Read(char * aBuf, uint32_t aCount, uint32_t *_retval)
{
MutexAutoLock lock(mLock);
// It is tempting to implement this method in terms of ReadSegments, but
// that would prevent this class from being used with streams that only
// implement Read (e.g., file streams).
@@ -242,6 +262,8 @@ NS_IMETHODIMP
nsMultiplexInputStream::ReadSegments(nsWriteSegmentFun aWriter, void *aClosure,
uint32_t aCount, uint32_t *_retval)
{
MutexAutoLock lock(mLock);
if (mStatus == NS_BASE_STREAM_CLOSED) {
*_retval = 0;
return NS_OK;
@@ -317,6 +339,8 @@ nsMultiplexInputStream::ReadSegCb(nsIInputStream* aIn, void* aClosure,
NS_IMETHODIMP
nsMultiplexInputStream::IsNonBlocking(bool *aNonBlocking)
{
MutexAutoLock lock(mLock);
uint32_t len = mStreams.Length();
if (len == 0) {
// Claim to be non-blocking, since we won't block the caller.
@@ -342,6 +366,8 @@ nsMultiplexInputStream::IsNonBlocking(bool *aNonBlocking)
NS_IMETHODIMP
nsMultiplexInputStream::Seek(int32_t aWhence, int64_t aOffset)
{
MutexAutoLock lock(mLock);
if (NS_FAILED(mStatus))
return mStatus;
@@ -561,6 +587,8 @@ nsMultiplexInputStream::Seek(int32_t aWhence, int64_t aOffset)
NS_IMETHODIMP
nsMultiplexInputStream::Tell(int64_t *_retval)
{
MutexAutoLock lock(mLock);
if (NS_FAILED(mStatus))
return mStatus;
@@ -613,6 +641,8 @@ nsMultiplexInputStreamConstructor(nsISupports *outer,
void
nsMultiplexInputStream::Serialize(InputStreamParams& aParams)
{
MutexAutoLock lock(mLock);
MultiplexInputStreamParams params;
uint32_t streamCount = mStreams.Length();
@@ -649,6 +679,8 @@ nsMultiplexInputStream::Serialize(InputStreamParams& aParams)
bool
nsMultiplexInputStream::Deserialize(const InputStreamParams& aParams)
{
MutexAutoLock lock(mLock);
if (aParams.type() !=
InputStreamParams::TMultiplexInputStreamParams) {
NS_ERROR("Received unknown parameters from the other process!");