From 67e04cfead9fe2cc53d7169aeab96d8126bbef39 Mon Sep 17 00:00:00 2001 From: roytam1 Date: Thu, 9 Nov 2023 16:35:18 +0800 Subject: [PATCH] import changes from `dev' branch of rmottola/Arctic-Fox: - Bug 1236750 - Introduce a new unit type CSSTransformedLayerPixel. r=kats (4e9bba3d19) - Bug 1236750 - Add a ViewAs() overload for casting (with a justification) one typed matrix to another. r=kats (c48e143508) - Bug 1236750 - Add some specialized typedefs of Matrix4x4 to represent layer transform matrices. r=kats (cc50113c98) - Bug 1239300 - reject promise with null while creating imagebitmap from empty blob; r=smaug (bff7483bf1) - Bug 1233056 - Long tapping on a link will select a different link from the page r=tnikkel (3a727b33c1) - Bug 1245674. Null-check mGlobal before dereferencing it in one more place in Promise code. r=smaug (68cf5312dc) - Bug 1236750 - Use strongly-typed matrices to represent layer transforms in APZ code. r=kats (63931eb2a1) - Bug 1236750 - Add typed getters for layer transform matrices. r=kats (baef978fe1) - Bug 1147673 - Relax the ancestor transform assertion a little. r=kats (ec9ce47ba4) - Bug 1154161 Initialize WidgetQueryContentEvent::mReply r=smaug (6086291313) - Bug 1240921 - Use nsAutoTArray in nsStyleSet::RuleNodeWithReplacement. r=bz. (66f6823b46) - Bug 1229437 part 1 - Add a helper function to get the float containing block of a given frame. r=dbaron (72de452e5d) - Bug 1229437 part 2 - Reparent floats inside pulled ruby segment. r=dbaron (82cc44632d) - Bug 1229437 part 3 - Support iterating frames of RubyColumn. r=dholbert (5d43e7f6ff) - Bug 1229437 part 4 - Reparent floats inside pulled ruby column. r=dbaron (4c1a7ff20b) - Bug 1229437 part 5 - Add crashtests for this bug. r=dbaron (6afabe1604) - Bug 1229437 followup - Fix sign-compare error in RubyColumn::Iterator on CLOSED TREE. (e93453d00a) - Bug 1229437 followup 2 - Fix another sign-compare error in RubyColumn::Iterator on CLOSED TREE. (c0bf6a2a7b) - Bug 1229437 followup 3 - Fix a mistake in RubyColumn::Iterator::SkipUntilExistingFrame(). a=me (1ce408e194) - bits of Bug 1072150 - Use the opt-out for various sloppy consumers (29d97c59ca) - Make test_bug946632 compatible with asynchronous scrolling. (bug 1140293, r=mstange) (e975a8350c) - fix misspatch of 1072150 (a3e580fa4b) - Bug 686281 - Implement nsStyleImageLayers; r=dbaron (85bb33c8e6) - Bug 686281 - Rename *background* to *imagelayer*; r=dbaron. (36d90f112d) - Bug 1230034 part 4 - Make FramePropertyDescriptor to be a template. r=froydnj,dbaron (271cd19b6e) - Bug 1230034 part 5 - Convert all frame properties which use DeleteValue and ReleaseValue as destructor to be typesafe. r=dbaron (efc8d63c9d) - Bug 1230034 part 6 - Convert all frame properties which do not hold pointer to be typed. r=dbaron (b5541775f7) - Bug 1230034 part 7 - Convert nsIFrame::GenConProperty to be typed. r=dbaron (2b71527b2c) - Bug 1230034 part 8 - Convert frame properties which assert on destructor to be typed. r=dbaron (0f125a3414) - Bug 1230034 part 9 - Convert FrameLayerBuilder::LayerManagerDataProperty to be typed. r=dbaron (1147498c2f) - Bug 1230034 part 10 - Convert remaining frame properties to by typed and remove the unsafe declaring macro. r=dbaron (d59d94eac4) - Bug 1072501: Unmap file mapping on source surface destruction. r=jrmuizel (19fd63890a) - Bug 1235613 - Make gfxCriticalError/Note strings in gfx/ unique. r=jrmuizel (780c6ff862) - Bug 1247535 - Fix -Wunreachable-code warning in mfbt/Poison.cpp. r=froydnj (0e7cf60b6d) - Bug 1239479: Add comments to mfbt/XorShift128PlusRNG.h from the RNG's designer. DONTBUILD r=Waldo (bb674b07ce) - Add an assertion message to the assert-is-empty in LinkedList::~LinkedList, to indicate to users who hit it that it's the fault of the caller, not the fault of MFBT code. No bug, rs=froydnj (4cad80874c) - Bug 1221103 - Add a comment to nsIChannel::securityInfo noting that this info may appear on non-nsHttpChannels and how that may happen. r=bz IGNORE IDL (cd9cebc3f2) - Bug 1001765 - Make login credentials in Saved Passwords manager editable. r=MattN (09eec4f6f8) - Bug 1188478 - Add an Import button to the password manager to open the browser migrator. r=dolske (d1126a89fc) - Bug 1199382 - Rename some strings from "password" to "login" in preferences and the manager. r=markh (60638f5e2a) - Bug 1207733 - Update @disabled on the Remove Password button when selection changes. r=MattN (64ac9f22f6) - bits of 1124472 and 1166840 (26e2681183) - Bug 1219707 - fix argument passing to migration.js, r=jaws (55d332f5c6) - bug 1215657 - make AccessibleWrap::get_accSelection work with proxies=davidb (4e72111032) - fix missing telemetry entry (4fcfabb3e6) and follow-up API changes of TFF#493. --- accessible/windows/msaa/AccessibleWrap.cpp | 12 +- browser/components/preferences/security.xul | 6 +- .../chrome/browser/preferences/security.dtd | 10 +- dom/base/nsContentUtils.cpp | 2 +- dom/base/nsDOMWindowUtils.cpp | 18 +- dom/canvas/ImageBitmap.cpp | 6 +- dom/canvas/test/imagebitmap_bug1239300.js | 19 ++ dom/canvas/test/imagebitmap_on_worker.js | 5 + dom/canvas/test/mochitest.ini | 9 + dom/canvas/test/test_imagebitmap.html | 2 + .../test/test_imagebitmap_on_worker.html | 3 + dom/events/Event.cpp | 2 +- dom/events/test/test_bug946632.html | 50 ++-- dom/promise/Promise.cpp | 8 +- dom/promise/Promise.h | 2 + gfx/2d/DrawTargetD2D1.cpp | 4 +- gfx/2d/Factory.cpp | 6 +- gfx/2d/SourceSurfaceD2D1.cpp | 4 +- gfx/2d/SourceSurfaceD2DTarget.cpp | 4 +- gfx/layers/BufferTexture.cpp | 6 +- gfx/layers/LayerMetricsWrapper.h | 6 + gfx/layers/Layers.cpp | 12 + gfx/layers/Layers.h | 12 +- gfx/layers/LayersTypes.h | 17 ++ gfx/layers/TextureDIB.cpp | 129 ++++++--- gfx/layers/TextureDIB.h | 2 - gfx/layers/apz/src/APZCTreeManager.cpp | 28 +- gfx/layers/apz/src/APZUtils.h | 12 + gfx/layers/apz/src/AsyncPanZoomController.cpp | 11 +- gfx/layers/apz/src/AsyncPanZoomController.h | 4 +- gfx/layers/apz/src/HitTestingTreeNode.cpp | 15 +- gfx/layers/apz/src/HitTestingTreeNode.h | 4 +- gfx/layers/client/TextureClient.cpp | 1 - gfx/layers/client/TiledContentClient.cpp | 10 +- .../composite/AsyncCompositionManager.cpp | 88 +++--- .../composite/AsyncCompositionManager.h | 17 +- .../composite/ContainerLayerComposite.cpp | 4 +- gfx/layers/d3d11/TextureD3D11.cpp | 12 +- gfx/layers/d3d9/DeviceManagerD3D9.cpp | 34 +-- gfx/layers/d3d9/TextureD3D9.cpp | 8 +- gfx/layers/opengl/GrallocTextureClient.cpp | 4 +- gfx/thebes/gfxWindowsPlatform.cpp | 4 +- layout/base/ActiveLayerTracker.cpp | 10 +- layout/base/FrameLayerBuilder.cpp | 18 +- layout/base/FrameLayerBuilder.h | 4 +- layout/base/FramePropertyTable.cpp | 21 +- layout/base/FramePropertyTable.h | 230 ++++++++++++---- layout/base/RestyleManager.cpp | 5 +- layout/base/RestyleTracker.h | 8 +- layout/base/UnitTransforms.h | 19 +- layout/base/Units.h | 24 ++ layout/base/nsBidi.h | 14 +- layout/base/nsBidiPresUtils.cpp | 30 +- layout/base/nsCSSFrameConstructor.cpp | 8 +- layout/base/nsCSSRendering.cpp | 214 ++++++++------- layout/base/nsCSSRendering.h | 40 +-- layout/base/nsDisplayList.cpp | 69 +++-- layout/base/nsDisplayList.h | 7 +- layout/base/nsLayoutUtils.cpp | 42 ++- layout/base/nsLayoutUtils.h | 11 + layout/forms/nsTextControlFrame.cpp | 3 +- layout/forms/nsTextControlFrame.h | 11 +- layout/generic/RubyUtils.cpp | 47 +++- layout/generic/RubyUtils.h | 48 ++++ layout/generic/StickyScrollContainer.cpp | 4 +- layout/generic/crashtests/1229437-1.html | 8 + layout/generic/crashtests/1229437-2.html | 5 + layout/generic/crashtests/crashtests.list | 2 + layout/generic/nsBlockFrame.cpp | 36 +-- layout/generic/nsBlockFrame.h | 4 +- layout/generic/nsBulletFrame.cpp | 17 +- layout/generic/nsCanvasFrame.cpp | 7 +- layout/generic/nsCanvasFrame.h | 4 +- layout/generic/nsContainerFrame.cpp | 50 ++-- layout/generic/nsContainerFrame.h | 35 +-- layout/generic/nsFlexContainerFrame.cpp | 2 +- layout/generic/nsFloatManager.cpp | 2 +- layout/generic/nsFontInflationData.cpp | 4 +- layout/generic/nsFrame.cpp | 55 ++-- layout/generic/nsGfxScrollFrame.cpp | 2 +- layout/generic/nsGridContainerFrame.cpp | 4 +- layout/generic/nsGridContainerFrame.h | 18 +- layout/generic/nsHTMLReflowState.cpp | 4 +- layout/generic/nsIFrame.h | 115 +++++--- layout/generic/nsInlineFrame.cpp | 13 +- layout/generic/nsRubyBaseContainerFrame.cpp | 37 ++- layout/generic/nsRubyFrame.cpp | 20 +- layout/generic/nsRubyFrame.h | 3 +- layout/generic/nsTextFrame.cpp | 65 ++--- layout/mathml/nsMathMLContainerFrame.cpp | 8 +- layout/mathml/nsMathMLmtableFrame.cpp | 14 +- layout/style/Declaration.cpp | 20 +- layout/style/StyleAnimationValue.cpp | 30 +- layout/style/nsCSSParser.cpp | 189 ++++++------- layout/style/nsCSSPropList.h | 22 +- layout/style/nsCSSProps.cpp | 66 ++--- layout/style/nsCSSProps.h | 12 +- layout/style/nsCSSValue.cpp | 4 +- layout/style/nsComputedDOMStyle.cpp | 91 +++--- layout/style/nsComputedDOMStyle.h | 11 +- layout/style/nsRuleNode.cpp | 259 +++++++++--------- layout/style/nsStyleConsts.h | 75 ++--- layout/style/nsStyleSet.cpp | 4 +- layout/style/nsStyleStruct.cpp | 253 +++++++++-------- layout/style/nsStyleStruct.h | 114 +++++--- layout/style/nsStyleUtil.cpp | 4 +- layout/svg/SVGTextFrame.cpp | 6 +- layout/svg/nsSVGEffects.cpp | 22 +- layout/svg/nsSVGEffects.h | 47 ++-- layout/svg/nsSVGUtils.h | 8 +- layout/tables/nsTableFrame.cpp | 8 +- layout/tables/nsTableFrame.h | 4 +- layout/tables/nsTablePainter.cpp | 6 +- layout/tables/nsTableRowFrame.cpp | 6 +- layout/tables/nsTableRowGroupFrame.cpp | 7 +- layout/xul/nsMenuFrame.cpp | 13 +- mfbt/LinkedList.h | 7 +- mfbt/Poison.cpp | 4 +- mfbt/XorShift128PlusRNG.h | 24 +- netwerk/base/nsIChannel.idl | 11 +- .../passwordmgr/content/passwordManager.js | 62 ++++- .../passwordmgr/content/passwordManager.xul | 10 +- .../content/passwordManagerExceptions.xul | 4 +- toolkit/components/passwordmgr/moz.build | 3 + .../passwordmgr/test/browser/browser.ini | 1 + .../browser/browser_passwordmgr_editing.js | 126 +++++++++ toolkit/components/telemetry/Histograms.json | 52 +++- .../chrome/passwordmgr/passwordManager.dtd | 11 +- .../chrome/passwordmgr/passwordmgr.properties | 2 - widget/TextEvents.h | 26 +- 130 files changed, 2222 insertions(+), 1435 deletions(-) create mode 100644 dom/canvas/test/imagebitmap_bug1239300.js create mode 100644 layout/generic/crashtests/1229437-1.html create mode 100644 layout/generic/crashtests/1229437-2.html create mode 100644 toolkit/components/passwordmgr/test/browser/browser_passwordmgr_editing.js diff --git a/accessible/windows/msaa/AccessibleWrap.cpp b/accessible/windows/msaa/AccessibleWrap.cpp index 30969d688f..b159e23b29 100644 --- a/accessible/windows/msaa/AccessibleWrap.cpp +++ b/accessible/windows/msaa/AccessibleWrap.cpp @@ -838,7 +838,17 @@ AccessibleWrap::get_accSelection(VARIANT __RPC_FAR *pvarChildren) if (IsSelect()) { nsAutoTArray selectedItems; - SelectedItems(&selectedItems); + if (IsProxy()) { + nsTArray proxies; + Proxy()->SelectedItems(&proxies); + + uint32_t selectedCount = proxies.Length(); + for (uint32_t i = 0; i < selectedCount; i++) { + selectedItems.AppendElement(WrapperFor(proxies[i])); + } + } else { + SelectedItems(&selectedItems); + } // 1) Create and initialize the enumeration RefPtr pEnum = new AccessibleEnumerator(selectedItems); diff --git a/browser/components/preferences/security.xul b/browser/components/preferences/security.xul index 43352b926c..95f2dfd991 100644 --- a/browser/components/preferences/security.xul +++ b/browser/components/preferences/security.xul @@ -93,11 +93,11 @@ - +