MFH: r460756
www/waterfox: update to 56.0.4 (nop) - Apply some FF59 fixes Changes: https://github.com/MrAlex94/Waterfox/compare/d7f689c984bf...56.0.4 Approved by: ports-secteam blanket
This commit is contained in:
parent
f03c635794
commit
6ee159106a
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q1/; revision=460757
@ -1,9 +1,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= waterfox
|
||||
DISTVERSION= 56.0.3-65
|
||||
DISTVERSIONSUFFIX= -gd7f689c984bf
|
||||
PORTREVISION= 1
|
||||
DISTVERSION= 56.0.4
|
||||
CATEGORIES= www ipv6
|
||||
|
||||
MAINTAINER= jbeich@FreeBSD.org
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1517402710
|
||||
SHA256 (MrAlex94-Waterfox-56.0.3-65-gd7f689c984bf_GH0.tar.gz) = 2a15c44982991bc06890a4a14ffef7761bc698720b71e26f6a602ebd5feb020e
|
||||
SIZE (MrAlex94-Waterfox-56.0.3-65-gd7f689c984bf_GH0.tar.gz) = 394225706
|
||||
TIMESTAMP = 1517598190
|
||||
SHA256 (MrAlex94-Waterfox-56.0.4_GH0.tar.gz) = 291a7aa8e541802d1705cf68c694e300f9cb14fffc6c1d24e51b9ed486cd44b7
|
||||
SIZE (MrAlex94-Waterfox-56.0.4_GH0.tar.gz) = 394233214
|
||||
|
@ -1,78 +0,0 @@
|
||||
commit 38b712aab29c
|
||||
Author: Dragana Damjanovic <dd.mozilla@gmail.com>
|
||||
Date: Thu Dec 14 20:22:56 2017 +0100
|
||||
|
||||
Bug 1425156 - Fix bug in the http-auth dialog blocking. r=ckerschb a=gchang
|
||||
|
||||
--HG--
|
||||
extra : source : e098500c325d3aaddc9cc4166b8695f294b6a246
|
||||
---
|
||||
.../protocol/http/nsHttpChannelAuthProvider.cpp | 28 ++++++++++++----------
|
||||
1 file changed, 16 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git netwerk/protocol/http/nsHttpChannelAuthProvider.cpp netwerk/protocol/http/nsHttpChannelAuthProvider.cpp
|
||||
index c70eb9455adb..d8d604d234ab 100644
|
||||
--- netwerk/protocol/http/nsHttpChannelAuthProvider.cpp
|
||||
+++ netwerk/protocol/http/nsHttpChannelAuthProvider.cpp
|
||||
@@ -993,16 +993,19 @@ nsHttpChannelAuthProvider::BlockPrompt()
|
||||
bool nonWebContent = false;
|
||||
|
||||
if (loadInfo) {
|
||||
- nsCOMPtr<nsIPrincipal> triggeringPrinc =
|
||||
- loadInfo->TriggeringPrincipal();
|
||||
- if (nsContentUtils::IsSystemPrincipal(triggeringPrinc)) {
|
||||
- nonWebContent = true;
|
||||
- }
|
||||
-
|
||||
if (loadInfo->GetExternalContentPolicyType() !=
|
||||
nsIContentPolicy::TYPE_DOCUMENT) {
|
||||
topDoc = false;
|
||||
}
|
||||
+
|
||||
+ if (!topDoc) {
|
||||
+ nsCOMPtr<nsIPrincipal> triggeringPrinc =
|
||||
+ loadInfo->TriggeringPrincipal();
|
||||
+ if (nsContentUtils::IsSystemPrincipal(triggeringPrinc)) {
|
||||
+ nonWebContent = true;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (loadInfo->GetExternalContentPolicyType() ==
|
||||
nsIContentPolicy::TYPE_XMLHTTPREQUEST) {
|
||||
xhr = true;
|
||||
@@ -1027,12 +1030,12 @@ nsHttpChannelAuthProvider::BlockPrompt()
|
||||
}
|
||||
|
||||
if (gHttpHandler->IsTelemetryEnabled()) {
|
||||
- if (nonWebContent) {
|
||||
- Telemetry::Accumulate(Telemetry::HTTP_AUTH_DIALOG_STATS_3,
|
||||
- HTTP_AUTH_DIALOG_NON_WEB_CONTENT);
|
||||
- } else if (topDoc) {
|
||||
+ if (topDoc) {
|
||||
Telemetry::Accumulate(Telemetry::HTTP_AUTH_DIALOG_STATS_3,
|
||||
HTTP_AUTH_DIALOG_TOP_LEVEL_DOC);
|
||||
+ } else if (nonWebContent) {
|
||||
+ Telemetry::Accumulate(Telemetry::HTTP_AUTH_DIALOG_STATS_3,
|
||||
+ HTTP_AUTH_DIALOG_NON_WEB_CONTENT);
|
||||
} else if (!mCrossOrigin) {
|
||||
if (xhr) {
|
||||
Telemetry::Accumulate(Telemetry::HTTP_AUTH_DIALOG_STATS_3,
|
||||
@@ -1047,7 +1050,7 @@ nsHttpChannelAuthProvider::BlockPrompt()
|
||||
}
|
||||
}
|
||||
|
||||
- if (!sNonWebContentTriggeredAuthAllow && nonWebContent) {
|
||||
+ if (!topDoc && !sNonWebContentTriggeredAuthAllow && nonWebContent) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1065,7 +1068,8 @@ nsHttpChannelAuthProvider::BlockPrompt()
|
||||
// If pref network.auth.subresource-img-cross-origin-http-auth-allow
|
||||
// is set, http-authentication dialog for image subresources is
|
||||
// blocked.
|
||||
- if (!sImgCrossOriginAuthAllowPref &&
|
||||
+ if (mCrossOrigin &&
|
||||
+ !sImgCrossOriginAuthAllowPref &&
|
||||
loadInfo &&
|
||||
((loadInfo->GetExternalContentPolicyType() == nsIContentPolicy::TYPE_IMAGE) ||
|
||||
(loadInfo->GetExternalContentPolicyType() == nsIContentPolicy::TYPE_IMAGESET))) {
|
69
www/waterfox/files/patch-bug1428612
Normal file
69
www/waterfox/files/patch-bug1428612
Normal file
@ -0,0 +1,69 @@
|
||||
commit 2bfc5ca48a44
|
||||
Author: Eric Rahm <erahm@mozilla.com>
|
||||
Date: Wed Jan 17 16:38:18 2018 -0800
|
||||
|
||||
Bug 1428612 - Part 1: Use nsLiteralCString to wrap histogram names. r=gfritzsche a=lizzard
|
||||
|
||||
This switches from `nsDependentCString` to `nsLiteralCString` when adding
|
||||
histograms to the table. It will help save some memory and should avoid the OOM
|
||||
smalls we have been seeing.
|
||||
|
||||
--HG--
|
||||
extra : source : 13493806c0472ebd52ab4140312747c5fbd42fbc
|
||||
---
|
||||
toolkit/components/telemetry/TelemetryHistogram.cpp | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git toolkit/components/telemetry/TelemetryHistogram.cpp toolkit/components/telemetry/TelemetryHistogram.cpp
|
||||
index a90e5d24aab8..eb28684fe4d1 100644
|
||||
--- toolkit/components/telemetry/TelemetryHistogram.cpp
|
||||
+++ toolkit/components/telemetry/TelemetryHistogram.cpp
|
||||
@@ -1740,9 +1740,14 @@ void TelemetryHistogram::InitializeGlobalState(bool canRecordBase,
|
||||
// declaration point further up in this file.
|
||||
|
||||
// Populate the static histogram name->id cache.
|
||||
- // Note that the histogram names are statically allocated.
|
||||
+ // Note that the histogram names come from a static table so we can wrap them
|
||||
+ // in a literal string to avoid allocations when it gets copied.
|
||||
for (uint32_t i = 0; i < HistogramCount; i++) {
|
||||
- gNameToHistogramIDMap.Put(nsDependentCString(gHistogramInfos[i].name()), HistogramID(i));
|
||||
+ auto name = gHistogramInfos[i].name();
|
||||
+
|
||||
+ nsCString wrappedName;
|
||||
+ wrappedName.AssignLiteral(name, strlen(name));
|
||||
+ gNameToHistogramIDMap.Put(wrappedName, HistogramID(i));
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
commit e31ac19b6163
|
||||
Author: Eric Rahm <erahm@mozilla.com>
|
||||
Date: Wed Jan 17 16:52:37 2018 -0800
|
||||
|
||||
Bug 1428612 - Part 2: Add an assertion to check the histogram name pointer. r=gfritzsche a=lizzard
|
||||
|
||||
This adds a dignostic assertion that the name pointer is actually within the
|
||||
static name table.
|
||||
|
||||
--HG--
|
||||
extra : source : 6931047d462f46b1f601cb5927e4185857400a63
|
||||
---
|
||||
toolkit/components/telemetry/TelemetryHistogram.cpp | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git toolkit/components/telemetry/TelemetryHistogram.cpp toolkit/components/telemetry/TelemetryHistogram.cpp
|
||||
index eb28684fe4d1..926536e401b4 100644
|
||||
--- toolkit/components/telemetry/TelemetryHistogram.cpp
|
||||
+++ toolkit/components/telemetry/TelemetryHistogram.cpp
|
||||
@@ -1745,6 +1745,11 @@ void TelemetryHistogram::InitializeGlobalState(bool canRecordBase,
|
||||
for (uint32_t i = 0; i < HistogramCount; i++) {
|
||||
auto name = gHistogramInfos[i].name();
|
||||
|
||||
+ // Make sure the name pointer is in a valid region. See bug 1428612.
|
||||
+ MOZ_DIAGNOSTIC_ASSERT(name >= gHistogramStringTable);
|
||||
+ MOZ_DIAGNOSTIC_ASSERT(
|
||||
+ uintptr_t(name) < (uintptr_t(gHistogramStringTable) + sizeof(gHistogramStringTable)));
|
||||
+
|
||||
nsCString wrappedName;
|
||||
wrappedName.AssignLiteral(name, strlen(name));
|
||||
gNameToHistogramIDMap.Put(wrappedName, HistogramID(i));
|
135
www/waterfox/files/patch-bug1429093
Normal file
135
www/waterfox/files/patch-bug1429093
Normal file
@ -0,0 +1,135 @@
|
||||
commit 0476b46775d8
|
||||
Author: Tom Tung <shes050117@gmail.com>
|
||||
Date: Wed Jan 10 18:05:07 2018 +0800
|
||||
|
||||
Bug 1429093 - Part 1: Only allow notification click to call allowWindowInteraction. r=bkelly, a=lizzard
|
||||
|
||||
--HG--
|
||||
extra : source : 20b048f7a32fc9d76827c2f06be1d50afb8bbd00
|
||||
---
|
||||
dom/workers/ServiceWorkerPrivate.cpp | 14 +++++++++-----
|
||||
1 file changed, 9 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git dom/workers/ServiceWorkerPrivate.cpp dom/workers/ServiceWorkerPrivate.cpp
|
||||
index 8b7cabf2a345..53b8cf30fa5c 100644
|
||||
--- dom/workers/ServiceWorkerPrivate.cpp
|
||||
+++ dom/workers/ServiceWorkerPrivate.cpp
|
||||
@@ -1253,18 +1253,22 @@ public:
|
||||
}
|
||||
|
||||
event->SetTrusted(true);
|
||||
- aWorkerPrivate->GlobalScope()->AllowWindowInteraction();
|
||||
- RefPtr<AllowWindowInteractionHandler> allowWindowInteraction =
|
||||
- new AllowWindowInteractionHandler(aWorkerPrivate);
|
||||
+
|
||||
+ RefPtr<AllowWindowInteractionHandler> allowWindowInteraction;
|
||||
+ if (mEventName.EqualsLiteral(NOTIFICATION_CLICK_EVENT_NAME)) {
|
||||
+ allowWindowInteraction =
|
||||
+ new AllowWindowInteractionHandler(aWorkerPrivate);
|
||||
+ }
|
||||
+
|
||||
nsresult rv = DispatchExtendableEventOnWorkerScope(aCx,
|
||||
aWorkerPrivate->GlobalScope(),
|
||||
event,
|
||||
allowWindowInteraction);
|
||||
// Don't reject when catching an exception
|
||||
- if (NS_FAILED(rv) && rv != NS_ERROR_XPC_JS_THREW_EXCEPTION) {
|
||||
+ if (NS_FAILED(rv) && rv != NS_ERROR_XPC_JS_THREW_EXCEPTION &&
|
||||
+ allowWindowInteraction) {
|
||||
allowWindowInteraction->FinishedWithResult(Rejected);
|
||||
}
|
||||
- aWorkerPrivate->GlobalScope()->ConsumeWindowInteraction();
|
||||
|
||||
return true;
|
||||
}
|
||||
commit 13c168bfd520
|
||||
Author: Tom Tung <shes050117@gmail.com>
|
||||
Date: Wed Jan 17 11:31:31 2018 +0800
|
||||
|
||||
Bug 1429093 - Part 2: A test to verify the close event is not allowed to window interaction. r=bkelly, a=lizzard
|
||||
|
||||
--HG--
|
||||
extra : source : abd11ceb68ca7f0b04a4e4b3dc49090c523ad067
|
||||
---
|
||||
.../test/serviceworkers/notificationclose.html | 2 +-
|
||||
.../test/serviceworkers/notificationclose.js | 31 ++++++++++++++--------
|
||||
.../serviceworkers/test_notificationclose.html | 6 +++--
|
||||
3 files changed, 25 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git dom/workers/test/serviceworkers/notificationclose.html dom/workers/test/serviceworkers/notificationclose.html
|
||||
index 10c8da453976..f18801122efb 100644
|
||||
--- dom/workers/test/serviceworkers/notificationclose.html
|
||||
+++ dom/workers/test/serviceworkers/notificationclose.html
|
||||
@@ -27,7 +27,7 @@
|
||||
});
|
||||
|
||||
navigator.serviceWorker.onmessage = function(msg) {
|
||||
- testWindow.callback(msg.data.result);
|
||||
+ testWindow.callback(msg.data);
|
||||
};
|
||||
</script>
|
||||
|
||||
diff --git dom/workers/test/serviceworkers/notificationclose.js dom/workers/test/serviceworkers/notificationclose.js
|
||||
index d482180752e5..f04a0ad24430 100644
|
||||
--- dom/workers/test/serviceworkers/notificationclose.js
|
||||
+++ dom/workers/test/serviceworkers/notificationclose.js
|
||||
@@ -2,18 +2,27 @@
|
||||
// http://creativecommons.org/publicdomain/zero/1.0/
|
||||
//
|
||||
onnotificationclose = function(e) {
|
||||
- self.clients.matchAll().then(function(clients) {
|
||||
- if (clients.length === 0) {
|
||||
- dump("********************* CLIENTS LIST EMPTY! Test will timeout! ***********************\n");
|
||||
- return;
|
||||
- }
|
||||
+ e.waitUntil(async function() {
|
||||
+ let windowOpened = true;
|
||||
+ await clients.openWindow("hello.html")
|
||||
+ .catch(err => {
|
||||
+ windowOpened = false;
|
||||
+ });
|
||||
|
||||
- clients.forEach(function(client) {
|
||||
- client.postMessage({ result: e.notification.data &&
|
||||
- e.notification.data['complex'] &&
|
||||
- e.notification.data['complex'][0] == "jsval" &&
|
||||
- e.notification.data['complex'][1] == 5 });
|
||||
+ self.clients.matchAll().then(function(clients) {
|
||||
+ if (clients.length === 0) {
|
||||
+ dump("*** CLIENTS LIST EMPTY! Test will timeout! ***\n");
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
+ clients.forEach(function(client) {
|
||||
+ client.postMessage({ result: e.notification.data &&
|
||||
+ e.notification.data['complex'] &&
|
||||
+ e.notification.data['complex'][0] == "jsval" &&
|
||||
+ e.notification.data['complex'][1] == 5,
|
||||
+ windowOpened: windowOpened});
|
||||
+
|
||||
+ });
|
||||
});
|
||||
- });
|
||||
+ }());
|
||||
}
|
||||
diff --git dom/workers/test/serviceworkers/test_notificationclose.html dom/workers/test/serviceworkers/test_notificationclose.html
|
||||
index 032dd740bbff..f60482789ab5 100644
|
||||
--- dom/workers/test/serviceworkers/test_notificationclose.html
|
||||
+++ dom/workers/test/serviceworkers/test_notificationclose.html
|
||||
@@ -24,11 +24,13 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1265841
|
||||
function testFrame(src) {
|
||||
var iframe = document.createElement("iframe");
|
||||
iframe.src = src;
|
||||
- window.callback = function(result) {
|
||||
+ window.callback = function(data) {
|
||||
window.callback = null;
|
||||
document.body.removeChild(iframe);
|
||||
iframe = null;
|
||||
- ok(result, "Got notificationclose event with correct data.");
|
||||
+ ok(data.result, "Got notificationclose event with correct data.");
|
||||
+ ok(!data.windowOpened,
|
||||
+ "Shouldn't allow to openWindow in notificationclose");
|
||||
MockServices.unregister();
|
||||
registration.unregister().then(function() {
|
||||
SimpleTest.finish();
|
||||
|
142
www/waterfox/files/patch-bug1429373
Normal file
142
www/waterfox/files/patch-bug1429373
Normal file
@ -0,0 +1,142 @@
|
||||
commit e98ed2368b14
|
||||
Author: Botond Ballo <botond@mozilla.com>
|
||||
Date: Wed Jan 17 18:46:07 2018 -0500
|
||||
|
||||
Bug 1429373 - Add a clarifying comment to the declaration of APZCTreeManager::SetTargetAPZC(). r=kats, a=lizzard
|
||||
|
||||
MozReview-Commit-ID: CT1H5TH3UXn
|
||||
|
||||
--HG--
|
||||
extra : source : 7acde19831d806ea2b27f19fc0de164272a8d691
|
||||
---
|
||||
gfx/layers/apz/src/APZCTreeManager.h | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git gfx/layers/apz/src/APZCTreeManager.h gfx/layers/apz/src/APZCTreeManager.h
|
||||
index bcc84bac3a97..b4a92f07d4c5 100644
|
||||
--- gfx/layers/apz/src/APZCTreeManager.h
|
||||
+++ gfx/layers/apz/src/APZCTreeManager.h
|
||||
@@ -267,6 +267,13 @@ public:
|
||||
* for the different touch points. In the case where the touch point has no
|
||||
* target, or the target is not a scrollable frame, the target's |mScrollId|
|
||||
* should be set to FrameMetrics::NULL_SCROLL_ID.
|
||||
+ * Note: For mouse events that start a scrollbar drag, both SetTargetAPZC()
|
||||
+ * and StartScrollbarDrag() will be called, and the calls may happen
|
||||
+ * in either order. That's fine - whichever arrives first will confirm
|
||||
+ * the block, and StartScrollbarDrag() will fill in the drag metrics.
|
||||
+ * If the block is confirmed before we have drag metrics, some events
|
||||
+ * in the drag block may be handled as no-ops until the drag metrics
|
||||
+ * arrive.
|
||||
*/
|
||||
void SetTargetAPZC(
|
||||
uint64_t aInputBlockId,
|
||||
commit ed5f41305349
|
||||
Author: Botond Ballo <botond@mozilla.com>
|
||||
Date: Wed Jan 17 18:45:25 2018 -0500
|
||||
|
||||
Bug 1429373 - During hit-testing, ignore clips on layers whose parent has a perspective transform. r=kats, a=lizzard
|
||||
|
||||
This corresponds to the treatment of such layers in AsyncCompositionManager
|
||||
added in bug 1168263.
|
||||
|
||||
MozReview-Commit-ID: 34IKk5TH9vV
|
||||
|
||||
--HG--
|
||||
extra : source : 5b0b60dd22e8f33634d9b0e425cad64b898b8500
|
||||
---
|
||||
gfx/layers/apz/src/APZCTreeManager.cpp | 25 ++++++++++++++++++++-----
|
||||
1 file changed, 20 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git gfx/layers/apz/src/APZCTreeManager.cpp gfx/layers/apz/src/APZCTreeManager.cpp
|
||||
index 2dfa9a3250b8..46f969d0fc7a 100644
|
||||
--- gfx/layers/apz/src/APZCTreeManager.cpp
|
||||
+++ gfx/layers/apz/src/APZCTreeManager.cpp
|
||||
@@ -97,6 +97,10 @@ struct APZCTreeManager::TreeBuildingState {
|
||||
// to facilitate re-using the same APZC for different layers that scroll
|
||||
// together (and thus have the same ScrollableLayerGuid).
|
||||
std::unordered_map<ScrollableLayerGuid, AsyncPanZoomController*, ScrollableLayerGuidHash> mApzcMap;
|
||||
+
|
||||
+ // As the tree is traversed, the top element of this stack tracks whether
|
||||
+ // the parent scroll node has a perspective transform.
|
||||
+ std::stack<bool> mParentHasPerspective;
|
||||
};
|
||||
|
||||
class APZCTreeManager::CheckerboardFlushObserver : public nsIObserver {
|
||||
@@ -321,6 +325,7 @@ APZCTreeManager::UpdateHitTestingTreeImpl(uint64_t aRootLayerTreeId,
|
||||
HitTestingTreeNode* next = nullptr;
|
||||
uint64_t layersId = aRootLayerTreeId;
|
||||
ancestorTransforms.push(Matrix4x4());
|
||||
+ state.mParentHasPerspective.push(false);
|
||||
|
||||
state.mLayersIdsToDestroy.erase(aRootLayerTreeId);
|
||||
|
||||
@@ -371,6 +376,7 @@ APZCTreeManager::UpdateHitTestingTreeImpl(uint64_t aRootLayerTreeId,
|
||||
}
|
||||
|
||||
indents.push(gfx::TreeAutoIndent(mApzcTreeLog));
|
||||
+ state.mParentHasPerspective.push(aLayerMetrics.TransformIsPerspective());
|
||||
},
|
||||
[&](ScrollNode aLayerMetrics)
|
||||
{
|
||||
@@ -379,6 +385,7 @@ APZCTreeManager::UpdateHitTestingTreeImpl(uint64_t aRootLayerTreeId,
|
||||
layersId = next->GetLayersId();
|
||||
ancestorTransforms.pop();
|
||||
indents.pop();
|
||||
+ state.mParentHasPerspective.pop();
|
||||
});
|
||||
|
||||
mApzcTreeLog << "[end]\n";
|
||||
@@ -715,6 +722,8 @@ APZCTreeManager::PrepareNodeForLayer(const ScrollNode& aLayer,
|
||||
needsApzc = false;
|
||||
}
|
||||
|
||||
+ bool parentHasPerspective = aState.mParentHasPerspective.top();
|
||||
+
|
||||
RefPtr<HitTestingTreeNode> node = nullptr;
|
||||
if (!needsApzc) {
|
||||
// Note: if layer properties must be propagated to nodes, RecvUpdate in
|
||||
@@ -726,7 +735,9 @@ APZCTreeManager::PrepareNodeForLayer(const ScrollNode& aLayer,
|
||||
GetEventRegions(aLayer),
|
||||
aLayer.GetVisibleRegion(),
|
||||
aLayer.GetTransformTyped(),
|
||||
- aLayer.GetClipRect() ? Some(ParentLayerIntRegion(*aLayer.GetClipRect())) : Nothing(),
|
||||
+ (!parentHasPerspective && aLayer.GetClipRect())
|
||||
+ ? Some(ParentLayerIntRegion(*aLayer.GetClipRect()))
|
||||
+ : Nothing(),
|
||||
GetEventRegionsOverride(aParent, aLayer));
|
||||
node->SetScrollbarData(aLayer.GetScrollbarTargetContainerId(),
|
||||
aLayer.GetScrollbarAnimationId(),
|
||||
@@ -833,12 +844,14 @@ APZCTreeManager::PrepareNodeForLayer(const ScrollNode& aLayer,
|
||||
// or not, depending on whether it went through the newApzc branch above.
|
||||
MOZ_ASSERT(node->IsPrimaryHolder() && node->GetApzc() && node->GetApzc()->Matches(guid));
|
||||
|
||||
- ParentLayerIntRegion clipRegion = ComputeClipRegion(state->mController, aLayer);
|
||||
+ Maybe<ParentLayerIntRegion> clipRegion = parentHasPerspective
|
||||
+ ? Nothing()
|
||||
+ : Some(ComputeClipRegion(state->mController, aLayer));
|
||||
node->SetHitTestData(
|
||||
GetEventRegions(aLayer),
|
||||
aLayer.GetVisibleRegion(),
|
||||
aLayer.GetTransformTyped(),
|
||||
- Some(clipRegion),
|
||||
+ clipRegion,
|
||||
GetEventRegionsOverride(aParent, aLayer));
|
||||
apzc->SetAncestorTransform(aAncestorTransform);
|
||||
|
||||
@@ -910,12 +923,14 @@ APZCTreeManager::PrepareNodeForLayer(const ScrollNode& aLayer,
|
||||
// instead of an exact one.
|
||||
MOZ_ASSERT(aAncestorTransform.FuzzyEqualsMultiplicative(apzc->GetAncestorTransform()));
|
||||
|
||||
- ParentLayerIntRegion clipRegion = ComputeClipRegion(state->mController, aLayer);
|
||||
+ Maybe<ParentLayerIntRegion> clipRegion = parentHasPerspective
|
||||
+ ? Nothing()
|
||||
+ : Some(ComputeClipRegion(state->mController, aLayer));
|
||||
node->SetHitTestData(
|
||||
GetEventRegions(aLayer),
|
||||
aLayer.GetVisibleRegion(),
|
||||
aLayer.GetTransformTyped(),
|
||||
- Some(clipRegion),
|
||||
+ clipRegion,
|
||||
GetEventRegionsOverride(aParent, aLayer));
|
||||
}
|
||||
|
30
www/waterfox/files/patch-bug1431781
Normal file
30
www/waterfox/files/patch-bug1431781
Normal file
@ -0,0 +1,30 @@
|
||||
commit f6cb7152c208
|
||||
Author: Mats Palmgren <mats@mozilla.com>
|
||||
Date: Tue Jan 23 00:00:03 2018 +0100
|
||||
|
||||
Bug 1431781 - Report at least OverflowIncomplete reflow status when we skip reflowing OverflowContainer children and have a next-in-flow. r=dholbert a=lizzard
|
||||
|
||||
--HG--
|
||||
extra : source : cef7ac1c276ba50a6789ca916568434dbc6990ae
|
||||
---
|
||||
layout/generic/nsContainerFrame.cpp | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git layout/generic/nsContainerFrame.cpp layout/generic/nsContainerFrame.cpp
|
||||
index d50e1fc6f613..732f24e00b1d 100644
|
||||
--- layout/generic/nsContainerFrame.cpp
|
||||
+++ layout/generic/nsContainerFrame.cpp
|
||||
@@ -1160,6 +1160,13 @@ nsContainerFrame::ReflowOverflowContainerChildren(nsPresContext* aPres
|
||||
if (frame->GetPrevInFlow()->GetParent() != GetPrevInFlow()) {
|
||||
// frame's prevInFlow has moved, skip reflowing this frame;
|
||||
// it will get reflowed once it's been placed
|
||||
+ if (GetNextInFlow()) {
|
||||
+ // We report OverflowIncomplete status in this case to avoid our parent
|
||||
+ // deleting our next-in-flows which might destroy non-empty frames.
|
||||
+ nsReflowStatus status;
|
||||
+ status.SetOverflowIncomplete();
|
||||
+ aStatus.MergeCompletionStatusFrom(status);
|
||||
+ }
|
||||
continue;
|
||||
}
|
||||
// If the available vertical height has changed, we need to reflow
|
52
www/waterfox/files/patch-bug1433005
Normal file
52
www/waterfox/files/patch-bug1433005
Normal file
@ -0,0 +1,52 @@
|
||||
commit f2d8528c4e01
|
||||
Author: Dan Minor <dminor@mozilla.com>
|
||||
Date: Fri Jan 26 11:46:51 2018 -0500
|
||||
|
||||
Bug 1433005 - Simplify codec pruning in NegotiateCodecs. r=bwc, a=lizzard
|
||||
---
|
||||
media/webrtc/signaling/src/jsep/JsepTrack.cpp | 29 ++++++++++++++++-----------
|
||||
1 file changed, 17 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git media/webrtc/signaling/src/jsep/JsepTrack.cpp media/webrtc/signaling/src/jsep/JsepTrack.cpp
|
||||
index 2fab2501b854..b921df77f3a0 100644
|
||||
--- media/webrtc/signaling/src/jsep/JsepTrack.cpp
|
||||
+++ media/webrtc/signaling/src/jsep/JsepTrack.cpp
|
||||
@@ -486,21 +486,26 @@ JsepTrack::NegotiateCodecs(
|
||||
|
||||
// TODO(bug 814227): Remove this once we're ready to put multiple codecs in an
|
||||
// answer. For now, remove all but the first codec unless the red codec
|
||||
- // exists, and then we include the others per RFC 5109, section 14.2.
|
||||
- // Note: now allows keeping the telephone-event codec, if it appears, as the
|
||||
- // last codec in the list.
|
||||
+ // exists, in which case we include the others per RFC 5109, section 14.2.
|
||||
if (!codecs->empty() && !red) {
|
||||
- int newSize = dtmf ? 2 : 1;
|
||||
- for (size_t i = 1; i < codecs->size(); ++i) {
|
||||
- if (!dtmf || dtmf != (*codecs)[i]) {
|
||||
- delete (*codecs)[i];
|
||||
- (*codecs)[i] = nullptr;
|
||||
+ std::vector<JsepCodecDescription*> codecsToKeep;
|
||||
+
|
||||
+ bool foundPreferredCodec = false;
|
||||
+ for (auto codec: *codecs) {
|
||||
+ if (codec == dtmf) {
|
||||
+ codecsToKeep.push_back(codec);
|
||||
+ // TODO: keep ulpfec when we enable it in Bug 875922
|
||||
+ // } else if (codec == ulpfec) {
|
||||
+ // codecsToKeep.push_back(codec);
|
||||
+ } else if (!foundPreferredCodec) {
|
||||
+ codecsToKeep.insert(codecsToKeep.begin(), codec);
|
||||
+ foundPreferredCodec = true;
|
||||
+ } else {
|
||||
+ delete codec;
|
||||
}
|
||||
}
|
||||
- if (dtmf) {
|
||||
- (*codecs)[newSize-1] = dtmf;
|
||||
- }
|
||||
- codecs->resize(newSize);
|
||||
+
|
||||
+ *codecs = codecsToKeep;
|
||||
}
|
||||
}
|
||||
|
@ -1,26 +0,0 @@
|
||||
console.error: CustomizeMode:
|
||||
Error entering customize mode
|
||||
Message: TypeError: messageNode.querySelector(...) is null
|
||||
Stack:
|
||||
maybeShowTip@resource:///modules/CustomizeMode.jsm:747:7
|
||||
enter/<@resource:///modules/CustomizeMode.jsm:425:9
|
||||
|
||||
--- browser/components/customizableui/CustomizeMode.jsm.orig 2018-01-31 12:45:10 UTC
|
||||
+++ browser/components/customizableui/CustomizeMode.jsm
|
||||
@@ -735,14 +735,13 @@ CustomizeMode.prototype = {
|
||||
// Put the tip contents in the popup.
|
||||
let bundle = this.document.getElementById("bundle_browser");
|
||||
const kLabelClass = "customization-tipPanel-link";
|
||||
- // eslint-disable-next-line no-unsanitized/property
|
||||
- messageNode.innerHTML = bundle.getFormattedString("customizeTips.tip0", [
|
||||
+ messageNode.unsafeSetInnerHTML(bundle.getFormattedString("customizeTips.tip0", [
|
||||
"<label class=\"customization-tipPanel-em\" value=\"" +
|
||||
bundle.getString("customizeTips.tip0.hint") + "\"/>",
|
||||
this.document.getElementById("bundle_brand").getString("brandShortName"),
|
||||
"<label class=\"" + kLabelClass + " text-link\" value=\"" +
|
||||
bundle.getString("customizeTips.tip0.learnMore") + "\"/>"
|
||||
- ]);
|
||||
+ ]));
|
||||
|
||||
messageNode.querySelector("." + kLabelClass).addEventListener("click", () => {
|
||||
let url = Services.urlFormatter.formatURLPref("browser.customizemode.tip0.learnMoreUrl");
|
Loading…
Reference in New Issue
Block a user