Bug 1373739 - Make macOS compatible with the headless WPT changes. r?bdahl
MozReview-Commit-ID: BeDPpG6G6Iy
--- a/accessible/mac/AccessibleWrap.mm
+++ b/accessible/mac/AccessibleWrap.mm
@@ -4,16 +4,17 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "DocAccessible.h"
#include "nsObjCExceptions.h"
#include "Accessible-inl.h"
#include "nsAccUtils.h"
#include "Role.h"
+#include "gfxPlatform.h"
#import "mozAccessible.h"
#import "mozActionElements.h"
#import "mozHTMLAccessible.h"
#import "mozTableAccessible.h"
#import "mozTextAccessible.h"
using namespace mozilla;
@@ -181,16 +182,22 @@ AccessibleWrap::AncestorIsFlat()
return false;
}
void
a11y::FireNativeEvent(mozAccessible* aNativeAcc, uint32_t aEventType)
{
NS_OBJC_BEGIN_TRY_ABORT_BLOCK;
+ // Under headless mode we don't have access to a native window, so we skip
+ // dispatching native events.
+ if (gfxPlatform::IsHeadless()) {
+ return;
+ }
+
switch (aEventType) {
case nsIAccessibleEvent::EVENT_FOCUS:
[aNativeAcc didReceiveFocus];
break;
case nsIAccessibleEvent::EVENT_VALUE_CHANGE:
case nsIAccessibleEvent::EVENT_TEXT_VALUE_CHANGE:
[aNativeAcc valueDidChange];
break;
--- a/widget/PlatformWidgetTypes.ipdlh
+++ b/widget/PlatformWidgetTypes.ipdlh
@@ -12,15 +12,10 @@ include HeadlessWidgetTypes;
namespace mozilla {
namespace widget {
union CompositorWidgetInitData
{
HeadlessCompositorWidgetInitData;
};
-struct HeadlessCompositorWidgetInitData
-{
- LayoutDeviceIntSize InitialClientSize;
-};
-
} // namespace widget
} // namespace mozilla