lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Threads by month
  • ----- 2026 -----
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 1 participants
  • 20449 discussions
[Git][tpo/applications/tor-browser][tor-browser-128.3.0esr-14.0-1] Bug 43196: Remove the vendor name from media notifications on Linux.
by morgan (@morgan) 08 Oct '24

08 Oct '24
morgan pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: d586e4a6 by Pier Angelo Vendrame at 2024-10-08T20:09:43+00:00 Bug 43196: Remove the vendor name from media notifications on Linux. Firefox shows "vendor remoteName" as a title of the "... is playing media" notification on Linux. However, for our browser the remote name is enough, and prepending the vendor to it creates a string users usually never see. - - - - - 1 changed file: - widget/gtk/MPRISServiceHandler.cpp Changes: ===================================== widget/gtk/MPRISServiceHandler.cpp ===================================== @@ -414,8 +414,10 @@ void MPRISServiceHandler::InitIdentity() { do_GetService("@mozilla.org/xre/app-info;1", &rv); MOZ_ASSERT(NS_SUCCEEDED(rv)); +#ifndef BASE_BROWSER_VERSION rv = appInfo->GetVendor(mIdentity); MOZ_ASSERT(NS_SUCCEEDED(rv)); +#endif if (gAppData) { mDesktopEntry = gAppData->remotingName; @@ -424,7 +426,9 @@ void MPRISServiceHandler::InitIdentity() { MOZ_ASSERT(NS_SUCCEEDED(rv)); } +#ifndef BASE_BROWSER_VERSION mIdentity.Append(' '); +#endif mIdentity.Append(mDesktopEntry); // Compute the desktop entry name like nsAppRunner does for g_set_prgname View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d586e4a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d586e4a… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser] Pushed new tag base-browser-128.3.0esr-14.0-1-build2
by ma1 (@ma1) 08 Oct '24

08 Oct '24
ma1 pushed new tag base-browser-128.3.0esr-14.0-1-build2 at The Tor Project / Applications / Tor Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-128.3.0esr-14.0-1-build4
by ma1 (@ma1) 08 Oct '24

08 Oct '24
ma1 pushed new tag tor-browser-128.3.0esr-14.0-1-build4 at The Tor Project / Applications / Tor Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-128.3.0esr-14.0-1-build3
by ma1 (@ma1) 08 Oct '24

08 Oct '24
ma1 pushed new tag mullvad-browser-128.3.0esr-14.0-1-build3 at The Tor Project / Applications / Mullvad Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.3.0esr-14.0-1] Bug 1923344 - r=smaug, a=dsmith
by ma1 (@ma1) 08 Oct '24

08 Oct '24
ma1 pushed to branch mullvad-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 0375bee4 by Emilio Cobos Álvarez at 2024-10-08T22:01:35+02:00 Bug 1923344 - r=smaug, a=dsmith Differential Revision: https://phabricator.services.mozilla.com/D224958 - - - - - 4 changed files: - dom/animation/AnimationTimeline.cpp - dom/animation/DocumentTimeline.cpp - dom/animation/ScrollTimelineAnimationTracker.cpp - layout/base/nsRefreshDriver.cpp Changes: ===================================== dom/animation/AnimationTimeline.cpp ===================================== @@ -40,41 +40,33 @@ AnimationTimeline::~AnimationTimeline() { mAnimationOrder.clear(); } bool AnimationTimeline::Tick(TickState& aState) { bool needsTicks = false; - nsTArray<Animation*> animationsToRemove; - - for (Animation* animation = mAnimationOrder.getFirst(); animation; - animation = - static_cast<LinkedListElement<Animation>*>(animation)->getNext()) { + AutoTArray<RefPtr<Animation>, 32> animationsToTick; + for (Animation* animation : mAnimationOrder) { MOZ_ASSERT(mAnimations.Contains(animation), "The sampling order list should be a subset of the hashset"); MOZ_ASSERT(!animation->IsHiddenByContentVisibility(), "The sampling order list should not contain any animations " "that are hidden by content-visibility"); + animationsToTick.AppendElement(animation); + } + for (Animation* animation : animationsToTick) { // Skip any animations that are longer need associated with this timeline. if (animation->GetTimeline() != this) { - // If animation has some other timeline, it better not be also in the - // animation list of this timeline object! - MOZ_ASSERT(!animation->GetTimeline()); - animationsToRemove.AppendElement(animation); + RemoveAnimation(animation); continue; } needsTicks |= animation->NeedsTicks(); - // Even if |animation| doesn't need future ticks, we should still - // Tick it this time around since it might just need a one-off tick in - // order to dispatch events. + // Even if |animation| doesn't need future ticks, we should still Tick it + // this time around since it might just need a one-off tick in order to + // queue events. animation->Tick(aState); - if (!animation->NeedsTicks()) { - animationsToRemove.AppendElement(animation); + RemoveAnimation(animation); } } - for (Animation* animation : animationsToRemove) { - RemoveAnimation(animation); - } - return needsTicks; } @@ -90,11 +82,12 @@ void AnimationTimeline::NotifyAnimationUpdated(Animation& aAnimation) { } void AnimationTimeline::RemoveAnimation(Animation* aAnimation) { - MOZ_ASSERT(!aAnimation->GetTimeline() || aAnimation->GetTimeline() == this); - if (static_cast<LinkedListElement<Animation>*>(aAnimation)->isInList()) { + if (static_cast<LinkedListElement<Animation>*>(aAnimation)->isInList() && + MOZ_LIKELY(!aAnimation->GetTimeline() || + aAnimation->GetTimeline() == this)) { + static_cast<LinkedListElement<Animation>*>(aAnimation)->remove(); MOZ_ASSERT(mAnimations.Contains(aAnimation), "The sampling order list should be a subset of the hashset"); - static_cast<LinkedListElement<Animation>*>(aAnimation)->remove(); } mAnimations.Remove(aAnimation); } ===================================== dom/animation/DocumentTimeline.cpp ===================================== @@ -160,7 +160,12 @@ void DocumentTimeline::NotifyAnimationUpdated(Animation& aAnimation) { } void DocumentTimeline::TriggerAllPendingAnimationsNow() { + AutoTArray<RefPtr<Animation>, 32> animationsToTrigger; for (Animation* animation : mAnimationOrder) { + animationsToTrigger.AppendElement(animation); + } + + for (Animation* animation : animationsToTrigger) { animation->TryTriggerNow(); } } @@ -188,9 +193,6 @@ void DocumentTimeline::WillRefresh() { // of mDocument's PresShell. if (nsRefreshDriver* refreshDriver = GetRefreshDriver()) { refreshDriver->EnsureAnimationUpdate(); - } else { - MOZ_ASSERT_UNREACHABLE( - "Refresh driver should still be valid at end of WillRefresh"); } } ===================================== dom/animation/ScrollTimelineAnimationTracker.cpp ===================================== @@ -13,13 +13,10 @@ namespace mozilla { NS_IMPL_CYCLE_COLLECTION(ScrollTimelineAnimationTracker, mPendingSet, mDocument) void ScrollTimelineAnimationTracker::TriggerPendingAnimations() { - for (auto iter = mPendingSet.begin(), end = mPendingSet.end(); iter != end; - ++iter) { - dom::Animation* animation = *iter; - + for (RefPtr<dom::Animation>& animation : + ToTArray<AutoTArray<RefPtr<dom::Animation>, 32>>(mPendingSet)) { MOZ_ASSERT(animation->GetTimeline() && !animation->GetTimeline()->IsMonotonicallyIncreasing()); - // FIXME: Trigger now may not be correct because the spec says: // If a user agent determines that animation is immediately ready, it may // schedule the task (i.e. ResumeAt()) as a microtask such that it runs at @@ -39,9 +36,7 @@ void ScrollTimelineAnimationTracker::TriggerPendingAnimations() { // inactive, and this also matches the current spec definition. continue; } - - // Note: Remove() is legitimately called once per entry during the loop. - mPendingSet.Remove(iter); + mPendingSet.Remove(animation); } } ===================================== layout/base/nsRefreshDriver.cpp ===================================== @@ -2332,8 +2332,15 @@ void nsRefreshDriver::DetermineProximityToViewportAndNotifyResizeObservers() { } static CallState UpdateAndReduceAnimations(Document& aDocument) { - for (DocumentTimeline* timeline : aDocument.Timelines()) { - timeline->WillRefresh(); + { + AutoTArray<RefPtr<DocumentTimeline>, 32> timelinesToTick; + for (DocumentTimeline* timeline : aDocument.Timelines()) { + timelinesToTick.AppendElement(timeline); + } + + for (DocumentTimeline* tl : timelinesToTick) { + tl->WillRefresh(); + } } if (nsPresContext* pc = aDocument.GetPresContext()) { @@ -2363,7 +2370,8 @@ void nsRefreshDriver::UpdateAnimationsAndSendEvents() { // [1]: // https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events nsAutoMicroTask mt; - UpdateAndReduceAnimations(*mPresContext->Document()); + RefPtr doc = mPresContext->Document(); + UpdateAndReduceAnimations(*doc); } // Hold all AnimationEventDispatcher in mAnimationEventFlushObservers as View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/037… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/037… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-128.3.0esr-14.0-1] Bug 1923344 - r=smaug, a=dsmith
by ma1 (@ma1) 08 Oct '24

08 Oct '24
ma1 pushed to branch base-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 04a8d31e by Emilio Cobos Álvarez at 2024-10-08T22:01:24+02:00 Bug 1923344 - r=smaug, a=dsmith Differential Revision: https://phabricator.services.mozilla.com/D224958 - - - - - 4 changed files: - dom/animation/AnimationTimeline.cpp - dom/animation/DocumentTimeline.cpp - dom/animation/ScrollTimelineAnimationTracker.cpp - layout/base/nsRefreshDriver.cpp Changes: ===================================== dom/animation/AnimationTimeline.cpp ===================================== @@ -40,41 +40,33 @@ AnimationTimeline::~AnimationTimeline() { mAnimationOrder.clear(); } bool AnimationTimeline::Tick(TickState& aState) { bool needsTicks = false; - nsTArray<Animation*> animationsToRemove; - - for (Animation* animation = mAnimationOrder.getFirst(); animation; - animation = - static_cast<LinkedListElement<Animation>*>(animation)->getNext()) { + AutoTArray<RefPtr<Animation>, 32> animationsToTick; + for (Animation* animation : mAnimationOrder) { MOZ_ASSERT(mAnimations.Contains(animation), "The sampling order list should be a subset of the hashset"); MOZ_ASSERT(!animation->IsHiddenByContentVisibility(), "The sampling order list should not contain any animations " "that are hidden by content-visibility"); + animationsToTick.AppendElement(animation); + } + for (Animation* animation : animationsToTick) { // Skip any animations that are longer need associated with this timeline. if (animation->GetTimeline() != this) { - // If animation has some other timeline, it better not be also in the - // animation list of this timeline object! - MOZ_ASSERT(!animation->GetTimeline()); - animationsToRemove.AppendElement(animation); + RemoveAnimation(animation); continue; } needsTicks |= animation->NeedsTicks(); - // Even if |animation| doesn't need future ticks, we should still - // Tick it this time around since it might just need a one-off tick in - // order to dispatch events. + // Even if |animation| doesn't need future ticks, we should still Tick it + // this time around since it might just need a one-off tick in order to + // queue events. animation->Tick(aState); - if (!animation->NeedsTicks()) { - animationsToRemove.AppendElement(animation); + RemoveAnimation(animation); } } - for (Animation* animation : animationsToRemove) { - RemoveAnimation(animation); - } - return needsTicks; } @@ -90,11 +82,12 @@ void AnimationTimeline::NotifyAnimationUpdated(Animation& aAnimation) { } void AnimationTimeline::RemoveAnimation(Animation* aAnimation) { - MOZ_ASSERT(!aAnimation->GetTimeline() || aAnimation->GetTimeline() == this); - if (static_cast<LinkedListElement<Animation>*>(aAnimation)->isInList()) { + if (static_cast<LinkedListElement<Animation>*>(aAnimation)->isInList() && + MOZ_LIKELY(!aAnimation->GetTimeline() || + aAnimation->GetTimeline() == this)) { + static_cast<LinkedListElement<Animation>*>(aAnimation)->remove(); MOZ_ASSERT(mAnimations.Contains(aAnimation), "The sampling order list should be a subset of the hashset"); - static_cast<LinkedListElement<Animation>*>(aAnimation)->remove(); } mAnimations.Remove(aAnimation); } ===================================== dom/animation/DocumentTimeline.cpp ===================================== @@ -160,7 +160,12 @@ void DocumentTimeline::NotifyAnimationUpdated(Animation& aAnimation) { } void DocumentTimeline::TriggerAllPendingAnimationsNow() { + AutoTArray<RefPtr<Animation>, 32> animationsToTrigger; for (Animation* animation : mAnimationOrder) { + animationsToTrigger.AppendElement(animation); + } + + for (Animation* animation : animationsToTrigger) { animation->TryTriggerNow(); } } @@ -188,9 +193,6 @@ void DocumentTimeline::WillRefresh() { // of mDocument's PresShell. if (nsRefreshDriver* refreshDriver = GetRefreshDriver()) { refreshDriver->EnsureAnimationUpdate(); - } else { - MOZ_ASSERT_UNREACHABLE( - "Refresh driver should still be valid at end of WillRefresh"); } } ===================================== dom/animation/ScrollTimelineAnimationTracker.cpp ===================================== @@ -13,13 +13,10 @@ namespace mozilla { NS_IMPL_CYCLE_COLLECTION(ScrollTimelineAnimationTracker, mPendingSet, mDocument) void ScrollTimelineAnimationTracker::TriggerPendingAnimations() { - for (auto iter = mPendingSet.begin(), end = mPendingSet.end(); iter != end; - ++iter) { - dom::Animation* animation = *iter; - + for (RefPtr<dom::Animation>& animation : + ToTArray<AutoTArray<RefPtr<dom::Animation>, 32>>(mPendingSet)) { MOZ_ASSERT(animation->GetTimeline() && !animation->GetTimeline()->IsMonotonicallyIncreasing()); - // FIXME: Trigger now may not be correct because the spec says: // If a user agent determines that animation is immediately ready, it may // schedule the task (i.e. ResumeAt()) as a microtask such that it runs at @@ -39,9 +36,7 @@ void ScrollTimelineAnimationTracker::TriggerPendingAnimations() { // inactive, and this also matches the current spec definition. continue; } - - // Note: Remove() is legitimately called once per entry during the loop. - mPendingSet.Remove(iter); + mPendingSet.Remove(animation); } } ===================================== layout/base/nsRefreshDriver.cpp ===================================== @@ -2332,8 +2332,15 @@ void nsRefreshDriver::DetermineProximityToViewportAndNotifyResizeObservers() { } static CallState UpdateAndReduceAnimations(Document& aDocument) { - for (DocumentTimeline* timeline : aDocument.Timelines()) { - timeline->WillRefresh(); + { + AutoTArray<RefPtr<DocumentTimeline>, 32> timelinesToTick; + for (DocumentTimeline* timeline : aDocument.Timelines()) { + timelinesToTick.AppendElement(timeline); + } + + for (DocumentTimeline* tl : timelinesToTick) { + tl->WillRefresh(); + } } if (nsPresContext* pc = aDocument.GetPresContext()) { @@ -2363,7 +2370,8 @@ void nsRefreshDriver::UpdateAnimationsAndSendEvents() { // [1]: // https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events nsAutoMicroTask mt; - UpdateAndReduceAnimations(*mPresContext->Document()); + RefPtr doc = mPresContext->Document(); + UpdateAndReduceAnimations(*doc); } // Hold all AnimationEventDispatcher in mAnimationEventFlushObservers as View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/04a8d31… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/04a8d31… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.3.0esr-14.0-1] Bug 1923344 - r=smaug, a=dsmith
by ma1 (@ma1) 08 Oct '24

08 Oct '24
ma1 pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 02b24a2d by Emilio Cobos Álvarez at 2024-10-08T22:01:13+02:00 Bug 1923344 - r=smaug, a=dsmith Differential Revision: https://phabricator.services.mozilla.com/D224958 - - - - - 4 changed files: - dom/animation/AnimationTimeline.cpp - dom/animation/DocumentTimeline.cpp - dom/animation/ScrollTimelineAnimationTracker.cpp - layout/base/nsRefreshDriver.cpp Changes: ===================================== dom/animation/AnimationTimeline.cpp ===================================== @@ -40,41 +40,33 @@ AnimationTimeline::~AnimationTimeline() { mAnimationOrder.clear(); } bool AnimationTimeline::Tick(TickState& aState) { bool needsTicks = false; - nsTArray<Animation*> animationsToRemove; - - for (Animation* animation = mAnimationOrder.getFirst(); animation; - animation = - static_cast<LinkedListElement<Animation>*>(animation)->getNext()) { + AutoTArray<RefPtr<Animation>, 32> animationsToTick; + for (Animation* animation : mAnimationOrder) { MOZ_ASSERT(mAnimations.Contains(animation), "The sampling order list should be a subset of the hashset"); MOZ_ASSERT(!animation->IsHiddenByContentVisibility(), "The sampling order list should not contain any animations " "that are hidden by content-visibility"); + animationsToTick.AppendElement(animation); + } + for (Animation* animation : animationsToTick) { // Skip any animations that are longer need associated with this timeline. if (animation->GetTimeline() != this) { - // If animation has some other timeline, it better not be also in the - // animation list of this timeline object! - MOZ_ASSERT(!animation->GetTimeline()); - animationsToRemove.AppendElement(animation); + RemoveAnimation(animation); continue; } needsTicks |= animation->NeedsTicks(); - // Even if |animation| doesn't need future ticks, we should still - // Tick it this time around since it might just need a one-off tick in - // order to dispatch events. + // Even if |animation| doesn't need future ticks, we should still Tick it + // this time around since it might just need a one-off tick in order to + // queue events. animation->Tick(aState); - if (!animation->NeedsTicks()) { - animationsToRemove.AppendElement(animation); + RemoveAnimation(animation); } } - for (Animation* animation : animationsToRemove) { - RemoveAnimation(animation); - } - return needsTicks; } @@ -90,11 +82,12 @@ void AnimationTimeline::NotifyAnimationUpdated(Animation& aAnimation) { } void AnimationTimeline::RemoveAnimation(Animation* aAnimation) { - MOZ_ASSERT(!aAnimation->GetTimeline() || aAnimation->GetTimeline() == this); - if (static_cast<LinkedListElement<Animation>*>(aAnimation)->isInList()) { + if (static_cast<LinkedListElement<Animation>*>(aAnimation)->isInList() && + MOZ_LIKELY(!aAnimation->GetTimeline() || + aAnimation->GetTimeline() == this)) { + static_cast<LinkedListElement<Animation>*>(aAnimation)->remove(); MOZ_ASSERT(mAnimations.Contains(aAnimation), "The sampling order list should be a subset of the hashset"); - static_cast<LinkedListElement<Animation>*>(aAnimation)->remove(); } mAnimations.Remove(aAnimation); } ===================================== dom/animation/DocumentTimeline.cpp ===================================== @@ -160,7 +160,12 @@ void DocumentTimeline::NotifyAnimationUpdated(Animation& aAnimation) { } void DocumentTimeline::TriggerAllPendingAnimationsNow() { + AutoTArray<RefPtr<Animation>, 32> animationsToTrigger; for (Animation* animation : mAnimationOrder) { + animationsToTrigger.AppendElement(animation); + } + + for (Animation* animation : animationsToTrigger) { animation->TryTriggerNow(); } } @@ -188,9 +193,6 @@ void DocumentTimeline::WillRefresh() { // of mDocument's PresShell. if (nsRefreshDriver* refreshDriver = GetRefreshDriver()) { refreshDriver->EnsureAnimationUpdate(); - } else { - MOZ_ASSERT_UNREACHABLE( - "Refresh driver should still be valid at end of WillRefresh"); } } ===================================== dom/animation/ScrollTimelineAnimationTracker.cpp ===================================== @@ -13,13 +13,10 @@ namespace mozilla { NS_IMPL_CYCLE_COLLECTION(ScrollTimelineAnimationTracker, mPendingSet, mDocument) void ScrollTimelineAnimationTracker::TriggerPendingAnimations() { - for (auto iter = mPendingSet.begin(), end = mPendingSet.end(); iter != end; - ++iter) { - dom::Animation* animation = *iter; - + for (RefPtr<dom::Animation>& animation : + ToTArray<AutoTArray<RefPtr<dom::Animation>, 32>>(mPendingSet)) { MOZ_ASSERT(animation->GetTimeline() && !animation->GetTimeline()->IsMonotonicallyIncreasing()); - // FIXME: Trigger now may not be correct because the spec says: // If a user agent determines that animation is immediately ready, it may // schedule the task (i.e. ResumeAt()) as a microtask such that it runs at @@ -39,9 +36,7 @@ void ScrollTimelineAnimationTracker::TriggerPendingAnimations() { // inactive, and this also matches the current spec definition. continue; } - - // Note: Remove() is legitimately called once per entry during the loop. - mPendingSet.Remove(iter); + mPendingSet.Remove(animation); } } ===================================== layout/base/nsRefreshDriver.cpp ===================================== @@ -2332,8 +2332,15 @@ void nsRefreshDriver::DetermineProximityToViewportAndNotifyResizeObservers() { } static CallState UpdateAndReduceAnimations(Document& aDocument) { - for (DocumentTimeline* timeline : aDocument.Timelines()) { - timeline->WillRefresh(); + { + AutoTArray<RefPtr<DocumentTimeline>, 32> timelinesToTick; + for (DocumentTimeline* timeline : aDocument.Timelines()) { + timelinesToTick.AppendElement(timeline); + } + + for (DocumentTimeline* tl : timelinesToTick) { + tl->WillRefresh(); + } } if (nsPresContext* pc = aDocument.GetPresContext()) { @@ -2363,7 +2370,8 @@ void nsRefreshDriver::UpdateAnimationsAndSendEvents() { // [1]: // https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events nsAutoMicroTask mt; - UpdateAndReduceAnimations(*mPresContext->Document()); + RefPtr doc = mPresContext->Document(); + UpdateAndReduceAnimations(*doc); } // Hold all AnimationEventDispatcher in mAnimationEventFlushObservers as View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/02b24a2… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/02b24a2… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.3.0esr-14.0-1] fixup! [android] Modify add-on support
by ma1 (@ma1) 08 Oct '24

08 Oct '24
ma1 pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: d1579ad1 by hackademix at 2024-10-08T14:25:29+02:00 fixup! [android] Modify add-on support Bug 43132: Enable scriptless installation on Android. - - - - - 4 changed files: - mobile/shared/modules/geckoview/GeckoViewWebExtension.sys.mjs - toolkit/mozapps/extensions/AddonManager.sys.mjs - toolkit/mozapps/extensions/components.conf - toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs Changes: ===================================== mobile/shared/modules/geckoview/GeckoViewWebExtension.sys.mjs ===================================== @@ -354,7 +354,9 @@ async function exportExtension(aAddon, aSourceURI) { disabledFlags.push("appVersionDisabled"); } const baseURL = policy ? policy.getURL() : ""; - const privateBrowsingAllowed = policy ? policy.privateBrowsingAllowed : false; + const privateBrowsingAllowed = policy + ? policy.privateBrowsingAllowed + : lazy.PrivateBrowsingUtils.permanentPrivateBrowsing; let updateDate; try { @@ -509,6 +511,9 @@ class ExtensionInstallListener { async onInstallEnded(aInstall, aAddon) { debug`onInstallEnded addonId=${aAddon.id}`; + if (lazy.PrivateBrowsingUtils.permanentPrivateBrowsing) { + await GeckoViewWebExtension.setPrivateBrowsingAllowed(aAddon.id, true); + } const extension = await exportExtension(aAddon, aInstall.sourceURI); this.resolve({ extension }); } ===================================== toolkit/mozapps/extensions/AddonManager.sys.mjs ===================================== @@ -83,7 +83,10 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { AbuseReporter: "resource://gre/modules/AbuseReporter.sys.mjs", AddonRepository: "resource://gre/modules/addons/AddonRepository.sys.mjs", + GeckoViewWebExtension: "resource://gre/modules/GeckoViewWebExtension.sys.mjs", + EventDispatcher: "resource://gre/modules/Messaging.sys.mjs", Extension: "resource://gre/modules/Extension.sys.mjs", + PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", TelemetryTimestamps: "resource://gre/modules/TelemetryTimestamps.sys.mjs", isGatedPermissionType: @@ -2346,6 +2349,24 @@ var AddonManagerInternal = { return promiseInstall; }, + async installGeckoViewWebExtension(extensionUri) { + const installId = Services.uuid.generateUUID().toString(); + let { extension } = await lazy.GeckoViewWebExtension.installWebExtension( + installId, + extensionUri + ); + if (lazy.PrivateBrowsingUtils.permanentPrivateBrowsing) { + extension = await lazy.GeckoViewWebExtension.setPrivateBrowsingAllowed( + extension.webExtensionId, + true + ); + } + await lazy.EventDispatcher.instance.sendRequest({ + type: "GeckoView:WebExtension:OnInstalled", + extension, + }); + }, + /** * Starts installation of an AddonInstall notifying the registered * web install listener of a blocked or started install. @@ -2518,6 +2539,10 @@ var AddonManagerInternal = { ); if (installAllowed) { + if (AppConstants.platform == "android") { + aInstall.cancel(); + return this.installGeckoViewWebExtension(aInstall.sourceURI); + } startInstall("AMO"); } else if (installPerm === Ci.nsIPermissionManager.DENY_ACTION) { // Block without prompt ===================================== toolkit/mozapps/extensions/components.conf ===================================== @@ -32,14 +32,13 @@ Classes = [ 'esModule': 'resource://gre/modules/amWebAPI.sys.mjs', 'constructor': 'WebAPI', }, + # tor-browser#43132: re-enable XPI handler on Android to allow scriptless extensions installation. + # This reverts https://bugzilla.mozilla.org/show_bug.cgi?id=1610571, which made sense for generic + # GeckoView extensionless embedders and for Firefox, relying on navigator.mozAddonManager. + { + 'cid': '{7beb3ba8-6ec3-41b4-b67c-da89b8518922}', + 'contract_ids': ['@mozilla.org/uriloader/content-handler;1?type=application/x-xpinstall'], + 'esModule': 'resource://gre/modules/amContentHandler.sys.mjs', + 'constructor': 'amContentHandler', + }, ] - -if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android': - Classes += [ - { - 'cid': '{7beb3ba8-6ec3-41b4-b67c-da89b8518922}', - 'contract_ids': ['@mozilla.org/uriloader/content-handler;1?type=application/x-xpinstall'], - 'esModule': 'resource://gre/modules/amContentHandler.sys.mjs', - 'constructor': 'amContentHandler', - }, - ] ===================================== toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs ===================================== @@ -4475,6 +4475,11 @@ export var XPIInstall = { return false; } + // tor-browser#43132: short-circuit permission check on Android scriptless install from AMO + if (AppConstants.platform == "android" && uri.prePath == "https://addons.mozilla.org") { + return true; + } + let requireWhitelist = Services.prefs.getBoolPref( PREF_XPI_WHITELIST_REQUIRED, true View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d1579ad… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d1579ad… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new tag mb-13.5.7-build2
by morgan (@morgan) 08 Oct '24

08 Oct '24
morgan pushed new tag mb-13.5.7-build2 at The Tor Project / Applications / tor-browser-build -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/mb-… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new tag tbb-13.5.7-build2
by morgan (@morgan) 08 Oct '24

08 Oct '24
morgan pushed new tag tbb-13.5.7-build2 at The Tor Project / Applications / tor-browser-build -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • ...
  • 2045
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.