mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-29 11:57:32 +09:00
Merge remote-tracking branch 'origin/tracking' into custom
This commit is contained in:
commit
16926c542d
10 changed files with 107 additions and 17 deletions
|
|
@ -148,6 +148,11 @@ ModuleLoadRequest::LoadFailed()
|
||||||
// We failed to load the source text or an error occurred unrelated to the
|
// We failed to load the source text or an error occurred unrelated to the
|
||||||
// content of the module (e.g. OOM).
|
// content of the module (e.g. OOM).
|
||||||
|
|
||||||
|
if (IsCanceled()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
MOZ_ASSERT(!IsReadyToRun());
|
||||||
MOZ_ASSERT(!mModuleScript);
|
MOZ_ASSERT(!mModuleScript);
|
||||||
|
|
||||||
Cancel();
|
Cancel();
|
||||||
|
|
|
||||||
|
|
@ -238,6 +238,8 @@ EditorEventListener::Disconnect()
|
||||||
void
|
void
|
||||||
EditorEventListener::UninstallFromEditor()
|
EditorEventListener::UninstallFromEditor()
|
||||||
{
|
{
|
||||||
|
CleanupDragDropCaret();
|
||||||
|
|
||||||
nsCOMPtr<EventTarget> piTarget = mEditorBase->GetDOMEventTarget();
|
nsCOMPtr<EventTarget> piTarget = mEditorBase->GetDOMEventTarget();
|
||||||
if (!piTarget) {
|
if (!piTarget) {
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
24
layout/base/tests/bug1496118-ref.html
Normal file
24
layout/base/tests/bug1496118-ref.html
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html class="reftest-wait">
|
||||||
|
<head>
|
||||||
|
<script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
|
||||||
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||||
|
<style>
|
||||||
|
input, input:active { border: none; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<input id="input1">
|
||||||
|
<div id=div1 style="height: 100px;">
|
||||||
|
<textarea id="textarea1" style="display: none;"></textarea>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
SimpleTest.waitForFocus(() => {
|
||||||
|
let input1 = document.getElementById('input1');
|
||||||
|
input1.focus();
|
||||||
|
synthesizeKey("A");
|
||||||
|
document.documentElement.removeAttribute("class");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
37
layout/base/tests/bug1496118.html
Normal file
37
layout/base/tests/bug1496118.html
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html class="reftest-wait">
|
||||||
|
<head>
|
||||||
|
<script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
|
||||||
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||||
|
<style>
|
||||||
|
input, input:active { border: none; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<input id="input1" value="aaaaaaaaaaaaaaaaaaaa">
|
||||||
|
<div id=div1 style="height: 100px;">
|
||||||
|
<textarea id="textarea1"></textarea>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
SimpleTest.waitForFocus(() => {
|
||||||
|
let div1 = document.getElementById('div1');
|
||||||
|
let textarea1 = document.getElementById('textarea1');
|
||||||
|
div1.addEventListener("drop", e => {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
textarea1.style = "display: none;";
|
||||||
|
SimpleTest.executeSoon(() => {
|
||||||
|
synthesizeKey("A");
|
||||||
|
document.documentElement.removeAttribute("class");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let input1 = document.getElementById('input1');
|
||||||
|
input1.focus();
|
||||||
|
input1.setSelectionRange(0, input1.value.length);
|
||||||
|
|
||||||
|
synthesizeDrop(input1, textarea1, [[{type: "text/plain", data: "foo"}]]);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -179,6 +179,8 @@ support-files =
|
||||||
bug1263357-4-ref.html
|
bug1263357-4-ref.html
|
||||||
bug1263357-5.html
|
bug1263357-5.html
|
||||||
bug1263357-5-ref.html
|
bug1263357-5-ref.html
|
||||||
|
bug1496118.html
|
||||||
|
bug1496118-ref.html
|
||||||
input-maxlength-valid-before-change.html
|
input-maxlength-valid-before-change.html
|
||||||
input-maxlength-valid-change.html
|
input-maxlength-valid-change.html
|
||||||
input-maxlength-invalid-change.html
|
input-maxlength-invalid-change.html
|
||||||
|
|
|
||||||
|
|
@ -186,6 +186,7 @@ var tests = [
|
||||||
[ 'bug1263357-3.html' , 'bug1263357-3-ref.html'] ,
|
[ 'bug1263357-3.html' , 'bug1263357-3-ref.html'] ,
|
||||||
[ 'bug1263357-4.html' , 'bug1263357-4-ref.html'] ,
|
[ 'bug1263357-4.html' , 'bug1263357-4-ref.html'] ,
|
||||||
[ 'bug1263357-5.html' , 'bug1263357-5-ref.html'] ,
|
[ 'bug1263357-5.html' , 'bug1263357-5-ref.html'] ,
|
||||||
|
[ 'bug1496118.html' , 'bug1496118-ref.html' ] ,
|
||||||
function() {SpecialPowers.pushPrefEnv({'clear': [['layout.accessiblecaret.enabled']]}, nextTest);} ,
|
function() {SpecialPowers.pushPrefEnv({'clear': [['layout.accessiblecaret.enabled']]}, nextTest);} ,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -341,27 +341,38 @@ sec_pkcs12_decoder_safe_bag_update(void *arg, const char *data,
|
||||||
* and that there are no errors. If so, just return rather
|
* and that there are no errors. If so, just return rather
|
||||||
* than continuing to process.
|
* than continuing to process.
|
||||||
*/
|
*/
|
||||||
if (!safeContentsCtx || !safeContentsCtx->p12dcx ||
|
if (!safeContentsCtx || !safeContentsCtx->p12dcx || safeContentsCtx->skipCurrentSafeBag) {
|
||||||
safeContentsCtx->p12dcx->error || safeContentsCtx->skipCurrentSafeBag) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
p12dcx = safeContentsCtx->p12dcx;
|
p12dcx = safeContentsCtx->p12dcx;
|
||||||
|
|
||||||
|
/* make sure that there are no errors and we are not skipping the current safeBag */
|
||||||
|
if (p12dcx->error || safeContentsCtx->skipCurrentSafeBag) {
|
||||||
|
goto loser;
|
||||||
|
}
|
||||||
|
|
||||||
rv = SEC_ASN1DecoderUpdate(safeContentsCtx->currentSafeBagA1Dcx, data, len);
|
rv = SEC_ASN1DecoderUpdate(safeContentsCtx->currentSafeBagA1Dcx, data, len);
|
||||||
if (rv != SECSuccess) {
|
if (rv != SECSuccess) {
|
||||||
p12dcx->errorValue = PORT_GetError();
|
p12dcx->errorValue = PORT_GetError();
|
||||||
|
p12dcx->error = PR_TRUE;
|
||||||
|
goto loser;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The update may have set safeContentsCtx->skipCurrentSafeBag, and we
|
||||||
|
* may not get another opportunity to clean up the decoder context.
|
||||||
|
*/
|
||||||
|
if (safeContentsCtx->skipCurrentSafeBag) {
|
||||||
goto loser;
|
goto loser;
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
loser:
|
loser:
|
||||||
/* set the error, and finish the decoder context. because there
|
/* Finish the decoder context. Because there
|
||||||
* is not a way of returning an error message, it may be worth
|
* is not a way of returning an error message, it may be worth
|
||||||
* while to do a check higher up and finish any decoding contexts
|
* while to do a check higher up and finish any decoding contexts
|
||||||
* that are still open.
|
* that are still open.
|
||||||
*/
|
*/
|
||||||
p12dcx->error = PR_TRUE;
|
|
||||||
SEC_ASN1DecoderFinish(safeContentsCtx->currentSafeBagA1Dcx);
|
SEC_ASN1DecoderFinish(safeContentsCtx->currentSafeBagA1Dcx);
|
||||||
safeContentsCtx->currentSafeBagA1Dcx = NULL;
|
safeContentsCtx->currentSafeBagA1Dcx = NULL;
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,7 @@ struct sec_PKCS12SafeBagStr {
|
||||||
sec_PKCS12CRLBag *crlBag;
|
sec_PKCS12CRLBag *crlBag;
|
||||||
sec_PKCS12SecretBag *secretBag;
|
sec_PKCS12SecretBag *secretBag;
|
||||||
sec_PKCS12SafeContents *safeContents;
|
sec_PKCS12SafeContents *safeContents;
|
||||||
|
SECItem *unknownBag;
|
||||||
} safeBagContent;
|
} safeBagContent;
|
||||||
|
|
||||||
sec_PKCS12Attribute **attribs;
|
sec_PKCS12Attribute **attribs;
|
||||||
|
|
|
||||||
|
|
@ -30,12 +30,12 @@ sec_pkcs12_choose_safe_bag_type(void *src_or_dest, PRBool encoding)
|
||||||
|
|
||||||
oiddata = SECOID_FindOID(&safeBag->safeBagType);
|
oiddata = SECOID_FindOID(&safeBag->safeBagType);
|
||||||
if (oiddata == NULL) {
|
if (oiddata == NULL) {
|
||||||
return SEC_ASN1_GET(SEC_AnyTemplate);
|
return SEC_ASN1_GET(SEC_PointerToAnyTemplate);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (oiddata->offset) {
|
switch (oiddata->offset) {
|
||||||
default:
|
default:
|
||||||
theTemplate = SEC_ASN1_GET(SEC_AnyTemplate);
|
theTemplate = SEC_ASN1_GET(SEC_PointerToAnyTemplate);
|
||||||
break;
|
break;
|
||||||
case SEC_OID_PKCS12_V1_KEY_BAG_ID:
|
case SEC_OID_PKCS12_V1_KEY_BAG_ID:
|
||||||
theTemplate = SEC_ASN1_GET(SECKEY_PointerToPrivateKeyInfoTemplate);
|
theTemplate = SEC_ASN1_GET(SECKEY_PointerToPrivateKeyInfoTemplate);
|
||||||
|
|
|
||||||
|
|
@ -355,32 +355,38 @@ TaskbarPreviewCallback::Done(nsISupports *aCanvas, bool aDrawBorder) {
|
||||||
}
|
}
|
||||||
RefPtr<gfxWindowsSurface> target = new gfxWindowsSurface(source->GetSize(),
|
RefPtr<gfxWindowsSurface> target = new gfxWindowsSurface(source->GetSize(),
|
||||||
gfx::SurfaceFormat::A8R8G8B8_UINT32);
|
gfx::SurfaceFormat::A8R8G8B8_UINT32);
|
||||||
if (!target) {
|
if (target->CairoStatus() != CAIRO_STATUS_SUCCESS) {
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
RefPtr<gfx::DataSourceSurface> srcSurface = source->GetDataSurface();
|
using DataSrcSurf = gfx::DataSourceSurface;
|
||||||
|
RefPtr<DataSrcSurf> srcSurface = source->GetDataSurface();
|
||||||
RefPtr<gfxImageSurface> imageSurface = target->GetAsImageSurface();
|
RefPtr<gfxImageSurface> imageSurface = target->GetAsImageSurface();
|
||||||
if (!srcSurface || !imageSurface) {
|
if (!srcSurface || !imageSurface) {
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfx::DataSourceSurface::MappedSurface sourceMap;
|
DataSrcSurf::ScopedMap const sourceMap(srcSurface, DataSrcSurf::READ);
|
||||||
srcSurface->Map(gfx::DataSourceSurface::READ, &sourceMap);
|
if (sourceMap.IsMapped()) {
|
||||||
mozilla::gfx::CopySurfaceDataToPackedArray(sourceMap.mData,
|
mozilla::gfx::CopySurfaceDataToPackedArray(sourceMap.GetData(),
|
||||||
imageSurface->Data(),
|
imageSurface->Data(),
|
||||||
srcSurface->GetSize(),
|
srcSurface->GetSize(),
|
||||||
sourceMap.mStride,
|
sourceMap.GetStride(),
|
||||||
BytesPerPixel(srcSurface->GetFormat()));
|
BytesPerPixel(srcSurface->GetFormat()));
|
||||||
srcSurface->Unmap();
|
} else if (source->GetSize().IsEmpty()) {
|
||||||
|
// A zero-size source-surface probably shouldn't happen, but is harmless
|
||||||
|
// here. Fall through.
|
||||||
|
} else {
|
||||||
|
return NS_ERROR_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
HDC hDC = target->GetDC();
|
HDC hDC = target->GetDC();
|
||||||
HBITMAP hBitmap = (HBITMAP)GetCurrentObject(hDC, OBJ_BITMAP);
|
HBITMAP hBitmap = (HBITMAP)GetCurrentObject(hDC, OBJ_BITMAP);
|
||||||
|
|
||||||
DWORD flags = aDrawBorder ? DWM_SIT_DISPLAYFRAME : 0;
|
DWORD flags = aDrawBorder ? DWM_SIT_DISPLAYFRAME : 0;
|
||||||
POINT pptClient = { 0, 0 };
|
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
if (!mIsThumbnail) {
|
if (!mIsThumbnail) {
|
||||||
|
POINT pptClient = { 0, 0 };
|
||||||
hr = WinUtils::dwmSetIconicLivePreviewBitmapPtr(mPreview->PreviewWindow(),
|
hr = WinUtils::dwmSetIconicLivePreviewBitmapPtr(mPreview->PreviewWindow(),
|
||||||
hBitmap, &pptClient, flags);
|
hBitmap, &pptClient, flags);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -388,6 +394,7 @@ TaskbarPreviewCallback::Done(nsISupports *aCanvas, bool aDrawBorder) {
|
||||||
hBitmap, flags);
|
hBitmap, flags);
|
||||||
}
|
}
|
||||||
MOZ_ASSERT(SUCCEEDED(hr));
|
MOZ_ASSERT(SUCCEEDED(hr));
|
||||||
|
mozilla::Unused << hr;
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue