Update Juggler, bump patches to v129.0

- Bumps base FF version to 129.0
- Update LibreWolf patches
- Fix Juggler to work on 129.0
This commit is contained in:
daijro 2024-08-11 01:43:49 -05:00
parent 85e92ecbf4
commit 2d3f828157
5 changed files with 187 additions and 177 deletions

View file

@ -1,24 +1,24 @@
diff --git a/browser/base/content/browser-context.inc b/browser/base/content/browser-context.inc
index 39a139f..c565bce 100644
index 3a58888b28b4..471c238aa284 100644
--- a/browser/base/content/browser-context.inc
+++ b/browser/base/content/browser-context.inc
@@ -100,9 +100,6 @@
@@ -107,9 +107,6 @@
<menuitem id="context-savelink"
data-l10n-id="main-context-menu-save-link"
oncommand="gContextMenu.saveLink();"/>
/>
- <menuitem id="context-savelinktopocket"
- data-l10n-id="main-context-menu-save-link-to-pocket"
- oncommand= "Pocket.savePage(gContextMenu.browser, gContextMenu.linkURL);"/>
- />
<menuitem id="context-copyemail"
data-l10n-id="main-context-menu-copy-email"
oncommand="gContextMenu.copyEmail();"/>
@@ -256,9 +253,6 @@
/>
@@ -264,9 +261,6 @@
<menuitem id="context-savepage"
data-l10n-id="main-context-menu-page-save"
oncommand="gContextMenu.savePageAs();"/>
/>
- <menuitem id="context-pocket"
- data-l10n-id="main-context-menu-save-to-pocket"
- oncommand="Pocket.savePage(gContextMenu.browser, gContextMenu.browser.currentURI.spec, gContextMenu.browser.contentTitle);"/>
- />
<menu id="context-sendpagetodevice"
class="sync-ui-item"
data-l10n-id="main-context-menu-send-to-device"

View file

@ -1,4 +1,5 @@
diff --git a/browser/moz.configure b/browser/moz.configure
index e605019172ad..73268e5d353d 100644
--- a/browser/moz.configure
+++ b/browser/moz.configure
@@ -5,11 +5,11 @@
@ -12,13 +13,14 @@ diff --git a/browser/moz.configure b/browser/moz.configure
imply_option("MOZ_BLOCK_PROFILE_DOWNGRADE", True)
-imply_option("MOZ_NORMANDY", True)
+imply_option("MOZ_NORMANDY", False)
imply_option("MOZ_PROFILE_MIGRATOR", True)
with only_when(target_has_linux_kernel & compile_environment):
option(env="MOZ_NO_PIE_COMPAT", help="Enable non-PIE wrapper")
diff --git a/python/mach/mach/telemetry.py b/python/mach/mach/telemetry.py
index 40d5cc221644..36db9a9e45b1 100644
--- a/python/mach/mach/telemetry.py
+++ b/python/mach/mach/telemetry.py
@@ -98,10 +98,7 @@ def is_applicable_telemetry_environment(
@@ -98,10 +98,7 @@ def is_applicable_telemetry_environment():
def is_telemetry_enabled(settings):

View file

@ -51,10 +51,10 @@ index d4834247f16d..8d56f35a561c 100644
#if defined(MOZ_WAYLAND)
void ConfigureWaylandBackend();
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
index 297149796986..28c0cb2641e2 100644
index b78ad4ca286b..40594a0e6f2f 100644
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -10218,3 +10218,10 @@ void nsWindow::SetDragSource(GdkDragContext* aSourceDragContext) {
@@ -10276,3 +10276,10 @@ void nsWindow::SetDragSource(GdkDragContext* aSourceDragContext) {
}
}
}
@ -66,7 +66,7 @@ index 297149796986..28c0cb2641e2 100644
+ return MakeUnique<MozContainerSurfaceLock>(mContainer);
+}
diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
index 1dd1f1dce8f4..98cec928817f 100644
index 36b039cc5e58..ce57689fcc15 100644
--- a/widget/gtk/nsWindow.h
+++ b/widget/gtk/nsWindow.h
@@ -13,6 +13,7 @@
@ -77,7 +77,7 @@ index 1dd1f1dce8f4..98cec928817f 100644
#include "VsyncSource.h"
#include "mozilla/EventForwards.h"
#include "mozilla/Maybe.h"
@@ -422,6 +423,8 @@ class nsWindow final : public nsBaseWidget {
@@ -421,6 +422,8 @@ class nsWindow final : public nsBaseWidget {
static nsWindow* GetFocusedWindow();

View file

@ -1,4 +1,8 @@
cd camoufox-128.0.3-1 && git diff
# Playwright patches. Modified by daijro.
# Base: https://github.com/microsoft/playwright/blob/acf5ea0904b326c461a9dd0316c36fa30c3bd34b/browser_patches/webkit/patches/bootstrap.diff
# - Removes leaks
# - Updated to Mozilla 1.29.0
cd camoufox-129.0-beta && git diff
diff --git a/accessible/base/NotificationController.h b/accessible/base/NotificationController.h
index 137963f117..41fa27bc4a 100644
--- a/accessible/base/NotificationController.h
@ -90,10 +94,10 @@ index b40e0fceb5..2c4e6d5fbf 100644
DWORD creationFlags = CREATE_SUSPENDED | CREATE_UNICODE_ENVIRONMENT;
diff --git a/browser/installer/allowed-dupes.mn b/browser/installer/allowed-dupes.mn
index f6d425f36a..d60999ab26 100644
index 213a99ed43..ee4f6484cd 100644
--- a/browser/installer/allowed-dupes.mn
+++ b/browser/installer/allowed-dupes.mn
@@ -73,6 +73,12 @@ browser/features/webcompat@mozilla.org/shims/empty-shim.txt
@@ -67,6 +67,12 @@ browser/features/webcompat@mozilla.org/shims/empty-shim.txt
removed-files
#endif
@ -103,11 +107,11 @@ index f6d425f36a..d60999ab26 100644
+chrome/juggler/content/server/stream-utils.js
+chrome/marionette/content/stream-utils.js
+
# Bug 1496075 - Switch searchplugins to Web Extensions
browser/chrome/browser/search-extensions/amazon/favicon.ico
browser/chrome/browser/search-extensions/amazondotcn/favicon.ico
# Bug 1606928 - There's no reliable way to connect Top Sites favicons with the favicons in the Search Service
browser/chrome/browser/content/activity-stream/data/content/tippytop/favicons/allegro-pl.ico
browser/defaults/settings/main/search-config-icons/96327a73-c433-5eb4-a16d-b090cadfb80b
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 3bf9d51155..bb0f71dd60 100644
index da760e1437..a7579b3eae 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -189,6 +189,9 @@
@ -298,7 +302,7 @@ index 61135ab0d7..cc8eb043f1 100644
bool CanSet(FieldIndex<IDX_SuspendMediaWhenInactive>, bool, ContentParent*) {
diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp
index b59a70321b..a1e8a44582 100644
index 18b2bde3da..231a101312 100644
--- a/docshell/base/CanonicalBrowsingContext.cpp
+++ b/docshell/base/CanonicalBrowsingContext.cpp
@@ -1594,6 +1594,12 @@ void CanonicalBrowsingContext::LoadURI(nsIURI* aURI,
@ -315,7 +319,7 @@ index b59a70321b..a1e8a44582 100644
}
diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp
index 354b2c0d66..7948aa03c8 100644
index 60cbd5d5b8..f552a69588 100644
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -15,6 +15,12 @@
@ -592,7 +596,7 @@ index 354b2c0d66..7948aa03c8 100644
NS_IMETHODIMP
nsDocShell::GetIsNavigating(bool* aOut) {
*aOut = mIsNavigating;
@@ -4734,7 +4959,7 @@ nsDocShell::GetVisibility(bool* aVisibility) {
@@ -4739,7 +4964,7 @@ nsDocShell::GetVisibility(bool* aVisibility) {
}
void nsDocShell::ActivenessMaybeChanged() {
@ -601,7 +605,7 @@ index 354b2c0d66..7948aa03c8 100644
if (RefPtr<PresShell> presShell = GetPresShell()) {
presShell->ActivenessMaybeChanged();
}
@@ -6672,6 +6897,10 @@ bool nsDocShell::CanSavePresentation(uint32_t aLoadType,
@@ -6681,6 +6906,10 @@ bool nsDocShell::CanSavePresentation(uint32_t aLoadType,
return false; // no entry to save into
}
@ -612,7 +616,7 @@ index 354b2c0d66..7948aa03c8 100644
MOZ_ASSERT(!mozilla::SessionHistoryInParent(),
"mOSHE cannot be non-null with SHIP");
nsCOMPtr<nsIDocumentViewer> viewer = mOSHE->GetDocumentViewer();
@@ -8401,6 +8630,12 @@ nsresult nsDocShell::PerformRetargeting(nsDocShellLoadState* aLoadState) {
@@ -8413,6 +8642,12 @@ nsresult nsDocShell::PerformRetargeting(nsDocShellLoadState* aLoadState) {
true, // aForceNoOpener
getter_AddRefs(newBC));
MOZ_ASSERT(!newBC);
@ -625,7 +629,7 @@ index 354b2c0d66..7948aa03c8 100644
return rv;
}
@@ -9533,6 +9768,16 @@ nsresult nsDocShell::InternalLoad(nsDocShellLoadState* aLoadState,
@@ -9549,6 +9784,16 @@ nsresult nsDocShell::InternalLoad(nsDocShellLoadState* aLoadState,
nsINetworkPredictor::PREDICT_LOAD, attrs, nullptr);
nsCOMPtr<nsIRequest> req;
@ -642,7 +646,7 @@ index 354b2c0d66..7948aa03c8 100644
rv = DoURILoad(aLoadState, aCacheKey, getter_AddRefs(req));
if (NS_SUCCEEDED(rv)) {
@@ -12710,6 +12955,9 @@ class OnLinkClickEvent : public Runnable {
@@ -12747,6 +12992,9 @@ class OnLinkClickEvent : public Runnable {
mHandler->OnLinkClickSync(mContent, mLoadState, mNoOpenerImplied,
mTriggeringPrincipal);
}
@ -652,7 +656,7 @@ index 354b2c0d66..7948aa03c8 100644
return NS_OK;
}
@@ -12792,6 +13040,8 @@ nsresult nsDocShell::OnLinkClick(
@@ -12836,6 +13084,8 @@ nsresult nsDocShell::OnLinkClick(
nsCOMPtr<nsIRunnable> ev =
new OnLinkClickEvent(this, aContent, loadState, noOpenerImplied,
aIsTrusted, aTriggeringPrincipal);
@ -773,10 +777,10 @@ index fdc04f16c6..199f8fdb06 100644
* This attempts to save any applicable layout history state (like
* scroll position) in the nsISHEntry. This is normally done
diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp
index c6cb09e195..d836946872 100644
index 235e2fcfcc..e81abc3e18 100644
--- a/dom/base/Document.cpp
+++ b/dom/base/Document.cpp
@@ -3674,6 +3674,9 @@ void Document::SendToConsole(nsCOMArray<nsISecurityConsoleMessage>& aMessages) {
@@ -3757,6 +3757,9 @@ void Document::SendToConsole(nsCOMArray<nsISecurityConsoleMessage>& aMessages) {
}
void Document::ApplySettingsFromCSP(bool aSpeculative) {
@ -786,7 +790,7 @@ index c6cb09e195..d836946872 100644
nsresult rv = NS_OK;
if (!aSpeculative) {
// 1) apply settings from regular CSP
@@ -3731,6 +3734,11 @@ nsresult Document::InitCSP(nsIChannel* aChannel) {
@@ -3814,6 +3817,11 @@ nsresult Document::InitCSP(nsIChannel* aChannel) {
MOZ_ASSERT(!mScriptGlobalObject,
"CSP must be initialized before mScriptGlobalObject is set!");
@ -798,7 +802,7 @@ index c6cb09e195..d836946872 100644
// If this is a data document - no need to set CSP.
if (mLoadedAsData) {
return NS_OK;
@@ -4501,6 +4509,10 @@ bool Document::HasFocus(ErrorResult& rv) const {
@@ -4613,6 +4621,10 @@ bool Document::HasFocus(ErrorResult& rv) const {
return false;
}
@ -809,7 +813,7 @@ index c6cb09e195..d836946872 100644
if (!fm->IsInActiveWindow(bc)) {
return false;
}
@@ -18878,6 +18890,66 @@ ColorScheme Document::PreferredColorScheme(IgnoreRFP aIgnoreRFP) const {
@@ -19080,6 +19092,66 @@ ColorScheme Document::PreferredColorScheme(IgnoreRFP aIgnoreRFP) const {
return PreferenceSheet::PrefsFor(*this).mColorScheme;
}
@ -877,10 +881,10 @@ index c6cb09e195..d836946872 100644
if (!sLoadingForegroundTopLevelContentDocument) {
return false;
diff --git a/dom/base/Document.h b/dom/base/Document.h
index 7eea29947d..227314db13 100644
index 0021e45241..2325b7d65b 100644
--- a/dom/base/Document.h
+++ b/dom/base/Document.h
@@ -4035,6 +4035,9 @@ class Document : public nsINode,
@@ -4053,6 +4053,9 @@ class Document : public nsINode,
// color-scheme meta tag.
ColorScheme DefaultColorScheme() const;
@ -891,7 +895,7 @@ index 7eea29947d..227314db13 100644
static bool AutomaticStorageAccessPermissionCanBeGranted(
diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp
index a7229fe412..5b737ab6a8 100644
index e26e0968c1..8e577bd9fd 100644
--- a/dom/base/Navigator.cpp
+++ b/dom/base/Navigator.cpp
@@ -344,14 +344,18 @@ void Navigator::GetAppName(nsAString& aAppName) const {
@ -930,7 +934,7 @@ index a7229fe412..5b737ab6a8 100644
// The returned value is cached by the binding code. The window listens to the
// accept languages change and will clear the cache when needed. It has to
@@ -2288,6 +2298,10 @@ dom::PrivateAttribution* Navigator::PrivateAttribution() {
@@ -2287,6 +2297,10 @@ dom::PrivateAttribution* Navigator::PrivateAttribution() {
/* static */
bool Navigator::Webdriver() {
@ -941,7 +945,7 @@ index a7229fe412..5b737ab6a8 100644
#ifdef ENABLE_WEBDRIVER
nsCOMPtr<nsIMarionette> marionette = do_GetService(NS_MARIONETTE_CONTRACTID);
if (marionette) {
@@ -2307,8 +2321,6 @@ bool Navigator::Webdriver() {
@@ -2306,8 +2320,6 @@ bool Navigator::Webdriver() {
}
}
#endif
@ -951,7 +955,7 @@ index a7229fe412..5b737ab6a8 100644
AutoplayPolicy Navigator::GetAutoplayPolicy(AutoplayPolicyMediaType aType) {
diff --git a/dom/base/Navigator.h b/dom/base/Navigator.h
index 4c400554f9..6efdca2363 100644
index 6abf6cef23..46ead1f32e 100644
--- a/dom/base/Navigator.h
+++ b/dom/base/Navigator.h
@@ -218,7 +218,7 @@ class Navigator final : public nsISupports, public nsWrapperCache {
@ -964,20 +968,20 @@ index 4c400554f9..6efdca2363 100644
dom::MediaCapabilities* MediaCapabilities();
dom::MediaSession* MediaSession();
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp
index 1edbffd535..33376c1d44 100644
index 7b7deca251..f0064bead9 100644
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -8796,7 +8796,8 @@ nsresult nsContentUtils::SendMouseEvent(
@@ -8829,7 +8829,8 @@ nsresult nsContentUtils::SendMouseEvent(
bool aIgnoreRootScrollFrame, float aPressure,
unsigned short aInputSourceArg, uint32_t aIdentifier, bool aToWindow,
PreventDefaultResult* aPreventDefault, bool aIsDOMEventSynthesized,
- bool aIsWidgetEventSynthesized) {
+ bool aIsWidgetEventSynthesized,
+ bool convertToPointer, uint32_t aJugglerEventId) {
+ bool aIsWidgetEventSynthesized, bool convertToPointer,
+ uint32_t aJugglerEventId) {
nsPoint offset;
nsCOMPtr<nsIWidget> widget = GetWidget(aPresShell, &offset);
if (!widget) return NS_ERROR_FAILURE;
@@ -8804,6 +8805,7 @@ nsresult nsContentUtils::SendMouseEvent(
@@ -8837,6 +8838,7 @@ nsresult nsContentUtils::SendMouseEvent(
EventMessage msg;
Maybe<WidgetMouseEvent::ExitFrom> exitFrom;
bool contextMenuKey = false;
@ -985,7 +989,7 @@ index 1edbffd535..33376c1d44 100644
if (aType.EqualsLiteral("mousedown")) {
msg = eMouseDown;
} else if (aType.EqualsLiteral("mouseup")) {
@@ -8828,6 +8830,12 @@ nsresult nsContentUtils::SendMouseEvent(
@@ -8861,6 +8863,12 @@ nsresult nsContentUtils::SendMouseEvent(
msg = eMouseHitTest;
} else if (aType.EqualsLiteral("MozMouseExploreByTouch")) {
msg = eMouseExploreByTouch;
@ -998,46 +1002,54 @@ index 1edbffd535..33376c1d44 100644
} else {
return NS_ERROR_FAILURE;
}
@@ -8836,12 +8844,21 @@ nsresult nsContentUtils::SendMouseEvent(
aInputSourceArg = MouseEvent_Binding::MOZ_SOURCE_MOUSE;
}
@@ -8871,6 +8879,8 @@ nsresult nsContentUtils::SendMouseEvent(
- WidgetMouseEvent event(true, msg, widget,
+ std::unique_ptr<WidgetMouseEvent> eventOwner;
+ if (isDragEvent) {
+ eventOwner.reset(new WidgetDragEvent(true, msg, widget));
+ eventOwner->mReason = aIsWidgetEventSynthesized
Maybe<WidgetPointerEvent> pointerEvent;
Maybe<WidgetMouseEvent> mouseEvent;
+ Maybe<WidgetDragEvent> dragEvent;
+
if (IsPointerEventMessage(msg)) {
MOZ_ASSERT(!aIsWidgetEventSynthesized,
"The event shouldn't be dispatched as a synthesized event");
@@ -8882,6 +8892,11 @@ nsresult nsContentUtils::SendMouseEvent(
pointerEvent.emplace(true, msg, widget,
contextMenuKey ? WidgetMouseEvent::eContextMenuKey
: WidgetMouseEvent::eNormal);
+ } else if (isDragEvent) {
+ dragEvent.emplace(true, msg, widget);
+ dragEvent->mReason = aIsWidgetEventSynthesized
+ ? WidgetMouseEvent::eSynthesized
+ : WidgetMouseEvent::eReal;
+ } else {
+ eventOwner.reset(new WidgetMouseEvent(true, msg, widget,
aIsWidgetEventSynthesized
? WidgetMouseEvent::eSynthesized
: WidgetMouseEvent::eReal,
contextMenuKey ? WidgetMouseEvent::eContextMenuKey
- : WidgetMouseEvent::eNormal);
+ : WidgetMouseEvent::eNormal));
+ }
+ WidgetMouseEvent& event = *eventOwner.get();
event.pointerId = aIdentifier;
event.mModifiers = GetWidgetModifiers(aModifiers);
event.mButton = aButton;
@@ -8852,8 +8869,10 @@ nsresult nsContentUtils::SendMouseEvent(
event.mPressure = aPressure;
event.mInputSource = aInputSourceArg;
event.mClickCount = aClickCount;
+ event.mJugglerEventId = aJugglerEventId;
event.mFlags.mIsSynthesizedForTests = aIsDOMEventSynthesized;
event.mExitFrom = exitFrom;
+ event.convertToPointer = convertToPointer;
} else {
mouseEvent.emplace(true, msg, widget,
aIsWidgetEventSynthesized
@@ -8891,7 +8906,9 @@ nsresult nsContentUtils::SendMouseEvent(
: WidgetMouseEvent::eNormal);
}
WidgetMouseEvent& mouseOrPointerEvent =
- pointerEvent.isSome() ? pointerEvent.ref() : mouseEvent.ref();
+ pointerEvent.isSome() ? pointerEvent.ref() :
+ dragEvent.isSome() ? dragEvent.ref() : mouseEvent.ref();
+
mouseOrPointerEvent.pointerId = aIdentifier;
mouseOrPointerEvent.mModifiers = GetWidgetModifiers(aModifiers);
mouseOrPointerEvent.mButton = aButton;
@@ -8902,8 +8919,10 @@ nsresult nsContentUtils::SendMouseEvent(
mouseOrPointerEvent.mPressure = aPressure;
mouseOrPointerEvent.mInputSource = aInputSourceArg;
mouseOrPointerEvent.mClickCount = aClickCount;
+ mouseOrPointerEvent.mJugglerEventId = aJugglerEventId;
mouseOrPointerEvent.mFlags.mIsSynthesizedForTests = aIsDOMEventSynthesized;
mouseOrPointerEvent.mExitFrom = exitFrom;
+ mouseOrPointerEvent.convertToPointer = convertToPointer;
nsPresContext* presContext = aPresShell->GetPresContext();
if (!presContext) return NS_ERROR_FAILURE;
diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h
index ef3c1fd7cb..bd4e6e5db6 100644
index 3837cce20c..81ccfbe139 100644
--- a/dom/base/nsContentUtils.h
+++ b/dom/base/nsContentUtils.h
@@ -3078,7 +3078,8 @@ class nsContentUtils {
@@ -3093,7 +3093,8 @@ class nsContentUtils {
int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure,
unsigned short aInputSourceArg, uint32_t aIdentifier, bool aToWindow,
mozilla::PreventDefaultResult* aPreventDefault,
@ -1048,7 +1060,7 @@ index ef3c1fd7cb..bd4e6e5db6 100644
static void FirePageShowEventForFrameLoaderSwap(
nsIDocShellTreeItem* aItem,
diff --git a/dom/base/nsDOMWindowUtils.cpp b/dom/base/nsDOMWindowUtils.cpp
index 6d611b4a84..13640d6bd8 100644
index e2de2b30c0..f937f561c0 100644
--- a/dom/base/nsDOMWindowUtils.cpp
+++ b/dom/base/nsDOMWindowUtils.cpp
@@ -684,6 +684,26 @@ nsDOMWindowUtils::GetPresShellId(uint32_t* aPresShellId) {
@ -1113,7 +1125,7 @@ index 6d611b4a84..13640d6bd8 100644
if (aPreventDefault) {
*aPreventDefault = preventDefaultResult != PreventDefaultResult::No;
diff --git a/dom/base/nsDOMWindowUtils.h b/dom/base/nsDOMWindowUtils.h
index 63968c9b7a..decf3ea383 100644
index 47ff326b20..b8e084b0c7 100644
--- a/dom/base/nsDOMWindowUtils.h
+++ b/dom/base/nsDOMWindowUtils.h
@@ -93,7 +93,7 @@ class nsDOMWindowUtils final : public nsIDOMWindowUtils,
@ -1126,7 +1138,7 @@ index 63968c9b7a..decf3ea383 100644
MOZ_CAN_RUN_SCRIPT
nsresult SendTouchEventCommon(
diff --git a/dom/base/nsFocusManager.cpp b/dom/base/nsFocusManager.cpp
index 587f03849d..28780215bd 100644
index 22c175c93e..3b4a243d1d 100644
--- a/dom/base/nsFocusManager.cpp
+++ b/dom/base/nsFocusManager.cpp
@@ -1684,6 +1684,10 @@ Maybe<uint64_t> nsFocusManager::SetFocusInner(Element* aNewContent,
@ -1165,7 +1177,7 @@ index 587f03849d..28780215bd 100644
// care of lowering the present active window. This happens in
// a separate runnable to avoid touching multiple windows in
diff --git a/dom/base/nsGlobalWindowOuter.cpp b/dom/base/nsGlobalWindowOuter.cpp
index 460ccc17f2..d294373ca9 100644
index e47d497907..360ab27a8f 100644
--- a/dom/base/nsGlobalWindowOuter.cpp
+++ b/dom/base/nsGlobalWindowOuter.cpp
@@ -2514,10 +2514,16 @@ nsresult nsGlobalWindowOuter::SetNewDocument(Document* aDocument,
@ -1222,10 +1234,10 @@ index 0039d6d91b..7a6c5da166 100644
// Outer windows only.
virtual void EnsureSizeAndPositionUpToDate() override;
diff --git a/dom/base/nsINode.cpp b/dom/base/nsINode.cpp
index 600fce143a..ec6f7c60d0 100644
index 4b54dcd5b4..e75b5f148d 100644
--- a/dom/base/nsINode.cpp
+++ b/dom/base/nsINode.cpp
@@ -1387,6 +1387,61 @@ void nsINode::GetBoxQuadsFromWindowOrigin(const BoxQuadOptions& aOptions,
@@ -1402,6 +1402,61 @@ void nsINode::GetBoxQuadsFromWindowOrigin(const BoxQuadOptions& aOptions,
mozilla::GetBoxQuadsFromWindowOrigin(this, aOptions, aResult, aRv);
}
@ -1288,10 +1300,10 @@ index 600fce143a..ec6f7c60d0 100644
DOMQuad& aQuad, const GeometryNode& aFrom,
const ConvertCoordinateOptions& aOptions, CallerType aCallerType,
diff --git a/dom/base/nsINode.h b/dom/base/nsINode.h
index 2906bbb56c..06697f07c7 100644
index 6f980f472a..3d60daf881 100644
--- a/dom/base/nsINode.h
+++ b/dom/base/nsINode.h
@@ -2282,6 +2282,10 @@ class nsINode : public mozilla::dom::EventTarget {
@@ -2303,6 +2303,10 @@ class nsINode : public mozilla::dom::EventTarget {
nsTArray<RefPtr<DOMQuad>>& aResult,
ErrorResult& aRv);
@ -1331,7 +1343,7 @@ index cceb725d39..e906a7fb7c 100644
static bool DumpEnabled();
diff --git a/dom/chrome-webidl/BrowsingContext.webidl b/dom/chrome-webidl/BrowsingContext.webidl
index d70f3e18cc..2f2be2a653 100644
index 864890f6a2..a34005c323 100644
--- a/dom/chrome-webidl/BrowsingContext.webidl
+++ b/dom/chrome-webidl/BrowsingContext.webidl
@@ -53,6 +53,24 @@ enum PrefersColorSchemeOverride {
@ -1472,10 +1484,10 @@ index 7e1af00d05..e85af9718d 100644
~Geolocation();
diff --git a/dom/html/HTMLInputElement.cpp b/dom/html/HTMLInputElement.cpp
index 30093e5d40..2852746b6f 100644
index e2a77a1143..a614efef05 100644
--- a/dom/html/HTMLInputElement.cpp
+++ b/dom/html/HTMLInputElement.cpp
@@ -57,6 +57,7 @@
@@ -59,6 +59,7 @@
#include "mozilla/dom/Document.h"
#include "mozilla/dom/HTMLDataListElement.h"
#include "mozilla/dom/HTMLOptionElement.h"
@ -1483,7 +1495,7 @@ index 30093e5d40..2852746b6f 100644
#include "nsIFormControlFrame.h"
#include "nsITextControlFrame.h"
#include "nsIFrame.h"
@@ -783,6 +784,13 @@ nsresult HTMLInputElement::InitFilePicker(FilePickerType aType) {
@@ -784,6 +785,13 @@ nsresult HTMLInputElement::InitFilePicker(FilePickerType aType) {
return NS_ERROR_FAILURE;
}
@ -1494,14 +1506,14 @@ index 30093e5d40..2852746b6f 100644
+ return NS_OK;
+ }
+
if (IsPopupBlocked(doc)) {
if (IsPickerBlocked(doc)) {
return NS_OK;
}
diff --git a/dom/interfaces/base/nsIDOMWindowUtils.idl b/dom/interfaces/base/nsIDOMWindowUtils.idl
index 9d185e8e7e..9d48d2e335 100644
index ac0251b498..184f4d980c 100644
--- a/dom/interfaces/base/nsIDOMWindowUtils.idl
+++ b/dom/interfaces/base/nsIDOMWindowUtils.idl
@@ -373,6 +373,26 @@ interface nsIDOMWindowUtils : nsISupports {
@@ -374,6 +374,26 @@ interface nsIDOMWindowUtils : nsISupports {
[optional] in long aButtons,
[optional] in unsigned long aIdentifier);
@ -1529,10 +1541,10 @@ index 9d185e8e7e..9d48d2e335 100644
* touchstart, touchend, touchmove, and touchcancel
*
diff --git a/dom/ipc/BrowserChild.cpp b/dom/ipc/BrowserChild.cpp
index 27fb1239db..39f9dd48ee 100644
index 204ee71ece..8597f2d0c4 100644
--- a/dom/ipc/BrowserChild.cpp
+++ b/dom/ipc/BrowserChild.cpp
@@ -1639,6 +1639,21 @@ void BrowserChild::HandleRealMouseButtonEvent(const WidgetMouseEvent& aEvent,
@@ -1656,6 +1656,21 @@ void BrowserChild::HandleRealMouseButtonEvent(const WidgetMouseEvent& aEvent,
if (postLayerization) {
postLayerization->Register();
}
@ -1810,7 +1822,7 @@ index 3b39538e51..c7bf4f2d53 100644
return aGlobalOrNull;
diff --git a/dom/security/nsCSPUtils.cpp b/dom/security/nsCSPUtils.cpp
index f4aecfaf44..ef01750497 100644
index 4eafb2247d..e0d0b5bc78 100644
--- a/dom/security/nsCSPUtils.cpp
+++ b/dom/security/nsCSPUtils.cpp
@@ -22,6 +22,7 @@
@ -1857,7 +1869,7 @@ index 2f71b284ee..2640bd5712 100644
* returned quads are further translated relative to the window
* origin -- which is not the layout origin. Further translation
diff --git a/dom/workers/RuntimeService.cpp b/dom/workers/RuntimeService.cpp
index 4a7ebb2523..0b7b24a4da 100644
index 6085248083..23b72e2d00 100644
--- a/dom/workers/RuntimeService.cpp
+++ b/dom/workers/RuntimeService.cpp
@@ -998,7 +998,7 @@ void PrefLanguagesChanged(const char* /* aPrefName */, void* /* aClosure */) {
@ -1879,7 +1891,7 @@ index 4a7ebb2523..0b7b24a4da 100644
mNavigatorPropertiesLoaded = true;
}
@@ -1795,6 +1794,13 @@ void RuntimeService::PropagateStorageAccessPermissionGranted(
@@ -1808,6 +1807,13 @@ void RuntimeService::PropagateStorageAccessPermissionGranted(
}
}
@ -1893,7 +1905,7 @@ index 4a7ebb2523..0b7b24a4da 100644
template <typename Func>
void RuntimeService::BroadcastAllWorkers(const Func& aFunc) {
AssertIsOnMainThread();
@@ -2314,6 +2320,14 @@ void PropagateStorageAccessPermissionGrantedToWorkers(
@@ -2333,6 +2339,14 @@ void PropagateStorageAccessPermissionGrantedToWorkers(
}
}
@ -1909,10 +1921,10 @@ index 4a7ebb2523..0b7b24a4da 100644
MOZ_ASSERT(!NS_IsMainThread());
MOZ_ASSERT(aCx);
diff --git a/dom/workers/RuntimeService.h b/dom/workers/RuntimeService.h
index f51076ac14..fe15b2e00d 100644
index 534bbe9ec4..6aa99b64fd 100644
--- a/dom/workers/RuntimeService.h
+++ b/dom/workers/RuntimeService.h
@@ -109,6 +109,8 @@ class RuntimeService final : public nsIObserver {
@@ -112,6 +112,8 @@ class RuntimeService final : public nsIObserver {
void PropagateStorageAccessPermissionGranted(
const nsPIDOMWindowInner& aWindow);
@ -1922,10 +1934,10 @@ index f51076ac14..fe15b2e00d 100644
return mNavigatorProperties;
}
diff --git a/dom/workers/WorkerCommon.h b/dom/workers/WorkerCommon.h
index d10dabb5c5..53c4070c5f 100644
index 58894a8361..c481d40d79 100644
--- a/dom/workers/WorkerCommon.h
+++ b/dom/workers/WorkerCommon.h
@@ -44,6 +44,8 @@ void ResumeWorkersForWindow(const nsPIDOMWindowInner& aWindow);
@@ -47,6 +47,8 @@ void ResumeWorkersForWindow(const nsPIDOMWindowInner& aWindow);
void PropagateStorageAccessPermissionGrantedToWorkers(
const nsPIDOMWindowInner& aWindow);
@ -1935,10 +1947,10 @@ index d10dabb5c5..53c4070c5f 100644
bool IsWorkerGlobal(JSObject* global);
diff --git a/dom/workers/WorkerPrivate.cpp b/dom/workers/WorkerPrivate.cpp
index 7fbfdb0eee..c31ae2724d 100644
index 089f42307b..63fb760ac8 100644
--- a/dom/workers/WorkerPrivate.cpp
+++ b/dom/workers/WorkerPrivate.cpp
@@ -682,6 +682,18 @@ class UpdateContextOptionsRunnable final : public WorkerControlRunnable {
@@ -700,6 +700,18 @@ class UpdateContextOptionsRunnable final : public WorkerControlRunnable {
}
};
@ -1957,7 +1969,7 @@ index 7fbfdb0eee..c31ae2724d 100644
class UpdateLanguagesRunnable final : public WorkerThreadRunnable {
nsTArray<nsString> mLanguages;
@@ -2091,6 +2103,16 @@ void WorkerPrivate::UpdateContextOptions(
@@ -2108,6 +2120,16 @@ void WorkerPrivate::UpdateContextOptions(
}
}
@ -1974,7 +1986,7 @@ index 7fbfdb0eee..c31ae2724d 100644
void WorkerPrivate::UpdateLanguages(const nsTArray<nsString>& aLanguages) {
AssertIsOnParentThread();
@@ -5667,6 +5689,15 @@ void WorkerPrivate::UpdateContextOptionsInternal(
@@ -5736,6 +5758,15 @@ void WorkerPrivate::UpdateContextOptionsInternal(
}
}
@ -1991,10 +2003,10 @@ index 7fbfdb0eee..c31ae2724d 100644
const nsTArray<nsString>& aLanguages) {
WorkerGlobalScope* globalScope = GlobalScope();
diff --git a/dom/workers/WorkerPrivate.h b/dom/workers/WorkerPrivate.h
index 57212e01fb..bc75882ee6 100644
index dfb96b7b79..a463eec618 100644
--- a/dom/workers/WorkerPrivate.h
+++ b/dom/workers/WorkerPrivate.h
@@ -418,6 +418,8 @@ class WorkerPrivate final
@@ -432,6 +432,8 @@ class WorkerPrivate final
void UpdateContextOptionsInternal(JSContext* aCx,
const JS::ContextOptions& aContextOptions);
@ -2003,7 +2015,7 @@ index 57212e01fb..bc75882ee6 100644
void UpdateLanguagesInternal(const nsTArray<nsString>& aLanguages);
void UpdateJSWorkerMemoryParameterInternal(JSContext* aCx, JSGCParamKey key,
@@ -1045,6 +1047,8 @@ class WorkerPrivate final
@@ -1059,6 +1061,8 @@ class WorkerPrivate final
void UpdateContextOptions(const JS::ContextOptions& aContextOptions);
@ -2235,10 +2247,10 @@ index 0ec6ee3eb3..885dba71bc 100644
// No boxes to return
return;
diff --git a/layout/base/PresShell.cpp b/layout/base/PresShell.cpp
index 6e588cff05..a173b1154e 100644
index f154e05a8c..0af8c24c0f 100644
--- a/layout/base/PresShell.cpp
+++ b/layout/base/PresShell.cpp
@@ -11063,7 +11063,9 @@ bool PresShell::ComputeActiveness() const {
@@ -11064,7 +11064,9 @@ bool PresShell::ComputeActiveness() const {
if (!browserChild->IsVisible()) {
MOZ_LOG(gLog, LogLevel::Debug,
(" > BrowserChild %p is not visible", browserChild));
@ -2250,7 +2262,7 @@ index 6e588cff05..a173b1154e 100644
// If the browser is visible but just due to be preserving layers
diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp
index 2ed62888d7..0ca02752aa 100644
index 0011b1a1a3..58e7f4a220 100644
--- a/layout/base/nsLayoutUtils.cpp
+++ b/layout/base/nsLayoutUtils.cpp
@@ -698,6 +698,7 @@ bool nsLayoutUtils::AllowZoomingForDocument(
@ -2295,20 +2307,18 @@ index cc86d1abf6..8cce20c719 100644
bool Gecko_MediaFeatures_PrefersReducedTransparency(const Document* aDocument) {
diff --git a/netwerk/base/LoadInfo.cpp b/netwerk/base/LoadInfo.cpp
index 5ff1c5ad8b..a788218d4f 100644
index 21d5a5e1b4..fa435f229d 100644
--- a/netwerk/base/LoadInfo.cpp
+++ b/netwerk/base/LoadInfo.cpp
@@ -691,7 +691,8 @@ LoadInfo::LoadInfo(const LoadInfo& rhs)
mInterceptionInfo(rhs.mInterceptionInfo),
@@ -693,6 +693,7 @@ LoadInfo::LoadInfo(const LoadInfo& rhs)
mHasInjectedCookieForCookieBannerHandling(
rhs.mHasInjectedCookieForCookieBannerHandling),
- mWasSchemelessInput(rhs.mWasSchemelessInput) {
+ mWasSchemelessInput(rhs.mWasSchemelessInput),
+ mJugglerLoadIdentifier(rhs.mJugglerLoadIdentifier) {
mWasSchemelessInput(rhs.mWasSchemelessInput),
+ mJugglerLoadIdentifier(rhs.mJugglerLoadIdentifier),
mHttpsUpgradeTelemetry(rhs.mHttpsUpgradeTelemetry) {
}
LoadInfo::LoadInfo(
@@ -2416,4 +2417,16 @@ LoadInfo::SetWasSchemelessInput(bool aWasSchemelessInput) {
@@ -2461,4 +2462,16 @@ LoadInfo::SetHttpsUpgradeTelemetry(
return NS_OK;
}
@ -2326,23 +2336,23 @@ index 5ff1c5ad8b..a788218d4f 100644
+
} // namespace mozilla::net
diff --git a/netwerk/base/LoadInfo.h b/netwerk/base/LoadInfo.h
index e6badeeee8..994216ee9b 100644
index 52d867196a..140e2cd9f4 100644
--- a/netwerk/base/LoadInfo.h
+++ b/netwerk/base/LoadInfo.h
@@ -408,6 +408,8 @@ class LoadInfo final : public nsILoadInfo {
@@ -414,6 +414,8 @@ class LoadInfo final : public nsILoadInfo {
bool mHasInjectedCookieForCookieBannerHandling = false;
bool mWasSchemelessInput = false;
+
+ uint64_t mJugglerLoadIdentifier = 0;
};
// This is exposed solely for testing purposes and should not be used outside of
+ uint64_t mJugglerLoadIdentifier = 0;
+
nsILoadInfo::HTTPSUpgradeTelemetryType mHttpsUpgradeTelemetry =
nsILoadInfo::NO_UPGRADE;
};
diff --git a/netwerk/base/TRRLoadInfo.cpp b/netwerk/base/TRRLoadInfo.cpp
index 48560a8b3b..b2114472b0 100644
index 9dc2bb0da6..b71cf63934 100644
--- a/netwerk/base/TRRLoadInfo.cpp
+++ b/netwerk/base/TRRLoadInfo.cpp
@@ -870,5 +870,15 @@ TRRLoadInfo::SetWasSchemelessInput(bool aWasSchemelessInput) {
@@ -903,5 +903,15 @@ TRRLoadInfo::SetHttpsUpgradeTelemetry(
return NS_ERROR_NOT_IMPLEMENTED;
}
@ -2359,16 +2369,18 @@ index 48560a8b3b..b2114472b0 100644
} // namespace net
} // namespace mozilla
diff --git a/netwerk/base/nsILoadInfo.idl b/netwerk/base/nsILoadInfo.idl
index 8ff5e556c9..b1429dbe18 100644
index 12f43b9110..e1ce56501b 100644
--- a/netwerk/base/nsILoadInfo.idl
+++ b/netwerk/base/nsILoadInfo.idl
@@ -1544,4 +1544,6 @@ interface nsILoadInfo : nsISupports
* Whether the load has gone through the URL bar, where the fixup had to add * the protocol scheme.
@@ -1568,6 +1568,8 @@ interface nsILoadInfo : nsISupports
*/
[infallible] attribute boolean wasSchemelessInput;
+
+ [infallible] attribute unsigned long long jugglerLoadIdentifier;
};
+
cenum HTTPSUpgradeTelemetryType : 32 {
NO_UPGRADE = 0,
ALREADY_HTTPS = (1 << 0),
diff --git a/netwerk/base/nsINetworkInterceptController.idl b/netwerk/base/nsINetworkInterceptController.idl
index 7f91d2df6f..ba6569f4be 100644
--- a/netwerk/base/nsINetworkInterceptController.idl
@ -2382,19 +2394,19 @@ index 7f91d2df6f..ba6569f4be 100644
/**
* Set the status and reason for the forthcoming synthesized response.
diff --git a/netwerk/ipc/DocumentLoadListener.cpp b/netwerk/ipc/DocumentLoadListener.cpp
index dfd80e8867..a702bbe63c 100644
index 10f65a549c..f41d32ce90 100644
--- a/netwerk/ipc/DocumentLoadListener.cpp
+++ b/netwerk/ipc/DocumentLoadListener.cpp
@@ -168,6 +168,7 @@ static auto CreateDocumentLoadInfo(CanonicalBrowsingContext* aBrowsingContext,
loadInfo->SetHasValidUserGestureActivation(
aLoadState->HasValidUserGestureActivation());
@@ -171,6 +171,7 @@ static auto CreateDocumentLoadInfo(CanonicalBrowsingContext* aBrowsingContext,
loadInfo->SetTextDirectiveUserActivation(
aLoadState->GetTextDirectiveUserActivation());
loadInfo->SetIsMetaRefresh(aLoadState->IsMetaRefresh());
+ loadInfo->SetJugglerLoadIdentifier(aLoadState->GetLoadIdentifier());
return loadInfo.forget();
}
diff --git a/netwerk/protocol/http/InterceptedHttpChannel.cpp b/netwerk/protocol/http/InterceptedHttpChannel.cpp
index 5695d46f92..d28ead55f6 100644
index e81a4538fd..d7945f8129 100644
--- a/netwerk/protocol/http/InterceptedHttpChannel.cpp
+++ b/netwerk/protocol/http/InterceptedHttpChannel.cpp
@@ -727,6 +727,14 @@ NS_IMPL_ISUPPORTS(ResetInterceptionHeaderVisitor, nsIHttpHeaderVisitor)
@ -2567,7 +2579,7 @@ index df1c5e464b..34451e791b 100644
}
diff --git a/toolkit/components/browser/nsIWebBrowserChrome.idl b/toolkit/components/browser/nsIWebBrowserChrome.idl
index 217beda78e..7ba723410e 100644
index 75555352b8..72855a404e 100644
--- a/toolkit/components/browser/nsIWebBrowserChrome.idl
+++ b/toolkit/components/browser/nsIWebBrowserChrome.idl
@@ -74,6 +74,9 @@ interface nsIWebBrowserChrome : nsISupports
@ -2581,10 +2593,10 @@ index 217beda78e..7ba723410e 100644
// ignored for Linux.
const unsigned long CHROME_SUPPRESS_ANIMATION = 1 << 24;
diff --git a/toolkit/components/resistfingerprinting/nsUserCharacteristics.cpp b/toolkit/components/resistfingerprinting/nsUserCharacteristics.cpp
index 32b1ac4813..808031fbeb 100644
index 144628a310..69fa66f27d 100644
--- a/toolkit/components/resistfingerprinting/nsUserCharacteristics.cpp
+++ b/toolkit/components/resistfingerprinting/nsUserCharacteristics.cpp
@@ -525,7 +525,7 @@ void PopulateLanguages() {
@@ -632,7 +632,7 @@ void PopulateLanguages() {
// sufficient to only collect this information as the other properties are
// just reformats of Navigator::GetAcceptLanguages.
nsTArray<nsString> languages;
@ -2622,10 +2634,10 @@ index 654903fadb..815b3dc24c 100644
int32_t aMaxSelfProgress,
int32_t aCurTotalProgress,
diff --git a/toolkit/components/windowwatcher/nsWindowWatcher.cpp b/toolkit/components/windowwatcher/nsWindowWatcher.cpp
index 0767cb1539..dc0d72b4ff 100644
index cdba76dc8a..266fdc6235 100644
--- a/toolkit/components/windowwatcher/nsWindowWatcher.cpp
+++ b/toolkit/components/windowwatcher/nsWindowWatcher.cpp
@@ -1861,7 +1861,11 @@ uint32_t nsWindowWatcher::CalculateChromeFlagsForContent(
@@ -1865,7 +1865,11 @@ uint32_t nsWindowWatcher::CalculateChromeFlagsForContent(
// Open a minimal popup.
*aIsPopupRequested = true;
@ -2703,7 +2715,7 @@ index fe72a2715d..a5959143ba 100644
// nsDocumentViewer::LoadComplete that doesn't do various things
// that are not relevant here because this wasn't an actual
diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp b/uriloader/exthandler/nsExternalHelperAppService.cpp
index b9120ededd..4d5728a737 100644
index ad769a235b..ff18e7516a 100644
--- a/uriloader/exthandler/nsExternalHelperAppService.cpp
+++ b/uriloader/exthandler/nsExternalHelperAppService.cpp
@@ -112,6 +112,7 @@
@ -2915,45 +2927,41 @@ index 1c25e9d9a1..22cf67b0f6 100644
}
#endif
diff --git a/widget/MouseEvents.h b/widget/MouseEvents.h
index d29b406524..6bef9c1657 100644
index 3d469853bb..7085d1f271 100644
--- a/widget/MouseEvents.h
+++ b/widget/MouseEvents.h
@@ -258,6 +258,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase,
: mReason(eReal),
mContextMenuTrigger(eNormal),
mClickCount(0),
+ mJugglerEventId(0),
mIgnoreRootScrollFrame(false),
mClickEventPrevented(false) {}
@@ -269,6 +270,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase,
@@ -263,7 +263,8 @@ class WidgetMouseEvent : public WidgetMouseEventBase,
: WidgetMouseEventBase(aIsTrusted, aMessage, aWidget, aEventClassID,
aTime),
mReason(aReason),
mContextMenuTrigger(eNormal),
mClickCount(0),
+ mJugglerEventId(0),
mIgnoreRootScrollFrame(false),
mClickEventPrevented(false) {}
- mContextMenuTrigger(aContextMenuTrigger) {}
+ mContextMenuTrigger(aContextMenuTrigger),
+ mJugglerEventId(0) {}
@@ -288,6 +290,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase,
#ifdef DEBUG
void AssertContextMenuEventButtonConsistency() const;
@@ -279,7 +280,8 @@ class WidgetMouseEvent : public WidgetMouseEventBase,
: WidgetMouseEventBase(aIsTrusted, aMessage, aWidget, eMouseEventClass,
aTime),
mReason(aReason),
mContextMenuTrigger(aContextMenuTrigger),
mClickCount(0),
+ mJugglerEventId(0),
mIgnoreRootScrollFrame(false),
mClickEventPrevented(false) {
- mContextMenuTrigger(aContextMenuTrigger) {
+ mContextMenuTrigger(aContextMenuTrigger),
+ mJugglerEventId(0) {
MOZ_ASSERT_IF(aIsTrusted, !IsPointerEventMessage(mMessage));
if (aMessage == eContextMenu) {
@@ -336,6 +339,9 @@ class WidgetMouseEvent : public WidgetMouseEventBase,
mButton = (mContextMenuTrigger == eNormal) ? MouseButton::eSecondary
@@ -327,6 +329,9 @@ class WidgetMouseEvent : public WidgetMouseEventBase,
// Otherwise, this must be 0.
uint32_t mClickCount;
uint32_t mClickCount = 0;
+ // Unique event ID
+ uint32_t mJugglerEventId;
+
// Whether the event should ignore scroll frame bounds during dispatch.
bool mIgnoreRootScrollFrame;
@@ -348,6 +354,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase,
bool mIgnoreRootScrollFrame = false;
@@ -341,6 +346,7 @@ class WidgetMouseEvent : public WidgetMouseEventBase,
mContextMenuTrigger = aEvent.mContextMenuTrigger;
mExitFrom = aEvent.mExitFrom;
mClickCount = aEvent.mClickCount;
+ mJugglerEventId = aEvent.mJugglerEventId;
@ -3173,7 +3181,7 @@ index facd2bc65a..d6dea95472 100644
} // namespace widget
diff --git a/widget/headless/HeadlessWidget.cpp b/widget/headless/HeadlessWidget.cpp
index 419b3bf940..07dc395498 100644
index c6095751bc..ce1b995015 100644
--- a/widget/headless/HeadlessWidget.cpp
+++ b/widget/headless/HeadlessWidget.cpp
@@ -111,6 +111,8 @@ void HeadlessWidget::Destroy() {
@ -3185,7 +3193,7 @@ index 419b3bf940..07dc395498 100644
nsBaseWidget::OnDestroy();
nsBaseWidget::Destroy();
@@ -620,5 +622,14 @@ nsresult HeadlessWidget::SynthesizeNativeTouchpadPan(
@@ -613,5 +615,14 @@ nsresult HeadlessWidget::SynthesizeNativeTouchpadPan(
return NS_OK;
}
@ -3215,7 +3223,7 @@ index 9856991ef3..948947a421 100644
~HeadlessWidget();
bool mEnabled;
diff --git a/widget/nsGUIEventIPC.h b/widget/nsGUIEventIPC.h
index 8ba4682935..a1b5b2c523 100644
index 02775a7f27..6c1ae0e371 100644
--- a/widget/nsGUIEventIPC.h
+++ b/widget/nsGUIEventIPC.h
@@ -234,6 +234,7 @@ struct ParamTraits<mozilla::WidgetMouseEvent> {

View file

@ -1,2 +1,2 @@
version=128.0.3
release=1
version=129.0
release=beta