Skip to content

Commit 081a9eb

Browse files
authored
Merge pull request #272 from rmottola/dev
finalize 46.2
2 parents bfcc826 + f755f4f commit 081a9eb

1,399 files changed

Lines changed: 21548 additions & 11524 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,11 @@ devtools/client/commandline/**
8080
devtools/client/debugger/**
8181
devtools/client/eyedropper/**
8282
devtools/client/framework/**
83+
!devtools/client/framework/selection.js
8384
devtools/client/jsonview/lib/**
8485
devtools/client/memory/**
8586
devtools/client/netmonitor/test/**
8687
devtools/client/netmonitor/har/test/**
87-
devtools/client/performance/**
8888
devtools/client/projecteditor/**
8989
devtools/client/promisedebugger/**
9090
devtools/client/responsivedesign/**
@@ -96,7 +96,7 @@ devtools/client/shared/components/test/**
9696
devtools/client/shared/redux/middleware/test/**
9797
devtools/client/shared/test/**
9898
devtools/client/shared/widgets/*.jsm
99-
devtools/client/sourceeditor/**
99+
devtools/client/sourceeditor/test/*.js
100100
devtools/client/webaudioeditor/**
101101
devtools/client/webconsole/**
102102
!devtools/client/webconsole/panel.js
@@ -116,9 +116,12 @@ devtools/server/**
116116
!devtools/server/actors/string.js
117117
!devtools/server/actors/csscoverage.js
118118
devtools/shared/*.js
119+
!devtools/shared/async-storage.js
120+
!devtools/shared/async-utils.js
119121
!devtools/shared/css-lexer.js
120122
!devtools/shared/defer.js
121123
!devtools/shared/event-emitter.js
124+
!devtools/shared/indentation.js
122125
!devtools/shared/loader-plugin-raw.jsm
123126
!devtools/shared/task.js
124127
devtools/shared/*.jsm

accessible/base/ARIAMap.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,16 @@ static const nsRoleMapEntry sWAIRoleMaps[] =
197197
kNoReqStates,
198198
eReadonlyUntilEditable
199199
},
200+
{ // feed
201+
&nsGkAtoms::feed,
202+
roles::GROUPING,
203+
kUseMapRole,
204+
eNoValue,
205+
eNoAction,
206+
eNoLiveAttr,
207+
kGenericAccType,
208+
kNoReqStates
209+
},
200210
{ // form
201211
&nsGkAtoms::form,
202212
roles::FORM,

accessible/base/DocManager.cpp

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,23 @@ void
8989
DocManager::NotifyOfDocumentShutdown(DocAccessible* aDocument,
9090
nsIDocument* aDOMDocument)
9191
{
92+
// We need to remove listeners in both cases, when document is being shutdown
93+
// or when accessibility service is being shut down as well.
94+
RemoveListeners(aDOMDocument);
95+
96+
// Document will already be removed when accessibility service is shutting
97+
// down so we do not need to remove it twice.
98+
if (nsAccessibilityService::IsShutdown()) {
99+
return;
100+
}
101+
92102
xpcAccessibleDocument* xpcDoc = mXPCDocumentCache.GetWeak(aDocument);
93103
if (xpcDoc) {
94104
xpcDoc->Shutdown();
95105
mXPCDocumentCache.Remove(aDocument);
96106
}
97107

98108
mDocAccessibleCache.Remove(aDOMDocument);
99-
RemoveListeners(aDOMDocument);
100109
}
101110

102111
void
@@ -530,9 +539,6 @@ DocManager::CreateDocOrRootAccessible(nsIDocument* aDocument)
530539
void
531540
DocManager::ClearDocCache()
532541
{
533-
// This unusual do-one-element-per-iterator approach is required because each
534-
// DocAccessible is removed elsewhere upon its Shutdown() method being
535-
// called, which invalidates the existing iterator.
536542
while (mDocAccessibleCache.Count() > 0) {
537543
auto iter = mDocAccessibleCache.Iter();
538544
MOZ_ASSERT(!iter.Done());
@@ -542,7 +548,23 @@ DocManager::ClearDocCache()
542548
if (docAcc) {
543549
docAcc->Shutdown();
544550
}
551+
552+
iter.Remove();
545553
}
554+
555+
// Ensure that all xpcom accessible documents are shut down as well.
556+
while (mXPCDocumentCache.Count() > 0) {
557+
auto iter = mXPCDocumentCache.Iter();
558+
MOZ_ASSERT(!iter.Done());
559+
xpcAccessibleDocument* xpcDoc = iter.UserData();
560+
NS_ASSERTION(xpcDoc, "No xpc doc for the object in xpc doc cache!");
561+
562+
if (xpcDoc) {
563+
xpcDoc->Shutdown();
564+
}
565+
566+
iter.Remove();
567+
}
546568
}
547569

548570
void

0 commit comments

Comments
 (0)